vLLM: Solusi Cepat dan Efisien untuk Menangani Tantangan Komputasi LLM
Inovasi dalam bidang kecerdasan buatan (AI) semakin maju dengan munculnya Large Language Models (LLM). Model seperti GPT-3 telah merevolusi pemahaman bahasa alami. Kapasitas model ini untuk menginterpretasikan data yang ada dan menghasilkan teks yang mirip dengan manusia memberikan potensi besar dalam membentuk masa depan AI dan membuka peluang baru untuk interaksi dan komunikasi manusia-mesin. Namun, kendala utama yang sering terkait dengan model ini adalah ketidakefisienan komputasinya, mengakibatkan kinerja yang lambat bahkan pada perangkat keras terkuat. Training model seperti ini membutuhkan sumber daya komputasi, memori, dan daya pemrosesan yang besar. Selain itu, arsitektur yang kompleks dengan waktu respons yang lambat dapat membuat model ini tidak praktis untuk aplikasi real-time atau interaktif. Oleh karena itu, penting untuk menemukan solusi atas tantangan ini agar potensi penuh dari LLM dapat diungkap dan manfaatnya dapat diakses secara lebih luas.
Untuk mengatasi masalah ini, para peneliti dari University of California, Berkeley telah mengembangkan vLLM, sebuah perpustakaan open-source yang merupakan alternatif yang lebih sederhana, cepat, dan murah untuk inferensi dan servis LLM. Organisasi Large Model Systems (LMSYS) saat ini menggunakan perpustakaan ini untuk menggerakkan Vicuna dan Chatbot Arena mereka. Dengan beralih ke vLLM sebagai backend mereka, dibandingkan dengan backend awal yang berbasis HuggingFace Transformers, organisasi riset ini berhasil mengatasi lalu lintas puncak dengan efisien (5 kali lebih banyak dari sebelumnya) sambil menggunakan sumber daya komputasi terbatas dan mengurangi biaya operasional yang tinggi. Saat ini, vLLM mendukung beberapa model HuggingFace seperti GPT-2, GPT BigCode, dan LLaMA. vLLM mencapai tingkat throughput yang 24 kali lebih tinggi dari HuggingFace Transformers sambil mempertahankan arsitektur model yang sama dan tanpa memerlukan modifikasi apa pun.
Salah satu temuan awal dari peneliti Berkeley adalah masalah terkait memori yang menjadi kendala utama dalam kinerja LLM. LLM menggunakan token input untuk menghasilkan tensor perhatian kunci dan nilai, yang kemudian disimpan dalam memori GPU untuk menghasilkan token berikutnya. Tensor perhatian ini, yang dikenal sebagai KV cache, memakan sebagian besar memori dan mengelolanya menjadi tugas yang rumit. Untuk mengatasi tantangan ini, para peneliti memperkenalkan konsep inovatif PagedAttention, sebuah algoritma perhatian baru yang memperluas konsep paging dalam sistem operasi ke servis LLM. PagedAttention menawarkan pendekatan yang lebih fleksibel dalam mengelola kunci dan nilai tensor dengan menyimpannya dalam ruang memori yang tidak berurutan, menghilangkan kebutuhan akan blok memori panjang yang kontinu. Blok ini dapat diambil secara independen menggunakan tabel blok selama perhitungan perhatian, yang menghasilkan penggunaan memori yang lebih efisien. Dengan menggunakan teknik cerdik ini, pemborosan memori dapat dikurangi menjadi kurang dari 4%, menghasilkan penggunaan memori yang mendekati optimal. Selain itu, PagedAttention dapat mengelompokkan 5x lebih banyak urutan bersama-sama, sehingga meningkatkan penggunaan GPU dan throughput.
PagedAttention menawarkan manfaat tambahan berupa pembagian memori yang efisien. Selama penyampelan paralel, yaitu ketika beberapa urutan output dibuat secara bersamaan dari satu prompt, PagedAttention memungkinkan berbagi sumber daya komputasi dan memori yang terkait dengan prompt tersebut. Hal ini dicapai dengan menggunakan tabel blok, di mana urutan yang berbeda dalam PagedAttention dapat berbagi blok dengan memetakan blok logis ke blok fisik yang sama. Dengan memanfaatkan mekanisme pembagian memori ini, PagedAttention tidak hanya meminimalkan penggunaan memori tetapi juga memastikan pembagian yang aman. Evaluasi eksperimental yang dilakukan oleh para peneliti mengungkapkan bahwa penyampelan paralel dapat mengurangi penggunaan memori sebesar 55%, sehingga meningkatkan throughput sebesar 2,2 kali.
Untuk menyimpulkan, vLLM secara efektif mengelola memori kunci perhatian dan nilai melalui implementasi mekanisme PagedAttention. Hal ini menghasilkan kinerja throughput yang luar biasa. Selain itu, vLLM dapat terintegrasi dengan model-model HuggingFace yang terkenal dan dapat digunakan bersama dengan algoritma decoding yang berbeda, seperti penyampelan paralel. Perpustakaan ini dapat diinstal menggunakan perintah pip yang sederhana dan saat ini tersedia untuk inferensi offline dan servis online.
Dengan adanya vLLM, tantangan komputasi LLM dapat diatasi dengan cara yang lebih cepat dan efisien. Inovasi ini membuka pintu untuk penggunaan LLM yang lebih luas dan mempercepat kehadiran AI dalam berbagai aplikasi praktis. Dalam kata lain, vLLM adalah langkah maju yang signifikan dalam memanfaatkan potensi penuh dari Large Language Models.
Disarikan dari: Source