Trí tuệ nhân tạo cục bộ (Local AI) thường yêu cầu dung lượng RAM rất lớn. Với các mô hình như Gemma 4 26B-A4B, việc nạp toàn bộ trọng số (weights) vào RAM có thể tiêu tốn 16GB đến 32GB RAM. TurboFieldfare giải quyết triệt để vấn đề này bằng cách tận dụng kiến trúc Mixture-of-Experts (MoE) để chạy mô hình 26B tham số chỉ với khoảng 2GB RAM.
Thách thức của các mô hình LLM lớn trên RAM giới hạn#
Các khung làm việc phổ biến như llama.cpp hay MLX thường nạp toàn bộ tham số mô hình vào bộ nhớ RAM/VRAM. Đối với máy Mac 8GB RAM (như MacBook Air M2), điều này khiến việc vận hành các mô hình lớn hơn 7B trở nên bất khả thi hoặc bị giật giật nghiêm trọng do dồn ép bộ nhớ (swap overhead).
[!NOTE] Các mô hình Mixture-of-Experts (MoE) chỉ kích hoạt một vài “expert” (chuyên gia) nhất định cho mỗi token đầu ra, thay vì sử dụng toàn bộ tham số cùng lúc.
Cơ chế hoạt động của TurboFieldfare#
TurboFieldfare chia mô hình thành hai phần chính:
- Shared Core & KV Cache (~1.35 GB): Được giữ cố định trực tiếp trong RAM để xử lý các phép tính nền tảng và duy trì ngữ cảnh hội thoại.
- Dynamic Experts (SSD On-Demand Streaming): Các lớp expert được lưu trữ trên ổ đĩa SSD NVMe siêu tốc của Mac và chỉ được nạp vào RAM khi token cần đến.
// Mô phỏng logic nạp expert theo nhu cầu từ SSD
func loadExpertOnDemand(expertId: Int) async throws -> MetalBuffer {
if let cached = cache.get(expertId) {
return cached
}
let buffer = try await ssdReader.readExpertChunk(id: expertId)
cache.insert(expertId, buffer)
return buffer
}swift[!TIP] Nhờ tốc độ đọc dữ liệu vô cùng ấn tượng của SSD Apple Silicon, việc stream các block tham số theo nhu cầu đạt được tốc độ từ 5–6 tokens/giây trên chip M2 và hơn 30 tokens/giây trên các chip M5 Pro.
Tài liệu tham khảo#
- Repository chính thức: drumih/turbo-fieldfare ↗
- Báo cáo thử nghiệm hiệu năng & Benchmark của cộng đồng TurboFieldfare.