llama.cpp Phát Hành Bản b10777 Tối Ưu Hóa Backend SYCL Cho Lượng Hóa Q4_K
Bản phát hành llama.cpp b10777 giới thiệu các cải tiến tối ưu hóa cho backend SYCL nhằm giảm bớt công việc thừa trong quá trình nhân ma trận - vectơ nhiều cột (MMVQ) của mô hình lượng hóa Q4_K. Cập nhật này tối ưu hóa việc giải nén trọng số và cho phép tái sử dụng kích hoạt (activation) giữa các hàng và cột thông qua subgroup. Các tối ưu hóa này cải thiện hiệu suất suy luận cho các mô hình LLM lượng hóa 4-bit chạy trên các nền tảng phần cứng hỗ trợ SYCL, chẳng hạn như GPU Intel. Việc giảm thiểu các phép tính và truy xuất bộ nhớ thừa giúp người dùng đạt tốc độ xử lý tốt hơn khi triển khai mô hình. Bản vá triển khai tính năng tái sử dụng kích hoạt qua subgroup cho các kích thước N nhỏ (từ N=2 đến 4) kết hợp với các hàng đầu ra, đồng thời thiết lập hằng số ngưỡng hàng tối thiểu (`Q4_K_MMVQ_ROW_PAIR_MIN_NROWS=6272`). Bản vá cũng bổ sung các bài kiểm tra hiệu năng chuyên biệt để xác minh độ bao phủ của phép nhân ma trận xung quanh ngưỡng hàng này.
## KIẾN THỨC NỀN
llama.cpp là một framework suy luận LLM bằng C/C++ được sử dụng rộng rãi, hỗ trợ thực thi hiệu quả trên nhiều backend phần cứng khác nhau. SYCL là một chuẩn lập trình C++ đa nền tảng do Khronos Group phát triển nhằm tăng tốc tính toán trên các thiết bị dị thể như GPU Intel. Q4_K là một phương pháp lượng hóa 4-bit trong llama.cpp được thiết kế để giảm dung lượng bộ nhớ của mô hình mà vẫn duy trì độ chính xác khi suy luận.