KV Cache Đang Trở Thành Điểm Nghẽn VRAM Lớn Hơn Cả Số Lượng Tham Số
Một bài đăng nổi bật trên cộng đồng chỉ ra rằng đối với suy luận LLM ngữ cảnh dài (như 100k đến 200k token), dung lượng bộ nhớ và băng thông của KV cache đang trở thành điểm nghẽn VRAM lớn hơn cả số lượng tham số tĩnh của mô hình. Mỗi token được tạo ra sẽ làm tăng thêm các trạng thái bộ nhớ key và value, khiến mô hình dù nằm gọn trong GPU lúc ban đầu vẫn có thể gây tràn VRAM khi ngữ cảnh kéo dài. Sự chuyển dịch này cho thấy việc tối ưu hóa LLM chạy cục bộ trong tương lai sẽ ưu tiên việc giảm trạng thái bộ nhớ lưu trữ và di chuyển dữ liệu thay vì chỉ tập trung thu nhỏ trọng số mô hình qua lượng hóa. Điều này làm thay đổi cơ bản cách thiết kế và triển khai các mô hình mã nguồn mở trên phần cứng người dùng cuối vốn có dung lượng VRAM hạn chế. Mặc dù các kỹ thuật kiến trúc như Grouped-Query Attention (GQA), Multi-Query Attention (MQA) và lượng hóa KV cache giúp giảm dung lượng bộ nhớ trên từng token, bộ nhớ đệm này vẫn tăng tuyến tính theo chiều dài ngữ cảnh. Do đó, việc di chuyển dữ liệu trong bộ nhớ và duy trì trạng thái lưu trữ trở thành những điểm nghẽn cốt lõi khi suy luận ngữ cảnh dài cục bộ.
## KIẾN THỨC NỀN
Trong quá trình suy luận của Mô hình Ngôn ngữ Lớn (LLM), KV cache lưu trữ các trạng thái chú ý Key và Value đã tính toán trước đó vào bộ nhớ GPU (VRAM) để tránh phải tính toán lại cho các token cũ mỗi khi tạo từ mới. Kiến trúc Multi-Head Attention (MHA) truyền thống duy trì các đầu KV riêng cho từng đầu query, gây tốn rất nhiều bộ nhớ. Các tối ưu hóa như MQA và GQA gom các đầu query lại để dùng chung các đầu KV, giúp giảm đáng kể kích thước của KV cache.