Tembolok KV
Cache KV menyimpan vektor kunci dan nilai yang telah dihitung oleh transformator untuk token sebelumnya, sehingga tidak perlu menghitung ulang vektor tersebut untuk setiap kata baru yang dihasilkannya.
Ikhtisar
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Menyelam Lebih Dalam
Transformer menghasilkan teks satu token pada satu waktu, dan setiap lapisan perhatian token baru perlu dibandingkan dengan setiap token sebelumnya. Mekanisme perhatian mengubah setiap token menjadi vektor kueri, kunci, dan nilai. Tanpa caching, menghasilkan token nomor 1.000 berarti menghitung ulang kunci dan nilai untuk 999 token sebelumnya di setiap langkah — pekerjaan kuadrat dan sia-sia. Cache KV menyimpan vektor kunci dan nilai tersebut setelah pertama kali dihitung dan menggunakannya kembali, sehingga setiap langkah baru hanya menghitung vektor untuk satu token terbaru dan menangani cache yang disimpan. Hal ini mengurangi biaya per token dari penskalaan dengan panjang urutan menjadi kira-kira konstan. Kerugiannya adalah memori: cache tumbuh secara linier seiring dengan panjang konteks, jumlah lapisan, dan perhatian, sering kali menjadi konsumen memori yang dominan dalam penyajian konteks panjang.
Wawasan Teknis
Selama fase 'pengisian awal', model memproses seluruh prompt dan mengisi cache; selama 'decode' ia menambahkan satu K/V token per langkah dan mengulanginya. Ukuran cache berskala 2 (K dan V) × lapisan × kepala × head_dim × sequence_length × batch, dalam presisi yang dipilih. Untuk mengatasi hal ini, model modern menggunakan perhatian kueri yang dikelompokkan atau multikueri untuk berbagi kunci/nilai di seluruh kepala, dan sistem penyajian seperti vLLM menggunakan PagedAttention untuk mengalokasikan cache di blok yang tidak bersebelahan, sehingga mengurangi fragmentasi dan pemborosan.
Dampak Strategis
Kecepatan dan skala
Alur kerja bahasa dapat berjalan lebih cepat tanpa mengorbankan konsistensi.
Access and reach
Ini memperluas akses lintas bahasa dan gaya komunikasi.
Clearer decisions
Tim dapat menghabiskan lebih banyak waktu untuk melakukan penilaian sementara otomatisasi menangani pengulangan.
Masa Depan KV Cache
Ketika jendela konteks membentang hingga ratusan ribu token, cache KV menjadi penghambat utama, sehingga inovasi menjadi sangat ketat: kuantisasi cache menjadi 8 atau 4 bit, kebijakan penggusuran yang menghapus token yang tidak terlalu penting, pembagian prefiks lintas permintaan, dan pembongkaran ke CPU atau disk. Pergeseran arsitektur seperti perhatian laten multi-head memampatkan cache itu sendiri. Harapkan desain bersama varian perhatian dan sistem memori yang berkelanjutan yang bertujuan untuk melayani konteks yang sangat panjang dengan biaya murah dan throughput yang tinggi.
Implementasi Dunia Nyata
Mempercepat balasan chatbot dengan menggunakan kembali kunci/nilai yang disimpan dalam cache dari riwayat percakapan alih-alih memprosesnya ulang setiap kali.
Caching awalan yang membagikan cache untuk perintah sistem yang panjang ke banyak pengguna, sehingga mengurangi biaya dan latensi.
PagedAttention vLLM mengelola cache KV dalam blok untuk melayani banyak permintaan bersamaan pada satu GPU secara efisien.
Mengkuantisasi cache KV untuk menurunkan presisi agar sesuai dengan konteks yang lebih panjang ke dalam memori GPU yang terbatas.
Risiko & Pagar Pembatas
Fakta-fakta yang dihalusinasi dapat secara diam-diam masuk ke dalam laporan, aliran dukungan, atau keluaran penelitian.
Sensitivitas yang cepat dapat menimbulkan hasil yang tidak konsisten pada permintaan serupa.
Data teks sensitif mungkin terekspos jika kontrol akses lemah.
Peta Jalan Implementasi
Tentukan format output, nada, dan standar kualitas sebelum peluncuran.
Dasarkan respons dengan sumber tepercaya kapan pun akurasi penting.
Pertahankan pos pemeriksaan tinjauan manusia untuk keluaran berisiko tinggi.
Lacak pola kegagalan dan latih kembali perintah atau alur kerja secara teratur.
Terus Menjelajah
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Optimasi Cache KV
Pertanyaan yang sering diajukan
What is KV Cache?
Cache KV menyimpan vektor kunci dan nilai yang telah dihitung oleh transformator untuk token sebelumnya, sehingga tidak perlu menghitung ulang vektor tersebut untuk setiap kata baru yang dihasilkannya. Ini adalah satu-satunya alasan terbesar mengapa pembuatan teks menjadi cepat — dan hal utama yang memakan memori GPU Anda selama percakapan panjang.
Apa yang disimpan oleh cache KV?
Cache KV menyimpan vektor kunci dan nilai dari token sebelumnya sehingga perhatian dapat menggunakannya kembali alih-alih menghitung ulang.
Masalah apa yang terutama dipecahkan oleh cache KV?
Tanpa caching, setiap token baru akan memerlukan penghitungan ulang K/V untuk setiap token sebelumnya, yang merupakan pemborosan; cache membuat biaya per token kira-kira konstan.
Apa kelemahan utama dari cache KV?
Cache bertambah seiring dengan panjang urutan, lapisan, dan head, sering kali menjadi konsumen dominan memori GPU dalam penyajian konteks panjang.
Teknik manakah yang mengurangi ukuran cache KV dengan berbagi kunci dan nilai di seluruh kepala perhatian?
Perhatian kueri yang dikelompokkan dan multikueri memungkinkan beberapa kepala kueri berbagi kumpulan kunci/nilai yang lebih sedikit, sehingga mengurangi cache secara signifikan.
Apa dua fase inferensi transformator relatif terhadap cache KV?
Pra-pengisian mengisi cache dengan K/V prompt; decode menambahkan satu K/V token baru setiap langkah dan mengulangi cache.