PANDUAN AI Bahasa

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.

2 min readTerakhir diperbarui

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

1

Tentukan format output, nada, dan standar kualitas sebelum peluncuran.

2

Dasarkan respons dengan sumber tepercaya kapan pun akurasi penting.

3

Pertahankan pos pemeriksaan tinjauan manusia untuk keluaran berisiko tinggi.

4

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.

Mulai kuis

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.