llama.cpp Phát Hành Bản b10730 Tối Ưu Tốc Độ Xử Lý Prompt Cho Qwen
Phiên bản llama.cpp b10730 giới thiệu một tối ưu hóa thao tác tensor giúp tính tổng các đầu chỉ số (indexer heads) theo lát cắt cho các biến thể mô hình Qwen. Bản cập nhật này loại bỏ các thao tác chuyển vị và sao chép bộ nhớ thừa trong giai đoạn xử lý prompt. Bản sửa lỗi cải thiện tốc độ xử lý prompt, tăng hiệu suất từ 2.170 lên 2.366 token/giây ở cửa sổ ngữ cảnh 55k trên GPU RTX PRO 6000. Vì khối lượng tính toán được giảm bớt tỉ lệ thuận với độ dài chuỗi và kích thước batch, các luồng công việc với ngữ cảnh dài sẽ ghi nhận mức tăng hiệu năng lớn nhất. Tối ưu hóa này thay thế các thao tác transpose và `sum_rows` bằng các phép cộng lát cắt phân đoạn trên các đầu kề nhau theo chiều `ne[1]`. Ngoài ra, một thao tác sao chép bộ nhớ liên tục thừa trên truy vấn chỉ số nạp vào `ggml_reshape_3d` đã được loại bỏ mà không làm thay đổi kết quả sinh token.
## KIẾN THỨC NỀN
llama.cpp là một khung suy luận C/C++ mã nguồn mở dựa trên thư viện GGML, cho phép chạy các LLM hiệu quả trên phần cứng thương mại và doanh nghiệp. Trong GGML, kích thước các chiều tensor được lưu trong mảng `ne` theo thứ tự ngược với PyTorch, và các kiến trúc mới như Qwen phụ thuộc vào các đầu chỉ số trong cơ chế chú ý thưa để lọc ngữ cảnh nhanh chóng.