Ketika percakapan manusia-AI melibatkan banyak putaran dialog yang berkelanjutan, model pembelajaran mesin bahasa besar yang kuat yang menggerakkan chatbot seperti ChatGPT terkadang mulai tidak berfungsi, menyebabkan kinerja bot menurun dengan cepat.

Sebuah tim peneliti dari MIT dan tempat lain telah menunjukkan penyebab mengejutkan dari masalah ini dan mengembangkan solusi sederhana yang memungkinkan chatbot mempertahankan percakapan tanpa henti tanpa terhenti atau melambat.

Metode mereka melibatkan penyesuaian pada cache nilai kunci (yang seperti memori percakapan) sebagai inti dari banyak model bahasa besar. Dalam beberapa metode, ketika cache ini perlu menyimpan lebih banyak informasi daripada kapasitasnya, potongan data pertama akan dikeluarkan. Hal ini dapat menyebabkan model gagal.

Dengan memastikan bahwa beberapa titik data pertama ini tetap tersimpan dalam memori, metode para peneliti memungkinkan chatbot untuk terus mengobrol tidak peduli berapa lama percakapan berlangsung.

Metode yang disebut StreamingLLM ini memungkinkan model tetap efisien bahkan ketika percakapan berlangsung lebih dari 4 juta kata. Jika dibandingkan dengan metode lain yang menghindari error dengan terus menghitung ulang sebagian percakapan sebelumnya, StreamingLLM bekerja lebih dari 22 kali lebih cepat.

Hal ini memungkinkan chatbot melakukan percakapan panjang sepanjang hari kerja tanpa perlu terus-menerus di-boot ulang, sehingga memungkinkan asisten AI yang efisien untuk tugas-tugas seperti copywriting, pengeditan, atau pembuatan kode.

“Sekarang, dengan metode ini, kami dapat menerapkan model bahasa besar ini secara terus-menerus. Dengan membuat chatbot yang selalu dapat kita ajak ngobrol, dan selalu dapat merespons berdasarkan percakapan terkini, kita dapat menggunakan chatbot ini dalam beberapa aplikasi baru,” kata Guangxuan Xiao, seorang mahasiswa pascasarjana teknik elektro dan ilmu komputer (EECS) dan penulis utama makalah tentang StreamingLLM.

Rekan penulis Xiao termasuk penasihatnya, Song Han, seorang profesor di EECS, anggota MIT-IBM Watson AI Lab, dan ilmuwan terkemuka NVIDIA; serta Yuandong Tian, ​​​​seorang ilmuwan peneliti di Meta AI; Beidi Chen, asisten profesor di Universitas Carnegie Mellon; dan penulis senior Mike Lewis, seorang ilmuwan riset di Meta AI. Karya ini akan dipresentasikan pada Konferensi Internasional tentang Representasi Pembelajaran.

Sebuah fenomena yang membingungkan

Model bahasa besar mengkodekan data, seperti kata-kata dalam kueri pengguna, menjadi representasi yang disebut token. Banyak model menggunakan apa yang dikenal sebagai mekanisme perhatian yang menggunakan token ini untuk menghasilkan teks baru.

Biasanya, chatbot AI menulis teks baru berdasarkan teks yang baru saja dilihatnya, sehingga ia menyimpan token terbaru di memori, yang disebut KV Cache, untuk digunakan nanti. Mekanisme perhatian membangun grid yang mencakup semua token dalam cache, sebuah “peta perhatian” yang memetakan seberapa kuat setiap token, atau kata, berhubungan satu sama lain.

Memahami hubungan ini adalah salah satu fitur yang memungkinkan model bahasa besar menghasilkan teks mirip manusia.

Namun ketika cache menjadi sangat besar, peta perhatian bisa menjadi lebih besar lagi, sehingga memperlambat komputasi.

Selain itu, jika pengkodean konten memerlukan lebih banyak token daripada yang dapat ditampung cache, performa model akan turun. Misalnya, satu model populer dapat menyimpan 4,096 token, namun ada sekitar 10,000 token dalam makalah akademis.

Untuk mengatasi masalah ini, peneliti menggunakan “sliding cache” yang mengeluarkan token tertua untuk menambahkan token baru. Namun, performa model sering kali menurun segera setelah token pertama dihapus, sehingga dengan cepat mengurangi kualitas kata-kata baru yang dihasilkan.

Dalam makalah baru ini, para peneliti menyadari bahwa jika mereka menyimpan token pertama dalam cache geser, model akan mempertahankan kinerjanya bahkan ketika ukuran cache terlampaui.

