llama.cpp Phát Hành Bản b10981 Tối Ưu Hóa Stateful Decode và Suy Luận MoE GPU Cho OpenVINO
llama.cpp đã phát hành phiên bản b10981, mang đến các tối ưu hóa quan trọng cho backend OpenVINO đối với quá trình giải mã KV-cache dạng stateful và suy luận Mixture-of-Experts (MoE) trên GPU. Bản cập nhật này sửa các lỗi kiến trúc liên quan đến bố cục multi-head attention và các lớp sliding-window trên các mô hình phức tạp như Gemma-4, đồng thời giới thiệu các tính năng như đẩy bộ đệm trọng số ra đĩa và mục tiêu tái định lượng 4-bit. Những cải tiến này mang lại hiệu suất suy luận tăng đáng kể cho người dùng phần cứng Intel khi chạy các mô hình ngôn ngữ lớn (LLM) cục bộ thông qua OpenVINO. Quá trình giải mã stateful trên ngữ cảnh dài ghi nhận tốc độ sinh token tăng rõ rệt, như Gemma-4-12B tăng từ 6,27 lên 9,11 token/giây ở độ sâu ngữ cảnh 8.192. Bản phát hành áp dụng `pass::KVStateSeqAxis` trên các trạng thái multi-head để loại bỏ thao tác chuyển vị (transpose) tensor lặp đi lặp lại phía reader trong quá trình giải mã, tránh suy giảm hiệu suất ở độ sâu ngữ cảnh cao. Bản cập nhật cũng bổ sung các cấu hình môi trường bao gồm `GGML_OPENVINO_REQUANT_KQUANT` để chọn mục tiêu 4-bit và `GGML_OPENVINO_SPILL_DIR` để xử lý giới hạn bộ nhớ bằng cách đẩy bộ đệm trọng số ra đĩa.
## KIẾN THỨC NỀN
Suy luận mô hình ngôn ngữ lớn gồm giai đoạn prefill và giai đoạn giải mã tự hồi quy (decode), trong đó mỗi token mới sinh ra phụ thuộc vào các trạng thái key-value (KV) trước đó được lưu trong bộ nhớ. OpenVINO là bộ công cụ mã nguồn mở của Intel được thiết kế để tối ưu hóa và thực thi các mô hình AI trên CPU, GPU và NPU của Intel. Các kỹ thuật như sliding-window attention giới hạn kích thước KV cache bằng cách chỉ giữ lại các token ngữ cảnh gần đây, đòi hỏi cách xử lý chuyên biệt khi tích hợp vào các đồ thị thực thi dạng stateful.