SeterusnyaPanduan seterusnya
Pengoptimuman Cache KV
Teknikal
PANDUAN AI Bahasa
Cache KV menyimpan vektor kunci dan nilai yang telah dikira oleh pengubah untuk token sebelumnya, jadi ia tidak perlu mengiranya semula untuk setiap perkataan baharu yang dijananya.
Dengar panduan iniAI-diceritakan · ~2 min
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Transformer menjana teks satu token pada satu masa, dan setiap lapisan perhatian token baharu perlu dibandingkan dengan setiap token sebelumnya. Mekanisme perhatian mengubah setiap token menjadi pertanyaan, kunci dan vektor nilai. Tanpa caching, menjana nombor token 1,000 bermakna pengiraan semula kunci dan nilai untuk semua 999 token awal pada setiap langkah — kerja kuadratik dan membazir. Cache KV menyimpan vektor kunci dan nilai tersebut selepas ia mula-mula dikira dan menggunakannya semula, jadi setiap langkah baharu hanya mengira vektor untuk token terbaharu tunggal dan hadir melalui cache yang disimpan. Ini mengecilkan kos setiap token daripada penskalaan dengan panjang jujukan kepada kira-kira malar. Tukar ganti ialah ingatan: cache berkembang secara linear dengan panjang konteks, bilangan lapisan dan kepala perhatian, selalunya menjadi pengguna memori dominan dalam penyajian konteks panjang.
Mempercepatkan balasan chatbot dengan menggunakan semula kunci/nilai cache daripada sejarah perbualan dan bukannya memproses semula setiap giliran.
Cache awalan yang berkongsi cache untuk gesaan sistem yang panjang merentas ramai pengguna, mengurangkan kos dan kependaman.
vLLM's PagedAttention menguruskan cache KV dalam blok untuk melayani banyak permintaan serentak pada satu GPU dengan cekap.
Mengkuantumkan cache KV kepada ketepatan yang lebih rendah untuk menyesuaikan konteks yang lebih panjang ke dalam memori GPU yang terhad.
Apabila tetingkap konteks menjangkau ratusan ribu token, cache KV menjadi kesesakan pusat, jadi inovasi adalah sengit: kuantisasi cache kepada 8 atau 4 bit, dasar pengusiran yang menjatuhkan token berkepentingan rendah, perkongsian awalan permintaan silang dan pemunggahan ke CPU atau cakera. Peralihan seni bina seperti perhatian terpendam berbilang kepala memampatkan cache itu sendiri. Jangkakan reka bentuk bersama berterusan varian perhatian dan sistem memori yang bertujuan untuk menyediakan konteks yang sangat panjang dengan murah dan pada daya pemprosesan yang tinggi.
Newsletter percuma
Tiga cerita AI yang disahkan setiap pagi hari bekerja, ditulis dalam Bahasa Inggeris biasa. Percuma selamanya, tiada iklan.
Satu e-mel setiap hari bekerja. Berhenti melanggan dalam satu klik. Kami tidak pernah menjual atau berkongsi alamat anda.
Uji diri anda
Maklum balas segera pada setiap jawapan, dan sijil yang boleh dikongsi dengan ID yang boleh disahkan sebaik sahaja anda lulus kursus.
Sokong pendidikan AI percuma. AI Understanding ialah pertubuhan bukan keuntungan 501(c)(3) — tiada iklan, tiada bayaran dinding, selamanya. Buat derma
Cache KV menyimpan vektor kunci dan nilai yang telah dikira oleh pengubah untuk token sebelumnya, jadi ia tidak perlu mengiranya semula untuk setiap perkataan baharu yang dijananya. Ia adalah satu-satunya sebab terbesar penjanaan teks adalah pantas — dan perkara utama memakan memori GPU anda semasa perbualan yang panjang.
Cache KV memegang vektor kunci dan nilai daripada token terdahulu supaya perhatian boleh menggunakannya semula dan bukannya mengira semula.
The cache reuses keys and values computed for earlier tokens instead of rebuilding them at every decode step. The new query still attends over cached positions, so attention work and cache memory continue to grow with context length.
Cache berkembang dengan panjang jujukan, lapisan dan kepala, sering menjadi pengguna dominan memori GPU dalam penyajian konteks panjang.
Perhatian pertanyaan berkumpulan dan berbilang pertanyaan membolehkan berbilang ketua pertanyaan berkongsi lebih sedikit set kunci/nilai, mengecutkan cache dengan ketara.
Praisi mengisi cache dengan K/V gesaan; nyahkod menambahkan satu K/V token baharu setiap langkah dan mencatat semula di atas cache.
Teruskan belajar
Lebih banyak panduan dipilih untuk topik ini
SeterusnyaPanduan seterusnya
Pengoptimuman Cache KV
Teknikal