Tiếp theoHướng dẫn tiếp theo
Bộ đệm KV
Ngôn ngữ AI
HƯỚNG DẪN KỸ THUẬT
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.
Nghe hướng dẫn nàyAI thuật lại · ~2 min
Tối ưu hóa bộ nhớ đệ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.
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ề để giảm 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à các 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.
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 đồng thời giảm 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
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.
Bản tin miễn phí
Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.
Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.
Tự kiểm tra
Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.
Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp
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.
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.
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 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.
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 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.
Tiếp tục học hỏi
Đã chọn thêm hướng dẫn cho chủ đề này
Tiếp theoHướng dẫn tiếp theo
Bộ đệm KV
Ngôn ngữ AI