HƯỚNG DẪN KỸ THUẬT

Tối ưu hóa bộ đệm KV

Bộ đệm KV lưu trữ các khóa và giá trị mà máy biến áp đã tính toán để nó không thực hiện lại công việc đối với mỗi mã thông báo mới — nhưng nó có thể tăng vọt lên hàng gigabyte.

Đọc trong 2 phútCập nhật lần cuối

Tổng quan

KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.

Lặn sâu

Trong máy biến áp, mỗi mã thông báo mới sẽ tham dự tất cả các mã thông báo trước đó thông qua các khóa chú ý (K) và giá trị (V). Việc tính toán lại K và V cho toàn bộ chuỗi ở mỗi bước sẽ là phương pháp bậc hai và lãng phí, vì vậy các mô hình sẽ lưu chúng vào bộ đệm: bộ đệm KV. Nhược điểm là kích thước. Bộ nhớ đệm phát triển tuyến tính theo độ dài chuỗi, kích thước lô, lớp và đầu, do đó, một yêu cầu ngữ cảnh dài có thể tiêu tốn nhiều bộ nhớ GPU hơn trọng lượng của chính mô hình. Tính năng tối ưu hóa giải quyết vấn đề này từ nhiều góc độ: bộ nhớ phân trang (PagedAttention của vLLM) lưu trữ bộ đệm trong các khối không liền kề để loại bỏ tình trạng phân mảnh và cho phép chia sẻ; lượng tử hóa lưu trữ K và V ở dạng 8 bit hoặc 4 bit; và những thay đổi về kiến ​​trúc như Chú ý truy vấn theo nhóm (GQA) và Chú ý nhiều truy vấn (MQA) cho phép nhiều đầu truy vấn chia sẻ ít đầu khóa/giá trị hơn, giảm kích thước bộ nhớ đệm ở nguồn.

Hiểu biết kỹ thuật

PagedAttention mượn khả năng phân trang bộ nhớ ảo từ hệ điều hành: bộ nhớ đệm tồn tại trong các khối có kích thước cố định được ánh xạ qua bảng tra cứu, vì vậy các yêu cầu chỉ sử dụng các khối mà chúng cần và các tiền tố giống hệt nhau (như lời nhắc hệ thống dùng chung) có thể trỏ đến cùng các khối. Sự chú ý tiềm ẩn nhiều đầu (MLA), được sử dụng trong các mô hình DeepSeek, nén K và V thành một vectơ tiềm ẩn được chia sẻ nhỏ, cắt giảm đáng kể bộ nhớ trong khi vẫn giữ được độ chính xác.

Tác động chiến lược

Chi phí và ngân sách

Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.

Quyết định rõ ràng hơn

Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.

Kiểm soát chất lượng

Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.

Tương lai của việc tối ưu hóa bộ đệm KV

Khi cửa sổ ngữ cảnh mở rộng tới hàng trăm nghìn hoặc hàng triệu mã thông báo, bộ nhớ đệm KV sẽ trở thành chi phí phân phát chính. Yêu cầu tính năng nén và loại bỏ bộ nhớ đệm mạnh mẽ (loại bỏ các mã thông báo có mức độ chú ý thấp), chia sẻ tiền tố yêu cầu chéo làm mặc định, giảm tải bộ nhớ đệm nguội cho CPU hoặc NVMe và các kiến ​​trúc như MLA và GQA trở thành tiêu chuẩn. Việc quản lý bộ đệm sẽ ngày càng giống với hệ thống phân cấp bộ nhớ đầy đủ với các tầng và tìm nạp trước thông minh.

Triển khai trong thế giới thực

PagedAttention của vLLM phục vụ nhiều phiên trò chuyện đồng thời bằng cách đóng gói các khối KV mà không bị phân mảnh bộ nhớ

Chú ý truy vấn theo nhóm trong các mô hình Llama giúp giảm kích thước bộ đệm KV để ngữ cảnh dài hơn phù hợp với bộ nhớ GPU

Định lượng bộ nhớ đệm KV thành 8 bit (KV8) để giảm gần một nửa bộ nhớ đệm trong quá trình tóm tắt tài liệu dài

Bộ nhớ đệm tiền tố tái sử dụng các khối KV của lời nhắc hệ thống dùng chung qua hàng nghìn yêu cầu API

Rủi ro & lan can

Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.

Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.

Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.

Lộ trình thực hiện

1

Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.

2

Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.

3

Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.

4

Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.

Tiếp tục khám phá

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 Optimization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Bắt đầu bài kiểm tra

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Câu hỏi thường gặp

What is KV Cache Optimization?

Bộ đệm KV lưu trữ các khóa và giá trị mà máy biến áp đã tính toán để nó không thực hiện lại công việc đối với mỗi mã thông báo mới — nhưng nó có thể tăng vọt lên hàng gigabyte. Tối ưu hóa bộ đệm KV thu nhỏ và quản lý bộ nhớ đó để các mô hình phục vụ ngữ cảnh dài hơn cho nhiều người dùng hơn cùng một lúc.

Bộ đệm KV lưu trữ những gì và tại sao?

Khóa và giá trị lưu vào bộ nhớ đệm từ các mã thông báo trước sẽ tránh thực hiện lại việc tính toán chú ý trên mỗi mã thông báo mới, tiết kiệm thời gian.

Tại sao bộ đệm KV có thể trở thành vấn đề về bộ nhớ?

Kích thước bộ đệm thay đổi theo độ dài ngữ cảnh và tính đồng thời, vì vậy các yêu cầu dài có thể sử dụng lượng bộ nhớ GPU rất lớn.

PagedAttention mượn khái niệm hệ điều hành nào?

PagedAttention lưu trữ bộ đệm trong các khối có kích thước cố định không liền kề được ánh xạ qua một bảng, giống như phân trang của hệ điều hành.

Làm cách nào để Truy vấn theo nhóm và Chú ý nhiều truy vấn giảm kích thước bộ nhớ đệm KV?

Chia sẻ các đầu khóa/giá trị trên nhiều đầu truy vấn có nghĩa là lưu trữ ít vectơ K và V hơn.

Lợi ích của việc chia sẻ tiền tố trong bộ đệm KV là gì?

Lời nhắc hệ thống dùng chung tạo ra các mục KV giống hệt nhau, do đó, nhiều yêu cầu có thể trỏ đến cùng một khối thay vì sao chép chúng.