Mengapa Sesetengah Model AI Lebih Pantas Daripada Yang Lain

oleh Batching5m2025/02/24
Read on Terminal Reader

Terlalu panjang; Untuk membaca

Bahagian ini menyemak teknik utama untuk mengoptimumkan inferens AI, termasuk pengkuantitian, perhatian yang jarang, penyahkodan spekulatif dan perhatian halaman. Walaupun kaedah ini meningkatkan kecekapan, perhatian bercabang secara khusus menyasarkan memori cache KV IO, mengurangkan kependaman dalam senario konteks panjang kumpulan tinggi untuk aplikasi masa nyata.
featured image - Mengapa Sesetengah Model AI Lebih Pantas Daripada Yang Lain
Batching HackerNoon profile picture
0-item

Pengarang:

(1) Ben Athiwaratkun, AWS AI Labs;

(2) Sujan Kumar Gonugondla, AWS AI Labs;

(3) Sanjay Krishna Gouda, AWS AI Labs;

(4) Haifeng Qian, AWS AI Labs;

(5) Sanjay Krishna Gouda, AWS AI Labs;

(6) Hantian Ding, AWS AI Labs;

(7) Qing Sun, AWS AI Labs;

(8) Jun Wang, AWS AI Labs;

(9) Jiacheng Guo, AWS AI Labs;

