Kimi K3 in C
Engine inference C99 thử nghiệm chạy mô hình Kimi K3 2,78 nghìn tỷ tham số trên CPU bằng cách stream trọng số từ bộ nhớ lưu trữ.
Xem thêm từ README.mdThu gọn README.md
Đánh giá chi tiết
Tổng quan
Kimi K3 in C là một engine inference C99 nhằm chứng minh mô hình Mixture-of-Experts 2,78 nghìn tỷ tham số có thể chạy trên một CPU với lượng RAM thấp hơn rất nhiều kích thước checkpoint. Dự án không dùng BLAS, framework hay GPU. Bí quyết không phải nhét toàn bộ model vào 8 GB RAM, mà giữ phần trunk cần thiết và stream lượng lớn expert weight từ storage khi router chọn chúng.
Headline “2,78T model trên 8 GB RAM” là đúng theo phép đo của tác giả nhưng dễ gây hiểu nhầm. Checkpoint vẫn khoảng 1,56 TB trên disk, và preset laptop được công bố mất trung bình 32,69 giây cho mỗi token. Đây là thí nghiệm systems engineering thú vị, không phải chatbot local nhanh cho người dùng phổ thông.
Tính năng và kiến trúc
- Engine C99 nhỏ, không phụ thuộc runtime inference bên ngoài.
- Đọc safetensors và nhân trực tiếp expert ở dạng packed 4-bit.
- Chọn 16 trong 896 expert mỗi token, kết hợp KDA và MLA của Kimi K3.
- Cache expert theo budget RAM; có preset laptop và server.
- Fixture PyTorch để kiểm tra kernel, tokenizer, router và full-model oracle thu nhỏ.
- API C cho nhu cầu nhúng engine.
Bằng chứng kiểm thử
Tôi chạy make test trong container Linux với GCC 14 tại commit được kiểm tra. Toàn bộ weightless suite vượt qua: 22 kernel test, cache/safetensors/config test, bài scale ở kích thước thực và full-model oracle fixture. Một số kiểm tra tokenizer thật bị bỏ qua vì không có model files. Kết quả này xác minh implementation với fixture và kích thước tensor, không xác minh tốc độ hoặc output của checkpoint Kimi K3 1,56 TB.
Trên macOS host, build mặc định thất bại vì Apple Clang không hỗ trợ -fopenmp; dự án hiện định vị rõ hơn cho Linux x86-64. Người dùng không nên suy rộng nhãn C99 portable thành mọi OS/CPU đều build ngay không cần điều chỉnh toolchain.
Hạn chế
Tốc độ 32,69 giây/token ở mức 8,24 GB RAM khiến trải nghiệm hội thoại hầu như không thực dụng. Storage hơn 1,5 TB, băng thông NVMe và thời gian chuẩn bị checkpoint vẫn là yêu cầu lớn. Đây cũng là base model, không có chat template hoàn chỉnh; output tiếp tục văn bản thay vì hành xử như trợ lý.
Apache-2.0 chỉ áp dụng cho code của repository. Kimi K3 do Moonshot AI phát hành dưới license riêng; repo không chứa weights và không cấp quyền sử dụng chúng. Các benchmark RAM/tốc độ là phép đo do tác giả công bố, chưa được bài review này tái lập với model thật.
Phù hợp khi nào
Dự án phù hợp với người nghiên cứu inference, MoE streaming, quantization và giới hạn memory/storage. Nếu mục tiêu là chạy model local để làm việc hàng ngày, nên chọn model nhỏ hơn hoặc engine được tối ưu cho phần cứng hiện có. Giá trị lớn nhất của Kimi K3 in C là tài liệu và bằng chứng kiến trúc, không phải tốc độ sử dụng.