Rumah > Artikel > Peranti teknologi > 3 kali ganda kelajuan penjanaan dan mengurangkan kos memori, rangka kerja penyahkodan yang cekap yang mengatasi Medusa2 akhirnya di sini
Menyahkod urutan n-token, rangka kerja penyahkodan CLLMs+Jacobi dengan cekap.
Secara tradisinya, Model Bahasa Besar (LLM) dianggap sebagai penyahkod berjujukan, menyahkod setiap token satu demi satu.
Pasukan penyelidik dari Shanghai Jiao Tong University dan University of California menunjukkan bahawa LLM pra-latihan boleh diajar dengan mudah untuk menjadi penyahkod selari yang cekap dan memperkenalkan keluarga baharu penyahkod selari yang dipanggil Consistent Large Language Models ( CLLMs), mampu mengurangkan kependaman inferens dengan cekap menyahkod urutan n-token pada setiap langkah inferens.
Dalam kertas kerja ini, penyelidikan menunjukkan bahawa: "Meniru proses kognitif yang digunakan manusia untuk menyatakan ungkapan perkataan demi perkataan selepas membentuk ayat yang lengkap dalam kepala mereka boleh dipelajari dengan berkesan dengan hanya memperhalusi LLM yang telah dilatih."
Khususnya, CLLM menghasilkan jujukan yang dinyahkod dengan hasil yang sama seperti penyahkodan autoregresif (AR) dengan memetakan sebarang jujukan n-token yang dimulakan secara rawak ke dalam beberapa langkah yang mungkin. Dengan cara ini, latihan penyahkodan selari boleh dilakukan.
Hasil eksperimen menunjukkan bahawa CLLM yang diperoleh menggunakan kaedah yang dicadangkan oleh pasukan penyelidik adalah sangat berkesan, menunjukkan bahawa kaedah tersebut mencapai peningkatan 2.4x hingga 3.4x dalam kelajuan penjanaan dan setanding dengan teknik inferens pantas yang lain seperti Medusa2 dan Eagle , dan tidak memerlukan kos memori tambahan untuk menampung komponen model tambahan semasa inferens.
Nama kertas: "CLLMs: Consistency Large Language Models"
Pautan kertas: https://arxiv.org/pdf/2403.00835
Rajah 1: Dalam GSM8K Di atas, demonstrasi CLLM-ABEL-7B-001 adalah kira-kira 3 kali lebih pantas daripada garis dasar ABEL-7B-001 apabila menggunakan penyahkodan Jacobi.
Jacobi Decoding
Model Bahasa Besar (LLM) sedang mengubah wajah kehidupan manusia, daripada pengaturcaraan kepada menyediakan nasihat undang-undang dan kesihatan. Walau bagaimanapun, semasa inferens, LLM menggunakan penyahkodan autoregresif untuk menjana respons token mengikut token, seperti yang ditunjukkan dalam Rajah 1, yang menghasilkan kependaman tinggi untuk respons yang lebih lama. Menggunakan penyahkodan autoregresif selalunya memerlukan pengubahsuaian seni bina, komponen tambahan atau model draf pertama untuk mempercepatkan inferens dengan menjana berbilang token sekaligus.Penyahkodan Jacobi diperoleh daripada kaedah iteratif titik tetap Jacobi dan Gauss-Seidel untuk menyelesaikan persamaan tak linear dan terbukti sama persis dengan penjanaan autoregresif menggunakan penyahkodan tamak. Penyahkod Jacob membina semula proses penjanaan berjujukan ke dalam sistem n persamaan tak linear yang mengandungi n pembolehubah, dan boleh diselesaikan secara selari berdasarkan lelaran Jacobi. Setiap langkah lelaran mungkin meramalkan berbilang token yang betul (yang dipanggil "betul" bermaksud sejajar dengan hasil penyahkodan autoregresif di bawah strategi pensampelan tamak), dengan itu berpotensi mempercepatkan penyahkodan autoregresif.
.
Secara khusus, kaedah penyahkodan Jacobi mula-mula meneka secara rawak token urutan seterusnya daripada gesaan input (selepas ini dirujuk sebagai urutan n
-token, melainkan dinyatakan sebaliknya).Kemudian, jujukan n-token dimasukkan ke dalam LLM bersama-sama dengan pembayang untuk kemas kini berulang. Proses ini akan berterusan sehingga urutan n
-token stabil, tidak lagi berubah dan mencapai titik tetap.Perlu diingat bahawa penyahkodan Jacobi tidak memerlukan sebarang pertanyaan lagi kepada LLM daripada penyahkodan autoregresif (AR). Akhirnya, jujukan n
-token akan menumpu kepada output yang dijana oleh penyahkodan AR di bawah strategi tamak. Proses dari tekaan rawak awal hingga hasil akhir yang dijana AR dipanggil "trajektori Jacobi." Contoh proses lelaran penyahkodan Jacobi dan trajektori Jacobi digambarkan dalam Rajah 2.Keterbatasan penyahkodan Jacobi:
Namun, dalam praktiknya, penyahkodan Jacobi biasa hanya memberikan peningkatan yang lemah dalam kesan pecutan LLM, contohnya, nisbah pecutan purata hanya 1.05 kali. Ini kerana sukar untuk LLM menjana token yang betul apabila terdapat ralat dalam token sebelumnya. 🎜Oleh itu, kebanyakan lelaran Jacobi hanya boleh mendapatkan satu pembetulan untuk jujukan n-token, menghasilkan trajektori yang lebih panjang ditunjukkan di sebelah kiri Rajah 3.
Kaedah penyahkodan pandang ke hadapan dan penyahkodan spekulatif cuba mengurangkan ketidakcekapan penyahkodan Jacobi dan penyahkodan autoregresif tradisional, tetapi menanggung kos memori tambahan semasa inferens.
CLLM tidak memerlukan kos memori tambahan ini.
Consistent Large Language Models (CLLMs)
Penyahkodan Jacobi awal:
Memandangkan x yang pantas dan LLM p yang terlatih (·|) biasanya akan menggunakan piawaian autogresif. (AR) kaedah penyahkodan memperoleh tindak balas model di bawah strategi tamak, iaitu:
Penyahkod Jacob merangka semula proses inferens LLM sebagai proses menyelesaikan sistem persamaan tak linear untuk mengubah proses penyahkodan kepada bentuk pengkomputeran selari yang boleh dilaksanakan . Memandangkan: Pengkaji boleh menulis semula persamaan di atas sebagai sistem persamaan tak linear: Perlu diingat bahawa: Proses keluar pada nilai k tertentu supaya:takrifkan
sebagai titik tetap dansebagai lokus Jacobi. Untuk menyelesaikan masalah ini, pasukan penyelidik mencadangkan untuk melaraskan LLM pra-latihan supaya mereka boleh secara konsisten memetakan mana-mana titik
ypada trajektori Jacobi J ke titik tetap y* . Anehnya, mereka mendapati bahawa matlamat sedemikian adalah serupa dengan model ketekalan—kaedah pecutan utama untuk model resapan.
Dalam kaedah yang dicadangkan oleh pasukan, model dilatih menggunakan trajektori Jacobi yang dikumpul daripada model sasaran, dan fungsi kehilangan digunakan yang menggalakkan penumpuan satu langkah semasa lelaran Jacobi.
Untuk setiap model sasaran
p untuk ditala kepada CLLM, latihan terdiri daripada dua bahagian: (1) Penyediaan trajektori Jacobi:
Untuk setiap gesaan, pengarang melakukan Jacobi pada setiap pemangkasan token supaya Nyahkod keseluruhan jujukan tindak balas
l dijana, yang bersamaan dengan penggabungan semua titik tetap berturut-turut. Setiap jujukan yang dijana sepanjang trajektori dikira sebagai kemasukan data.
Adalah penting untuk diperhatikan di sini bahawa untuk respons panjang yang mengandungi token
N(N ≫ n), pemotongan ini mengelakkan penilaian model perlahan pada input yang panjang. . mengekalkan kualiti generasi. Rajah 4: Gambarajah skematik latihan konsistensi konvergensi satu langkah: menyesuaikan sasaran LLM untuk sentiasa meramalkan titik tetap apabila mana-mana keadaan pada trajektori Jacobi diambil sebagai input.
Konsisten dan kehilangan AR:
(1) Kehilangan konsisten Biarkan p
mewakili sasaran LLM. Biarkan
diwakili sebagai CLLM dengan parameter θdimulakan kepada p
.Untuk segera x dan trajektori Jacobi yang sepadan J , biarkan y dan
y* mewakili keadaan rawak dan titik tetap pada trajektori masing-masing. boleh digesa untuk mengeluarkan y apabila input ialah y* dengan meminimumkan kerugian berikut, dipanggil kerugian global consistency (GC): Dalam formula ini, Pengarang menggunakan simbol secara meluas untuk mewakili pensampelan seragam daripada set data. D(·||·) mewakili jarak antara dua taburan, dan pilihan dibincangkan dalam kaedah GKD Dalam artikel ini, KL hadapan digunakan terutamanya. Sebagai alternatif, gunakan kehilangan konsistensi tempatan (LC) mengikut formula dalam model konsistensi. di mana keadaan bersebelahan: Dalam trajektori Jacobi J , didorong untuk menghasilkan output yang sama: (2) kehilangan AR: untuk mengelak daripada menyimpang dari LLM pengarang menggabungkan pengedaran berdasarkan kehilangan AR Tradisional untuk penjanaan l sasaran LLM p: Dengan menggabungkan kedua-dua kerugian bersama-sama, menggunakan beberapa berat CLLM adalah: Experiment Results: Rajah 5: Kesan pecutan CLLM pada tugas hiliran yang berbeza. Keputusan menunjukkan: "CLLM jauh lebih pantas daripada model pra-latihan dan mencapai kelajuan yang setanding berbanding Medusa, tetapi tanpa kos tambahan semasa inferens." penanda aras pada tugas domain tertentu (Spider, CSN-Python, GSM8k) dan MT-bench. CLLM mencapai kelajuan yang serupa atau lebih baik berbanding dengan Medusa2 sambil tidak memperkenalkan kos inferens tambahan (dinilai oleh FLOPS dan penggunaan memori). Bidang Kepakaran: Daripada Rajah 5, kita dapat melihat bahawa CLLM mencapai kelajuan paling ketara berbanding garis dasar lain termasuk model sasaran asal, Medusa2 dan penyahkodan tekaan. Cabaran Sesi Domain Terbuka (MT-bench): CLLM dilatih daripada LLaMA2-7B menggunakan set data ShareGPT, apabila digabungkan dengan penyahkodan lookahead, mencapai kelajuan yang hampir sama seperti Medusa2 dan mencapai prestasi yang lebih baik pada MT. -bangku. Walau bagaimanapun, CLLM lebih mudah disesuaikan dan cekap memori kerana ia tidak memerlukan pengubahsuaian kepada seni bina asal model sasaran mahupun komponen tambahan. Kos penalaan halus CLLM adalah sederhana. Sebagai contoh, untuk LLaMA-7B, hanya melepasi kira-kira 1M token boleh mencapai kelajuan 3.4x pada dataset Spider. Dalam kes di mana saiz set data adalah besar (mis. untuk CodeSearchNet-Python), hanya 10% daripada set data perlu digunakan untuk menjana trajektori Jacobi untuk melatih CLLM, menghasilkan kelajuan lebih kurang 2.5x. Jumlah bilangan token boleh dianggarkan dengan cara berikut: N = purata jumlah trajektori setiap gesaan × purata panjang trajektori × bilangan gesaan. Rajah 7: Perbandingan trajektori Jacobi antara sasaran LLM dan CLLM pada Spider. Setiap titik pada trajektori Jacobi ialah jujukan berkod warna: padanan yang betul dengan hasil AR ditandakan dengan warna biru, yang tidak tepat ditandakan dengan warna merah. CLLM mempamerkan kecekapan yang dipertingkatkan, menumpu ke titik tetap 2 kali lebih cepat daripada sasaran LLM. Kecekapan CLLM yang dipertingkatkan ini boleh dikaitkan dengan kehilangan konsistensi, yang memudahkan pembelajaran struktur jujukan n-token untuk setiap awalan yang diberikan. Sebelah kiri Rajah 6 menunjukkan bahawa sasaran LLM biasanya hanya menjana satu token yang betul dalam satu lelaran. Sebaliknya, dalam CLLM, penulis menemui fenomena kemajuan pesat, di mana berbilang token berturut-turut diramalkan dengan betul dalam satu lelaran Jacobi. Selain itu, dalam LLM sasaran, token yang dijana dengan betul terlebih dahulu (seperti "negara" dan "H" pada indeks 6 dan 7 di sebelah kiri Rajah 7) sering digantikan secara tidak tepat dalam lelaran berikutnya. Sebaliknya, CLLM telah menunjukkan keupayaan untuk meramalkan token yang betul, memastikan token itu kekal tidak berubah walaupun dengan kehadiran token yang salah sebelum ini. Pengarang memanggil token sedemikian sebagai "token tetap". Kedua-dua fenomena ini bersama-sama menyumbang kepada penumpuan pantas CLLM dalam penyahkodan Jacobi, menghasilkan peningkatan kelajuan penjanaan yang banyak. Pasukan penyelidik juga mendapati bahawa melalui latihan, CLLM memperoleh konsep bahasa utama - kolokasi: "urutan perkataan atau istilah yang berlaku bersama lebih kerap daripada yang dijangka secara kebetulan Bahasa bukan sahaja terdiri daripada pengasingan perkataan." , tetapi juga sangat bergantung pada pasangan kata tertentu. Contoh kolokasi banyak terdapat dalam kedua-dua bahasa semula jadi dan pengaturcaraan. Ia termasuk: Gabungan kata kerja + preposisi (cth. "bercakap dengan", "mengingatkan... tentang...") Struktur kata kerja + kata nama (cth. "buat keputusan", "tangkap a sejuk") Banyak struktur sintaksis khusus domain (seperti "PILIH ... DARI ...", "jika ... lain" untuk pengaturcaraan). Objektif penjanaan konsisten membolehkan CLLM membuat kesimpulan struktur sedemikian dari mana-mana titik trajektori Jacobi, memudahkan CLLM menguasai sejumlah besar kolokasi dan dengan itu meramalkan berbilang perkataan serentak untuk meminimumkan langkah lelaran. Pautan rujukan: https://hao-ai-lab.github.io/blogs/cllm/
Atas ialah kandungan terperinci 3 kali ganda kelajuan penjanaan dan mengurangkan kos memori, rangka kerja penyahkodan yang cekap yang mengatasi Medusa2 akhirnya di sini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!