Penyelidikan Microsoft ini membolehkan pembangun memproses lebih 1M teks input 10x lebih pantas pada mesin kad tunggal.
Model Bahasa Besar (LLM) telah memasuki era pemprosesan konteks yang panjang, dan tetingkap konteks yang disokongnya telah melonjak daripada 128K sebelumnya kepada paras token 10M. Walau bagaimanapun, disebabkan kerumitan kuadratik mekanisme perhatian, model mungkin mengambil masa beberapa minit untuk memproses gesaan input (iaitu, peringkat pra-penduduk) dan mula menjana token pertama. Akibatnya, ia mengambil masa terlalu lama untuk menjana token pertama, yang memberi kesan serius kepada pengalaman pengguna, yang juga sangat mengehadkan penggunaan meluas LLM konteks panjang. Sebagai contoh (seperti yang ditunjukkan dalam Rajah 2a), apabila menghidangkan LLaMA-3-8B pada mesin tunggal yang dilengkapi dengan A100, jika digesa bahawa terdapat 300,000 token, model akan mengambil masa 6 minit untuk melengkapkan pratetap Semasa fasa pra-pengisian, jika gesaan meningkat kepada 1 juta token, jumlah ini akan meningkat kepada 30 minit. Overhed pengiraan perhatian kendiri menyumbang lebih daripada 90% daripada jumlah kelewatan prapengisian, menjadikannya halangan utama apabila LLM mengendalikan konteks yang panjang. Kaedah prapopulasi dipercepatkan sedia ada sering gagal mengekalkan ketepatan atau kecekapan yang boleh diterima apabila digunakan pada LLM konteks panjang. Untuk menyelesaikan masalah di atas, penyelidik dari Microsoft dan University of Surrey mencadangkan kaedah pengiraan yang jarang direka untuk mempercepatkan pra-pengisian dalam pemprosesan jujukan panjang: MInference (Inferens Jutaan Tokens). . Pra-pengisian untuk LLM Konteks Panjang melalui Perhatian Jarang Dinamik
- Inferens boleh digunakan terus pada LLM sedia ada tanpa pengubahsuaian pada tetapan pra-latihan atau penalaan halus tambahan.
-
Dengan menguji pelbagai tugas hiliran (termasuk InfiniteBench, RULER, PG-19 dan Needle In A Haystack) dan model (termasuk LLaMA-3-1M, Yi-200K, GLM-4-1M, Phi-128K3-1 dan Qwen2-128K), eksperimen menunjukkan bahawa MInference boleh mengurangkan kependaman inferens pra-penduduk secara berkesan pada A100 sehingga 10x sambil mengekalkan ketepatan.
Menggunakan Minference 1.0, konteks panjang LLM (seperti Llama-3-8b-1m, GLM-4-1M) mencapai peningkatan 10x dalam kelajuan kesimpulan pada A100 tunggal, dan lebih tepat. Pengarang mencadangkan MInference, nama yang mencerminkan cita-cita mereka untuk mencapai inferens jutaan token pada mesin A100. MInference ialah kaedah bebas latihan dan cekap untuk peringkat pra-populasi LLM konteks panjang berdasarkan perhatian yang jarang dinamik. Penyelidik percaya bahawa perhatian, terutamanya dalam konteks yang panjang, adalah jarang dan dinamik, iaitu, dalam input yang berbeza, corak jarang adalah sangat berbeza. Jarang dinamik ini mempamerkan tiga corak pengagregatan spatial unik yang digunakan pada semua input: Bentuk A, Seratan Menegak dan Jarang Blok. Minferens pertama menentukan corak jarang dinamik terbaik di luar talian untuk setiap kepala menggunakan algoritma carian pola jarang yang sedar kernel, seperti yang ditunjukkan dalam Algoritma 1. Semasa inferens, ia secara dinamik menghampiri indeks sparsity dinamik berdasarkan corak kepala, seperti yang ditunjukkan dalam Algoritma 2, 3. Akhir sekali, pengarang menggunakan kernel GPU yang dioptimumkan untuk melakukan pengiraan perhatian jarang dinamik yang cekap, yang mengurangkan kependaman peringkat prapopulasi LLM konteks panjang. Sebagai contoh, untuk mod "garis menegak - pepenjuru", pengarang mula-mula menggunakan pengiraan perhatian antara Q dan K terakhir untuk menganggarkan indeks terbaik bagi garis menegak dan garis pepenjuru. Mereka kemudiannya memanfaatkan penyusun jarang dinamik PIT dan Triton untuk membina kernel FlashAttention slash menegak yang mempercepatkan pengiraan perhatian. Untuk corak berbentuk A, cerun menegak, dan blok-jarang, pengarang mula-mula menggunakan pengumpulan min Q dan K dalam pengiraan perhatian. Dengan menggunakan pengumpulan min dan harta pertukaran MatMul, indeks jarang terhalang boleh dianggarkan. Mereka kemudiannya menggunakan kernel FlashAttention blok binaan Triton untuk mempercepatkan pengiraan perhatian. Lihat Lampiran C.4 dan kod untuk pelaksanaan terperinci kernel. Hasil penilaian pada penanda aras konteks yang panjang
Pengarang menguji MInference dalam pelbagai senario, termasuk QA, pengekodan, tugasan berasaskan perolehan semula dan QA. Penanda aras RULER termasuk beberapa tugas multi-hop atau multi-jarum yang kompleks, dengan berkesan mencerminkan saiz tetingkap konteks sebenar LLM. Seperti yang ditunjukkan dalam Jadual 1, MIinference secara berkesan mengekalkan keupayaan pengendalian tetingkap konteks sebenar LLM malah sedikit memanjangkan saiz tetingkap konteks sebenar kepada 32K. Pengarang juga menguji MInference pada julat tugas yang lebih luas menggunakan InfiniteBench dengan purata panjang token 214K, seperti ditunjukkan dalam Jadual 2. Berbanding dengan garis dasar SoTA, MInference secara konsisten mengekalkan prestasi yang baik merentas semua tugas. Terutama sekali, dalam tugas mendapatkan semula yang lebih mencabar seperti tugas mendapatkan semula KV, semua garis dasar gagal membuat ramalan yang tepat, dengan ketepatan di bawah 1.2%. Walau bagaimanapun, MInference berjaya mengekalkan keupayaan untuk mengendalikan pengambilan pasangan KV dinamik. Untuk menilai lebih lanjut prestasi panjang konteks yang berbeza dan kedudukan maklumat penting yang berbeza dalam gesaan, pengarang menguji pelbagai model dan kaedah menggunakan tugas "jarum dalam timbunan jerami". Seperti yang ditunjukkan dalam Rajah 1, MInference berprestasi baik di bawah model, tetingkap konteks dan lokasi maklumat isyarat yang berbeza, dan prestasinya kekal sama atau bertambah baik sedikit berbanding model asal. Dalam kes LLaMA-3-8B dan GLM-4-9B-1M, MInference mencapai prestasi hijau sepenuhnya dalam tetingkap konteks sehingga 1M. Sebaliknya, prestasi StreamingLLM dan InfLLM menurun di bawah 20% di tengah gesaan, walaupun dalam tetingkap konteks 70K. Pengarang juga menguji MInference pada tugas model bahasa menggunakan PG-19, yang termasuk sehingga 100k token.Seperti yang ditunjukkan dalam Rajah 2, MIinference mengekalkan kekeliruan LLaMA-3-8B dan Yi-9B-200K dengan berkesan, manakala semua garis dasar menunjukkan tahap kemerosotan kebingungan yang berbeza-beza. Tambahan pula, StreamingLLM menggunakan konfigurasi pelebaran dan langkah lebih baik mengekalkan prestasi kebingungan berbanding StreamingLLM standard. Latensi dan Mod Jarang dalam Kernel Rajah 3 menunjukkan tiga mod perhatian yang dicadangkan dalam artikel ini dan hasil penanda aras mikro FlashAttention. Ia boleh dilihat bahawa Vertical-Slash adalah yang paling perlahan daripada tiga mod, tetapi di bawah tetingkap konteks 1M, ia masih mencapai pecutan 13x berbanding FlashAttention. Rajah 4 menunjukkan indeks jarang dalam kernel pengepala Vertical-Slash. Garis menegak dikira menggunakan blok 1x64 melalui PIT FlashAttention, manakala garisan pepenjuru dikira menggunakan blok 64x64 melalui FlashAttention peringkat blok. Pautan rujukan: https://hqjiang.com/minference.htmlAtas ialah kandungan terperinci Satu kad A100 boleh mencapai berjuta-juta inferens token, iaitu 10 kali lebih pantas Ini ialah pecutan inferens model besar rasmi Microsoft.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!