Hook
Một developer vừa mở nguồn dự án chỉ 176KB, viết bằng C99 thuần, không cần GPU, CUDA hay PyTorch – nhưng có thể chạy mô hình Kimi K3 với 2.78 nghìn tỷ tham số trên một thiết bị chỉ có 8GB RAM. Tốc độ? 32.7 giây cho một token. Lưu trữ cần gần 1.7TB NVMe. Đây là thử nghiệm táo bạo, nhưng liệu có mở ra hướng đi mới cho việc chạy AI trên phần cứng tối thiểu?
Context
Kimi K3 là mô hình ngôn ngữ lớn sử dụng kiến trúc MoE (Mixture of Experts). Tổng số tham số lên tới 2.78T, nhưng mỗi lớp chỉ kích hoạt 16 trên 896 expert. Điều này có nghĩa là chỉ một phần rất nhỏ trọng số được dùng tại mỗi bước suy luận. Thông thường, để chạy mô hình cỡ này, cần ít nhất 1.5TB bộ nhớ GPU (dùng FP16). Nhưng developer của dự án kimi-k3-in-c đã tận dụng đặc điểm MoE để lưu trữ phần lớn trọng số trên ổ cứng NVMe, chỉ tải các expert cần thiết vào RAM khi inference. Đồng thời, các lớp dense trunk cũng được tải streaming theo từng lớp.
Core
Phân tích kỹ thuật từ mã nguồn cho thấy dự án này không dùng bất kỳ thư viện học sâu nào. Toàn bộ pipeline được viết bằng C99, tối ưu cho CPU đa luồng. Cơ chế hoạt động: khi cần sinh token, hệ thống sẽ đọc từ NVMe các expert cần thiết (dựa trên routing vector) và nạp vào RAM chỉ 8GB. Các lớp dense trunk cũng được load dần dần từ ổ cứng. Điều này giúp tránh việc phải giữ toàn bộ 1.56TB trọng số trong bộ nhớ.
Tuy nhiên, hiệu năng hiện tại rất hạn chế. Ở chế độ 8GB RAM, mỗi token mất 32.7 giây, tức gần 1800 token mỗi giờ. So với mô hình GPT-4 chạy trên GPU A100 (khoảng 100 token/giây), tốc độ này chậm hơn 3000 lần. Hơn nữa, nó yêu cầu ổ NVMe dung lượng lớn (1.7TB) với tốc độ đọc tuần tự tối thiểu 3.5GB/s để duy trì latency. Nếu dùng ổ SATA SSD, thời gian sinh token có thể tăng lên hàng phút.
Dựa trên kinh nghiệm audit của tôi với các dự án inference tối ưu, đây là một hướng tiếp cận thú vị nhưng chưa thực tế. Vấn đề chính không chỉ là tốc độ, mà còn là băng thông NVMe. Khi số lượng expert kích hoạt tăng lên (ví dụ trong các tác vụ phức tạp), nhu cầu đọc dữ liệu sẽ vượt quá khả năng của PCIe 4.0. Thực tế, developer thừa nhận đây là thử nghiệm mang tính khám phá, không có giá trị sản xuất.
Contrarian
Góc nhìn phản trực giác: Mặc dù hiệu năng kém, nhưng dự án này mở ra một hướng đi mới cho việc chạy mô hình lớn trên thiết bị biên (edge device) – một lĩnh vực đang được các dự án blockchain quan tâm. Trong không gian phi tập trung, các node thường chạy trên phần cứng hạn chế (Raspberry Pi, laptop cũ). Nếu kết hợp MoE + streaming storage, có thể chạy các mô hình AI cỡ vừa trên các node này, phục vụ cho các ứng dụng như chứng minh tri thức (zk-proofs) hoặc tác nhân tự động (autonomous agents).
Một phát hiện gây sốc: Code của dự án chỉ 176KB, nhưng phần logic tối ưu memory mapping và đọc file chiếm tới 60%. Điều này cho thấy việc ép MoE lên CPU không phải là vấn đề thuật toán, mà là vấn đề I/O. Nếu NVMe tốc độ cao trở nên phổ biến (ví dụ PCIe 5.0 với 14GB/s), thì thời gian sinh token có thể giảm xuống dưới 1 giây cho mô hình 2.78T – một con số khả thi cho các tác vụ batch.
Takeaway
Dự án kimi-k3-in-c không phải là giải pháp sản xuất, nhưng nó đặt ra câu hỏi: Liệu sự kết hợp giữa MoE sparse activation và lưu trữ streaming có phải là chìa khóa để dân chủ hóa AI trên phần cứng giá rẻ? Trong bối cảnh các blockchain như Bittensor hay Sahara đang thử nghiệm inference phi tập trung, hướng đi này có thể thay đổi cuộc chơi – nhưng còn cần ít nhất 2-3 năm nữa để băng thông NVMe đuổi kịp yêu cầu.