Giới thiệu
WASTE, viết tắt của Weight-Aware Streaming Tensor Engine, là một inference engine C không phụ thuộc runtime bên thứ ba. Mục tiêu của repo là chạy model MoE cực lớn khi toàn bộ weights không thể nằm trong RAM của máy phổ thông.
Proof point hiện tại là Kimi K3 2,78 nghìn tỷ tham số. Model gốc khoảng 1,42 TB, được convert thành container khoảng 982 GiB, rồi chạy trên MacBook Pro 64 GB với tốc độ được báo cáo 0,45-0,62 token/giây.
Cơ chế chính
WASTE giữ phần trunk của model trong RAM, đặt expert weights trên NVMe, và dùng phần RAM còn lại làm expert cache. Vì Kimi K3 là mixture-of-experts, mỗi token chỉ kích hoạt một phần nhỏ weights; engine chỉ đọc phần expert cần thiết thay vì cố nhét cả model vào bộ nhớ.
Repo nêu hai tối ưu quan trọng: overlap đọc expert với phép tính, và prefetch expert cho layer tiếp theo dựa trên dự đoán router. Cách này tăng hit rate cache từ 14% lên 38% trong số đo của tác giả mà không thay đổi logits.
Yêu cầu thực tế
- Cần khoảng 982 GiB cho container sau khi convert.
- Quá trình convert còn cần thêm khoảng 1,42 TB staging cho shards gốc.
- RAM tối thiểu để mở Kimi K3 ở context 4K là 29,05 GiB, nhưng repo xem 64 GB là mức thực tế cho số đo đã công bố.
- NVMe nội bộ là điều kiện quan trọng, vì mỗi token có thể đọc lượng expert rất lớn; external USB storage làm tốc độ tụt mạnh.
Dev nên quan tâm vì
Nếu bạn cần model local vì dữ liệu không thể rời máy, WASTE cho thấy một hướng kỹ thuật: tối ưu layout weights và lịch đọc thay vì chỉ nói “mua GPU lớn hơn”. Điều đó không biến laptop thành cluster, nhưng nó mở một đường debug và thử nghiệm cho những model trước đây chỉ nằm trong datacenter.
Điểm cần tỉnh táo là tốc độ. 0,5 token/giây đủ cho demo, batch job chậm, hoặc nghiên cứu inference; nó chưa phải lựa chọn tốt cho assistant tương tác. Với model nhỏ hơn như Kimi-Linear 48B, repo nói cùng engine đạt 10,7 token/giây từ container 19 GiB, thực dụng hơn nhiều cho người muốn thử trước.