Tapi ini tidak masuk akal. Kata pertama dalam novel kemungkinan besar tidak ada hubungannya dengan kata terakhir, jadi mengapa kata pertama begitu penting bagi model untuk menghasilkan kata terbaru?

Dalam makalah barunya, para peneliti juga mengungkap penyebab fenomena tersebut.

Perhatian tenggelam

Beberapa model menggunakan operasi Softmax dalam mekanisme perhatiannya, yang memberikan skor pada setiap token yang mewakili seberapa besar keterkaitannya dengan token lainnya. Operasi Softmax mengharuskan semua skor perhatian dijumlahkan menjadi 1. Karena sebagian besar token tidak terkait erat, skor perhatiannya sangat rendah. Model ini membuang skor perhatian yang tersisa pada token pertama.

Para peneliti menyebut token pertama ini sebagai “penyerap perhatian”.

“Kita memerlukan penyerap perhatian, dan model memutuskan untuk menggunakan token pertama sebagai penyerap perhatian karena token tersebut terlihat secara global — setiap token lain dapat melihatnya. Kami menemukan bahwa kami harus selalu menyimpan perhatian untuk menjaga dinamika model,” kata Han.

Dalam membangun StreamingLLM, para peneliti menemukan bahwa memiliki empat token penyerap perhatian di awal cache geser akan menghasilkan kinerja yang optimal.

Mereka juga menemukan bahwa pengkodean posisi setiap token harus tetap sama, bahkan ketika token baru ditambahkan dan token lainnya dihilangkan. Jika token 5 tersingkir, token 6 harus tetap dikodekan sebagai 6, meskipun sekarang token tersebut merupakan token kelima dalam cache.

Dengan menggabungkan kedua ide ini, mereka memungkinkan StreamingLLM mempertahankan percakapan berkelanjutan sekaligus mengungguli metode populer yang menggunakan penghitungan ulang.

Misalnya, jika cache memiliki 256 token, metode penghitungan ulang memerlukan waktu 63 milidetik untuk mendekode token baru, sedangkan StreamingLLM memerlukan waktu 31 milidetik. Namun, jika ukuran cache bertambah menjadi 4.096 token, penghitungan ulang memerlukan 1.411 milidetik untuk token baru, sedangkan StreamingLLM hanya memerlukan 65 milidetik.

“Pendekatan inovatif StreamingLLM, yang berpusat pada mekanisme penyerap perhatian, memastikan penggunaan dan kinerja memori yang stabil, bahkan ketika memproses teks dengan panjang hingga 4 juta token,” kata Yang You, profesor muda ilmu komputer di National University of Singapura, yang tidak terlibat dalam pekerjaan ini. “Kemampuan ini tidak hanya mengesankan; ini transformatif, memungkinkan StreamingLLM diterapkan di beragam aplikasi AI. Performa dan keserbagunaan StreamingLLM menandainya sebagai teknologi yang sangat menjanjikan, siap merevolusi cara kami mendekati aplikasi generasi berbasis AI.”

Tianqi Chen, asisten profesor di departemen pembelajaran mesin dan ilmu komputer di Universitas Carnegie Mellon yang juga tidak terlibat dalam penelitian ini, setuju, dengan mengatakan “Streaming LLM memungkinkan perpanjangan panjang percakapan model bahasa besar dengan lancar. Kami telah menggunakannya untuk memungkinkan penerapan model Mistral di iPhone dengan sukses besar.”

Para peneliti juga mengeksplorasi penggunaan perhatian selama pelatihan model dengan menambahkan beberapa token placeholder di semua sampel pelatihan.

Mereka menemukan bahwa pelatihan dengan pemusatan perhatian memungkinkan model mempertahankan kinerja hanya dengan satu pemusatan perhatian dalam cache, bukan empat pemusatan perhatian yang biasanya diperlukan untuk menstabilkan kinerja model yang telah dilatih sebelumnya.

Namun meskipun StreamingLLM memungkinkan model melakukan percakapan berkelanjutan, model tidak dapat mengingat kata-kata yang tidak disimpan dalam cache. Di masa depan, para peneliti berencana untuk mengatasi keterbatasan ini dengan menyelidiki metode untuk mengambil token yang telah dikeluarkan atau memungkinkan model untuk menghafal percakapan sebelumnya.

StreamingLLM telah dimasukkan ke dalam perpustakaan pengoptimalan model bahasa NVIDIA yang besar, TensorRT-LLM.

Pekerjaan ini sebagian didanai oleh MIT-IBM Watson AI Lab, MIT Science Hub, dan US National Science Foundation.

Fuente