Penulis:
(1) Ben Athiwaratkun, Laboratorium AI AWS;
(2) Sujan Kumar Gonugondla, Lab AI AWS;
(3) Sanjay Krishna Gouda, Laboratorium AI AWS;
(4) Haifeng Qian, Lab AI AWS;
(5) Sanjay Krishna Gouda, Laboratorium AI AWS;
(6) Hantian Ding, Laboratorium AI AWS;
(7) Qing Sun, Laboratorium AI AWS;
(8) Jun Wang, Laboratorium AI AWS;
(9) Jiacheng Guo, Lab AWS AI;
(10 Liangfu Chen, Lab AWS AI;
(11) Parminder Bhatia, GE HealthCare (pekerjaan yang dilakukan di AWS);
(12) Ramesh Nallapati, Amazon AGI (pekerjaan dilakukan di AWS);
(13) Sudipta Sengupta, Laboratorium AI AWS;
(14) Bing Xiang, Goldman Sachs (pekerjaan yang dilakukan di AWS).
Tabel Tautan
3.1. Notasi dan 3.2. Inferensi Model Bahasa
3.3. Multi-Query, Multi-Head dan Perhatian Multi-Query yang Digeneralisasi
4. Perhatian Bifurkasi yang Sadar Konteks dan 4.1. Motivasi
4.2. Formulasi dan 4.3. Kompleksitas Memori IO
5.1. Membandingkan Kemampuan Multi-Head, Multi-Query, dan Multi-Group Attention
5.2. Latensi Model Setara Kemampuan
6. Kesimpulan dan Daftar Pustaka
D. Keluarga Perhatian Multi-Kelompok
E. Perhatian Bifurkasi yang Sadar Konteks
G. Kompatibilitas dengan teknik Decoding Spekulatif dan Decoding Cepat
B. Pekerjaan Terkait
B.1. Aplikasi Pengambilan Sampel Batch Konteks Tunggal
Pengurangan latensi yang kami capai dapat berdampak besar pada banyak aplikasi. Beberapa aplikasi ini meliputi:
• Pembuatan Kode: Dalam pengembangan perangkat lunak, pembuatan kode dengan bantuan AI dapat memperoleh manfaat besar dari latensi yang berkurang, terutama saat membuat beberapa cuplikan kode atau saran untuk konteks tertentu. Hal ini dapat menghasilkan pengalaman pengguna yang lebih responsif dan efisien bagi pengembang yang menggunakan Lingkungan Pengembangan Terpadu (IDE) atau alat pelengkap kode yang didukung AI (Nijkamp et al., 2023; 2022; Chen et al., 2021; Le et al., 2022; Fried et al., 2022; Li et al., 2022; Allal et al., 2023; Li et al., 2023; Ahmad et al., 2021).
• Terjemahan Mesin: Dalam situasi di mana beberapa terjemahan dibutuhkan untuk satu masukan, seperti menghasilkan terjemahan dengan berbagai tingkat formalitas atau menghasilkan terjemahan untuk dialek yang berbeda, perhatian bercabang yang sadar konteks dapat memberikan komputasi yang lebih efisien, sehingga menghasilkan layanan terjemahan mesin yang lebih cepat dan lebih terukur (Costajussà et al., 2022; Farhad et al., 2021; Tran et al., 2021; Yee et al., 2019).
• Chatbot dan AI Percakapan: Agen percakapan sering kali perlu menghasilkan beberapa respons untuk menangani berbagai interpretasi masukan pengguna atau untuk memberikan beberapa saran. Latensi yang lebih rendah yang ditawarkan oleh metode yang diusulkan dapat meningkatkan respons chatbot secara signifikan, sehingga menghasilkan percakapan yang lebih alami dan lancar dengan pengguna (Google, 2023).
• Pembuatan Konten Kreatif: Dalam aplikasi seperti pembuatan puisi, cerita, atau iklan, kemampuan untuk membuat beberapa variasi untuk topik tertentu sangatlah penting. Metode yang diusulkan memungkinkan pembuatan konten yang beragam secara lebih efisien, sehingga lebih layak untuk aplikasi real-time atau berskala besar (Lin dan Riedl, 2021; Mirowski et al., 2023; Team, 2023; Yuan et al., 2022).
• Augmentasi Data: Dalam konteks augmentasi data untuk pembelajaran mesin, menghasilkan beberapa contoh alternatif untuk input tertentu dapat membantu meningkatkan ketahanan dan generalisasi model. Dengan latensi yang berkurang yang disediakan oleh perhatian bercabang yang sadar konteks, proses menghasilkan data augmentasi dapat dibuat lebih cepat, memungkinkan penggunaan sumber daya komputasi yang lebih efisien selama pelatihan.
• Evaluasi Skala Besar Umum: Selain kasus penggunaan yang disebutkan di atas, ada banyak kasus penggunaan khusus tempat LLM dan model pembangkitan terbuka lainnya dieksplorasi untuk toksisitas (Dathathri et al., 2019; Gehman et al., 2020; Nadeem et al., 2020), deteksi kode yang rentan dalam beberapa generasi (Pearce et al., 2022), pembangkitan suntingan kode yang meningkatkan kinerja (Madaan et al., 2023), penerjemahan bahasa pemrograman (Roziere et al., 2020) dan banyak lagi. Dalam semua skenario ini, banyak generasi per setiap prompt dikumpulkan untuk pemahaman yang lebih mendalam tentang model, perhatian yang bercabang dapat secara drastis mempercepat proses pembangkitan dalam kasus seperti itu.
Kesimpulannya, metode perhatian bercabang yang sadar konteks yang diusulkan dapat secara signifikan mengurangi biaya I/O memori dan meningkatkan latensi dalam berbagai aplikasi, yang mengarah pada peningkatan efisiensi dan skalabilitas. Metode ini berpotensi memungkinkan kasus penggunaan baru dan meningkatkan pengalaman pengguna dalam berbagai sistem bertenaga AI, sehingga lebih praktis untuk penerapan di dunia nyata.
B.2. Mendukung Konteks Panjang Memerlukan Perhatian yang Efisien terhadap IO
Karena model bahasa menjadi serba guna dan sangat mumpuni, permintaan model bahasa untuk menangani rangkaian konteks yang lebih panjang telah tumbuh secara signifikan. Baru-baru ini, ada fokus yang berkelanjutan pada model yang dapat menangani rangkaian konteks yang lebih panjang (Bulatov et al., 2023; OpenAI, 2023; Team, 2023). Sampai hari ini, GPT-4 (OpenAI, 2023) mendukung panjang konteks 32k token, dan MPT-7B (Team, 2023) memperluasnya hingga 64k sementara Claude milik Anthropic [3] mendukung panjang input hingga 100k. Baru-baru ini, Bulatov et al mengusulkan panjang konteks input token 1M untuk transformer. Model-model ini mendorong batasan pemahaman konteks dan kemampuan pembuatan, memungkinkan pemahaman wacana yang lebih komprehensif dan respons yang diinformasikan secara kontekstual.
Tren ini didorong oleh kebutuhan akan pemahaman wacana yang komprehensif dalam aplikasi seperti Retrieval-Augmented Generation (RAG), serta banyak metode prompting yang kompleks. Aplikasi seperti RAG (Guu et al., 2020; Izacard et al., 2022; Menick et al., 2022; Zhen et al., 2022) mengambil bagian atau dokumen yang luas dari korpora eksternal, menyediakan konteks yang kaya dan mendasar untuk menghasilkan respons. Selain itu, model seperti Toolformer (Schick et al., 2023) dan WebGPT (Nakano et al., 2021) memanfaatkan alat eksternal, seperti API dan mesin pencari, untuk memperluas konteks dan meningkatkan pembuatan.
Konteks yang panjang sangat mahal untuk model keluarga transformer karena untuk perhatian-diri vanilla, baik kompleksitas memori maupun waktu bersifat kuadratik terhadap panjang sekuens. Untuk menangani sekuens konteks yang lebih panjang secara efektif, mengoptimalkan I/O memori dan mengurangi overhead komputasi sangatlah penting. Saat ini, pendekatan yang dominan untuk mengatasi tantangan ini adalah dengan membuat komputasi perhatian menjadi lebih murah. Beltagy dkk. (2020) mengusulkan untuk mengurangi perhatian-diri menggunakan berbagai pola perhatian. Wang dkk. (2020) mengeksplorasi perkiraan tingkat rendah dari perhatian-diri. Selain peningkatan batas komputasi, kemajuan dalam mekanisme dan teknik perhatian yang hemat memori untuk mengurangi I/O memori akan terus mendorong bidang ini maju, memfasilitasi penanganan sekuens konteks yang lebih panjang dalam model bahasa. FlashAttention (Dao dkk., 2022) diusulkan untuk mempercepat perhatian-diri dan mengurangi jejak memori tanpa perkiraan apa pun. Ini memanfaatkan kernel fused untuk perkalian matriks dan operasi softmax yang sangat mengurangi IO memori selama pelatihan.
Makalah ini tersedia di arxiv di bawah lisensi CC BY 4.0 DEED.
[3] https://www.anthropic.com/index/100k-context-windows