Bản phát hành llama.cpp b10739 bổ sung tinh chỉnh Metal Flash-Attention cho M2 Max
Phiên bản b10739 của llama.cpp giới thiệu tính năng tinh chỉnh vectơ Metal Flash-Attention được tối ưu hóa riêng cho GPU Apple M2 Max 30 nhân. Bản cập nhật này tích hợp các tham số tinh chỉnh hiệu năng cho kiểu dữ liệu f16 và q8_0 trực tiếp vào bảng tra cứu của backend Metal. Sự tối ưu hóa này giúp cải thiện tốc độ suy luận LLM và hiệu quả sử dụng tài nguyên trên các dòng máy Mac chạy chip Apple Silicon, đặc biệt là các thiết bị dùng chip M2 Max. Điều này thể hiện nỗ lực liên tục của cộng đồng mã nguồn mở trong việc tối ưu hóa hiệu năng tối đa cho từng cấu hình phần cứng cụ thể. Các giá trị tinh chỉnh được tạo bằng công cụ 'ggml-metal-tuning fa-vec' cho độ chính xác f16 và q8_0, sau đó được cập nhật vào 'fa_vec_tuned_table' thông qua PR #28015. Các tệp thực thi biên dịch sẵn cũng đã được cập nhật đồng bộ cho nhiều hệ điều hành như macOS, Linux, Windows và Android.
## KIẾN THỨC NỀN
llama.cpp là một khung làm việc C/C++ hiệu năng cao giúp chạy các mô hình ngôn ngữ lớn (LLM) cục bộ trên nhiều loại phần cứng, sử dụng API Metal của Apple để tăng tốc GPU trên macOS. FlashAttention là một thuật toán tối ưu IO giúp tăng tốc các lớp chú ý (attention) trong mô hình Transformer bằng cách hạn chế các thao tác đọc/ghi bộ nhớ chậm giữa bộ nhớ băng thông cao và bộ nhớ SRAM nhanh trên chip.