(10 Liangfu Chen, AWS AI Labs;

(11) Parminder Bhatia, GE HealthCare (kerja dilakukan di AWS);

(12) Ramesh Nallapati, Amazon AGI (kerja dilakukan di AWS);

(13) Sudipta Sengupta, AWS AI Labs;

(14) Bing Xiang, Goldman Sachs (kerja dilakukan di AWS).

Jadual Pautan

Abstrak dan 1 Pengenalan

2. Kerja Berkaitan

3. Latar belakang

3.1. Tatatanda dan 3.2. Inferens Model Bahasa

3.3. Berbilang Pertanyaan, Berbilang Ketua dan Perhatian Berbilang Pertanyaan Umum

4. Perhatian Bercabang Sedar Konteks dan 4.1. Motivasi

4.2. Rumusan dan 4.3. Kerumitan IO Memori

5. Eksperimen

5.1. Membandingkan Keupayaan Perhatian Berbilang Ketua, Berbilang Pertanyaan dan Berbilang Kumpulan

5.2. Latensi Model Keupayaan-Setara

5.3. Aplikasi

6. Kesimpulan dan Rujukan


A. Soalan Lazim

B. Kerja Berkaitan

C. Persediaan

D. Keluarga Perhatian Pelbagai Kumpulan

E. Perhatian Bercabang Sedar Konteks

F. Permohonan: Keputusan Tambahan

G. Keserasian dengan teknik Penyahkodan Spekulatif dan Penyahkodan Pantas

2. Kerja Berkaitan

Dalam kesusasteraan, terdapat pelbagai cara untuk meningkatkan kependaman dan/atau kependaman inferens. Kuantisasi mengurangkan penggunaan memori dengan menggunakan perwakilan lebar bit rendah seperti int8, int4 dan fp8 (Wei et al., 2023; Yao et al., 2022; Dettmers et al., 2022; Frantar et al., 2022; Kuzmin et al., 2022). Pengkuantaan apabila digunakan hanya pada parameter model menawarkan hasil yang semakin berkurangan seperti dengan panjang jujukan yang lebih panjang dan saiz kelompok yang besar di mana akses memori dan pengiraan yang dikaitkan dengan perhatian produk titik mendominasi kependaman inferens keseluruhan.

Perhatian yang jarang (Beltagy et al., 2020; Child et al., 2019; Zaheer et al., 2020) telah dikaji secara meluas sebagai satu cara untuk mengurangkan kerumitan perhatian untuk konteks yang lebih panjang dan inferens yang lebih cepat. Pope et al. (2022) menyiasat kecekapan inferens generatif model bahasa besar dengan menggunakan teknik pembahagian berbilang dimensi yang dioptimumkan untuk TPU (einsum kolektif) untuk mencapai sempadan Pareto pada kependaman dan penggunaan model FLOP. Makalah ini juga menunjukkan bahawa perhatian berbilang pertanyaan membolehkan penskalaan sehingga 32x panjang konteks yang lebih besar dengan penekanan pada kecekapan di bawah saiz kelompok yang tinggi. Perhatian halaman (Kwon et al., 2023) meningkatkan pengurusan memori cache KV dengan membahagikannya kepada blok dan menggunakan jadual blok untuk tujuan pemetaan. Pendekatan ini secara berkesan menampung anjakan beban kerja dinamik dan mengurangkan keperluan storan memori melalui perkongsian cache KV gesaan merentas berbilang jujukan output. Walau bagaimanapun, ini tidak mengurangkan bacaan memori cache KV.


Penyahkodan spekulatif, dan variannya menggunakan model draf yang lebih kecil untuk mencadangkan berbilang token berjujukan, yang diproses secara selari oleh model utama untuk menerima atau menolak token tersebut (Chen et al., 2023; Leviathan et al., 2022; Li et al., 2024; Cai et al., 2024; Cai et al., 2024). Idea utama adalah untuk membolehkan penyahkodan berbilang token pada setiap langkah, dengan itu melunaskan penggunaan memori IO bagi model utama. Walau bagaimanapun, kependaman penyahkodan masih akan dikuasai oleh jalur lebar I/O cache KV pada saiz konteks yang besar, di mana perhatian bercabang boleh meningkatkan lagi kelajuan penyahkodan. Ringkasnya, penyahkodan tambahan memfokuskan pada menurunkan IO memori terlunas bagi pemuatan model manakala perhatian berbilang pertanyaan dan bercabang merendahkan IO memori cache KV.

3. Latar belakang

3.1. Notasi

Kami menggunakan tatatanda berikut di seluruh kertas.




3.2. Inferens Model Bahasa

Terdapat banyak senario inferens untuk model bahasa, termasuk inferens kelompok dan pensampelan kelompok konteks tunggal (Rajah 1). Inferens kelompok merujuk kepada kes di mana kami memproses berbilang input bersama-sama dalam satu kelompok, dan menjana token berikutnya untuk setiap indeks kelompok secara bebas. Dalam kes di mana saiz kelompok ialah 1, ini dikurangkan kepada inferens konteks tunggal. Senario lain ialah pensampelan kelompok konteks tunggal di mana kami menjana berbilang jujukan berdasarkan konteks tunggal, di mana perbezaan antara kes inferens kelompok ialah praisi hanya perlu dilakukan untuk konteks tunggal untuk mendapatkan cache KV, kemudian disiarkan ke indeks kelompok lain.


Rajah 1 juga menggambarkan dua fasa inferens model bahasa: (a) pengekodan konteks atau praisi dan (b) penyahkodan tambahan. Pengekodan konteks merujuk kepada satu pas ke hadapan yang mengira tensor kunci dan nilai untuk semua kedudukan token dalam konteks. Setelah tensor kunci dan nilai dikira, kami menyimpan tensor kunci dan nilai ini untuk digunakan bagi mekanisme perhatian semasa fasa penyahkodan tambahan, yang secara berurutan menghasilkan satu token pada satu masa[2].



Rajah 1: Ilustrasi dua fasa inferens model bahasa: pengekodan konteks dan penyahkodan tambahan, serta senario inferens yang berbeza. Dalam senario inferens kelompok, kami memproses berbilang input sekaligus dan melaksanakan langkah penyahkodan tambahan. Dalam inferens kelompok, kami mengumpulkan berbilang input dalam kelompok untuk melaksanakan kedua-dua pengekodan konteks dan penyahkodan tambahan seterusnya. Dalam senario pensampelan kelompok konteks tunggal, kami melakukan pengekodan konteks pada satu input untuk mendapatkan cache KV konteks, kemudian melakukan penyahkodan tambahan (dengan pensampelan suhu) untuk mendapatkan generasi yang berpotensi berbeza.



Semasa fasa pengekodan konteks, bilangan operasi titik terapung berbanding dengan operasi input/output (IO) memori adalah tinggi, sepadan dengan rejim terikat pengiraan di mana kependaman dipengaruhi oleh FLOP. Walau bagaimanapun, semasa penyahkodan tambahan di mana kami melakukan perhatian pada token pertanyaan tunggal, ini termasuk dalam rejim terikat memori di mana bilangan pengiraan bagi setiap akses memori adalah kira-kira 1 hingga 1 (lihat Lampiran D.1 untuk butiran). Memori IO merujuk kepada operasi baca dan tulis daripada memori lebar jalur tinggi (HBM) (Jia et al., 2018) kepada SRAM pada cip pantas di mana pengiraan sebenar berlaku. IO memori bagi penyahkodan tambahan itu sendiri terdiri daripada dua komponen: (1) pemuatan parameter model dan (2) pemuatan cache KV. Komponen (1) adalah malar tanpa mengira panjang konteks m atau saiz kelompok b di mana komponen (2) bergantung pada kedua-dua m dan b dan menguasai keseluruhan memori IO jika m atau b adalah tinggi, yang boleh menjadi hambatan yang ketara untuk inferens. Kerja kami tertumpu terutamanya pada pengurangan komponen (2).


Kertas kerja ini boleh didapati di arxiv di bawah lesen CC BY 4.0 DEED.


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks