~/LLAMA CPP/llama-cpp-b10707-optimizes-kv-cell-scan-for-faster-long-context-inference

llama.cpp b10707 tối ưu hóa quét KV-cell giúp tăng tốc suy luận ngữ cảnh dài

Phiên bản llama.cpp b10707 giới thiệu một cải tiến tối ưu hóa cho quá trình quét chuỗi KV-cell bằng cách dừng quét ngay khi tất cả các chuỗi của một cell đã được tìm thấy, thay vì quét toàn bộ các chuỗi có thể. Thay đổi này tác động trực tiếp đến hàm get_prev_tokens được sử dụng trong nhánh giải mã suy đoán n-gram (n-gram speculative decoding). Tối ưu hóa này mang lại mức tăng tốc từ 30% đến 50% trong quá trình tạo token khi suy luận Mô hình Ngôn ngữ Lớn (LLM) với ngữ cảnh dài. Nó cải thiện đáng kể hiệu suất cho các ứng dụng xử lý cửa sổ ngữ cảnh cực lớn (ví dụ từ 55k đến 132k token) mà không làm thay đổi kết quả đầu ra của mô hình. Hiệu suất cải thiện tỷ lệ thuận với số lượng KV cell được sử dụng, nghĩa là nó sẽ rất rõ rệt trong các tình huống ngữ cảnh dài nhưng không ảnh hưởng đến các prompt ngắn hoặc quá trình xử lý prompt ban đầu. Thử nghiệm thực tế trên GPU RTX PRO 6000 cho thấy tốc độ tạo token tăng từ 33,6 lên 50,9 token/giây đối với ngữ cảnh 132k.

## KIẾN THỨC NỀN

Trong quá trình suy luận LLM, KV cache lưu trữ các giá trị key và value của cơ chế attention đã được tính toán trước đó để tránh tính toán lại cho các token tiếp theo. Giải mã suy đoán (speculative decoding), chẳng hạn như giải mã suy đoán n-gram, sử dụng các mẫu thống kê từ đầu vào để dự đoán trước nhiều token cùng lúc, đòi hỏi phải quét KV cache để truy xuất các token trước đó.

## TÀI LIỆU THAM KHẢO

## TỪ KHÓA

#llama.cpp#LLM Inference#Performance Optimization#AI Hardware

$ subscribe --daily

llama.cpp b10707 tối ưu hóa quét KV-cell giúp tăng tốc suy luận ngữ cảnh dài | Daily News