llama.cpp Hỗ Trợ Kiến Trúc MoE Tam Phân Maple 20B-A1B Trên CPU
Pull Request số 27000 trong llama.cpp do AlexGabbia thực hiện đã bổ sung tính năng hỗ trợ CPU cho kiến trúc Maple 20B-A1B. Kiến trúc mô hình mới này kết hợp quy mô 20 tỷ tham số với kỹ thuật định lượng tam phân và thiết kế Mixture-of-Experts. Việc kết hợp định lượng tam phân với cơ chế định tuyến Mixture-of-Experts (MoE) thưa giúp phần cứng cá nhân chạy được các mô hình lớn hơn với yêu cầu VRAM và băng thông bộ nhớ thấp hơn đáng kể. Hướng đi này giúp việc vận hành các mô hình tầm 20 tỷ tham số trên CPU thông thường và máy tính VRAM thấp trở nên khả thi hơn. Kiến trúc Maple 20B-A1B chứa tổng cộng 20 tỷ tham số nhưng chỉ kích hoạt 1 tỷ tham số cho mỗi token trong quá trình suy luận. Bản triển khai PR ban đầu tập trung tối ưu hóa riêng cho việc thực thi trên CPU trong bộ máy ggml/llama.cpp.
## KIẾN THỨC NỀN
Mixture-of-Experts (MoE) là một kiến trúc mạng nơ-ron định tuyến các token đầu vào đến các mạng con chuyên biệt (chuyên gia), cho phép mở rộng dung lượng tham số tổng thể mà không làm tốn chi phí tính toán trên toàn bộ tham số cho mỗi token. Mạng nơ-ron tam phân (Ternary neural networks) nén các trọng số chỉ còn ba giá trị (-1, 0, 1), giúp giảm mạnh dung lượng bộ nhớ và thay thế các phép nhân nặng nề bằng các phép cộng nhẹ nhàng.