# KV cache (bộ nhớ khóa–giá trị của LLM)

> VI: https://5ac.vn/wiki/kv-cache/ · EN: https://5ac.vn/en/wiki/kv-cache/ · lang: vi · spec_as_of 2026-10-21 (spec no formal spec) · cluster C16

Nơi engine giữ các cặp khóa–giá trị đã tính để khỏi tính lại: chia trang, tái dùng tiền tố, 890 byte mỗi token và tuyến giá khi lượt truy trúng cache.

---
## Định nghĩa

KV cache — bộ nhớ đệm khóa–giá trị (key-value cache) — là vùng bộ nhớ mà engine suy luận giữ lại các cặp khóa–giá trị của attention đã tính cho từng token, để token kế tiếp không phải dựng lại lịch sử từ đầu. Sinh từng token mà mỗi bước phải tính lại mọi token trước chính là chỗ đắt nhất của suy luận; cache KV biến phần đó thành đọc thay vì tính. Bộ nhớ này phình theo độ dài hội thoại: vừa là đòn bẩy tốc độ, vừa là bài toán bộ nhớ thường trực.

## Cơ chế

PagedAttention (arXiv:2309.06180, Kwon và cộng sự, SOSP 2023) là điểm xuất phát: paper kiểm kê các hệ phục vụ trước đó chỉ dùng 20,4–38,2% bộ nhớ cache KV cho token thật, phần còn lại lãng phí vì cấp phát khối lớn từ trước; PagedAttention chia bộ nhớ như tủ lạnh chia ô, đưa lãng phí về dưới 4% và nâng thông lượng 2–4× so với FasterTransformer và Orca. Blog vLLM 2023 ghi hệ trước lãng phí 60–80% bộ nhớ KV; chia sẻ KV giữa request giảm 55% bộ nhớ cho thông lượng 2,2×; SGLang tái dùng cache qua radix tree cho tới 6,4×. Mức phình cũng là biến số: tài liệu DeepSeek tính bộ nhớ đệm KV ở 890 byte mỗi token.

Cách engine thực thi phần này — quản lý cache KV, prefix caching, lượng tử hóa KV — nằm ở entry [Inference engine (vLLM, engine suy luận)](/wiki/inference-engine/).

## Bối cảnh ứng dụng

Ở production, số quyết định là tỉ lệ trúng cache: test thực địa 4xH200 ghi 96% input trúng cache, tầng KV DeepSeek giữ hơn 72 giờ (TTL 3 ngày cho lưu lượng agent), khoảng 14,4 TB mỗi GPU theo dung lượng logic. Caching, không phải kernel, mới là câu chuyện giá: mỗi triệu token, đầu vào 0,30 USD nếu lệch cache nhưng 0,006 USD nếu trúng cache — đủ để một bên thuê 4xH200 tốn 440,88 USD/ngày cho việc mà API chính hãng làm chỉ 184–223 USD/ngày (xem thêm [Token cost control](/wiki/ai-token-cost/)).

Tự host thì cache nằm trong RAM thật: card 24 GB cộng thêm 10–30% VRAM cho KV mỗi lần chạy (công thức ở entry [Local LLM deployment](/wiki/local-llm-deployment/)); trên DGX Spark, weights cộng KV NVFP4 vượt 128 GB bộ nhớ chung nên decode nghẽn ở ~273 GB/s. Cache hit cũng đi cạnh độ dài cửa sổ ngữ cảnh, phần đó thuộc entry [Context window](/wiki/context-window/).

## Nguồn đã truy xuất

- [DeepSeek mở stack inference production: thay đổi gì cho người tự host](/blog/deepseek-mo-stack-inference-production/) — 96% cache hit, TTL hơn 72 giờ, 14,4 TB/GPU, 890 byte/token, bảng giá 0,006 USD — truy cập 21/10/2026
- [Deploy DeepSeek V4 Flash trên 2× DGX Spark — recipe](/blog/deploy-deepseek-v4-flash-2x-dgx-spark/) — KV cache NVFP4, 128 GB bộ nhớ chung, băng thông ~273 GB/s — truy cập 21/10/2026
- [GPU kernel fusion: vì sao cùng model mà tốc độ khác nhau](/blog/vi-gpu-kernel-fusion/) — thống kê lãng phí KV cache, PagedAttention, RadixAttention — truy cập 21/10/2026
- <https://arxiv.org/abs/2309.06180> — paper PagedAttention, nền của vLLM (v1) — xác minh qua arXiv API ngày 21/10/2026

## Liên quan

- [Inference engine (vLLM, engine suy luận)](/wiki/inference-engine/)
- [Local LLM deployment (triển khai LLM cục bộ)](/wiki/local-llm-deployment/)
- [Token cost control (kiểm soát chi phí token)](/wiki/ai-token-cost/)
- [Context window (cửa sổ ngữ cảnh)](/wiki/context-window/)
