Bản phát hành llama.cpp b12005 bổ sung hỗ trợ lượng tử hóa q2_0 và tối ưu hóa Adreno
Bản phát hành llama.cpp b12005 giới thiệu khả năng hỗ trợ lượng tử hóa q2_0 ban đầu thông qua OpenCL cùng với các tối ưu hóa hiệu suất chuyên biệt cho phần cứng Qualcomm Adreno. Các cập nhật này bao gồm các triển khai phép nhân ma trận-véc-tơ và GEMM cụ thể được thiết kế riêng cho kiến trúc thiết bị di động và biên. Bản phát hành này cải thiện đáng kể hiệu suất chạy các mô hình ngôn ngữ lớn trên phần cứng di động và thiết bị biên, đặc biệt là các thiết bị chạy chip Snapdragon. Bằng cách cho phép lượng tử hóa số bit thấp trên GPU di động, các nhà phát triển có thể triển khai các mô hình lớn hơn và mạnh mẽ hơn trực tiếp trên điện thoại thông minh và hệ thống nhúng. Bản cập nhật tích hợp các triển khai OpenCL cho các phép toán ma trận-véc-tơ dạng Array-of-Structures (AOS) và Structure-of-Arrays (SOA) của q2_0, nhân ma trận dạng ô (tiled), và các tập lệnh dp4a cho Adreno. Nó cũng tối ưu hóa các thao tác giải mã (decode) và xử lý lô hẹp (narrow batch) trên GPU Adreno.
## KIẾN THỨC NỀN
llama.cpp là một thư viện phần mềm mã nguồn mở cho phép suy luận mô hình ngôn ngữ lớn một cách hiệu quả trên phần cứng cục bộ với thiết lập tối thiểu. Lượng tử hóa làm giảm dung lượng bộ nhớ của trọng số mô hình bằng cách hạ độ chính xác số, cho phép các mô hình lớn chạy trên phần cứng bị hạn chế tài nguyên.