Mô hình thử nghiệm: Biên dịch một CPU RISC-V 32 bit thành một Transformer gồm 11 lớp, đặt trước các lớp của chính Qwen3.5-4B, sử dụng trạng thái Gated DeltaNet của Qwen làm bộ nhớ, cho phép mô hình thực thi thực sự các chương trình C và MicroPython trong quá trình tính toán lan truyền tiến (forward pass), và viết ra chính xác từng chữ số các phép tính số học như nhân chia số lớn.
Số sao 309 (+80 / 24h)
Lý do
- Trọng số của lớp CPU không được huấn luyện mà được tính toán trực tiếp bởi trình biên dịch; Qwen vẫn viết các lệnh gọi công cụ calc như bình thường, nhưng không có bộ thực thi bên ngoài nào, lớp tính toán bên trong mô hình đọc lệnh gọi, thực hiện tính toán trên CPU, sau đó mô hình tự viết ra kết quả từng chữ số. Tác giả tuyên bố đã vượt qua các bài kiểm tra riscv-tests chính thức, với sai số bằng không khi phát lại khoảng 23 vạn vị trí đầu ra, và độ phân kỳ KL về mặt hành vi văn bản so với mô hình gốc là 6e-4
- So sánh do tác giả cung cấp (giải mã tham lam, mỗi nhóm 40 câu hỏi): Phép tính số nguyên tổng hợp tăng từ 75.0 ở mô hình cơ sở lên 97.5, phép nhân số lớn mul_big của DeepMind tăng từ 55.0 lên 97.5, tương đương với kết quả của mô hình cơ sở khi gọi trình thông dịch Python trên máy chủ
- Các nhánh thử nghiệm khác: Phiên bản NPU có thêm chỉ thị tích vô hướng (dot product) có thể chạy mô hình nhỏ stories260K với 26 vạn tham số ngay trong mô hình; phiên bản hệ thống tệp lưu trữ tối đa 512 tệp trong trạng thái DeltaNet, tác giả tuyên bố điểm bài kiểm tra hồi tưởng xuyên phiên tăng từ 7.8 lên 83.3; phiên bản CHIP-8 ban đầu vẫn có thể tải xuống
Cách sử dụng
- Sau khi git clone, vào thư mục experimental/riscv, chạy uv sync --extra hf, tải trọng số bằng lệnh hf download divagr1925/Qwen3.5-4B-Qwenputer, sau đó đặt câu hỏi bằng lệnh uv run python -m chipformer.rv.chat qwenputer-rv --firmware tests/data/rv/calc-bridge.elf --ask "…"
- Mô hình được tải theo chuẩn Qwen3_5ForCausalLM, mã ví dụ được đặt trên CUDA và tắt phép quy giảm độ chính xác bf16 để đảm bảo phép nhân ma trận chính xác; thiết kế và toàn bộ phép đo được mô tả trong experimental/riscv/docs/rv32.md
Rủi ro
- Tác giả tuyên bố mô hình không hữu ích trong mọi trường hợp: Các bài toán ứng dụng như GSM8K chỉ đạt mức ngang bằng, mô hình cơ sở vẫn dẫn đầu trong các chuỗi biểu thức dài, và mô hình còn lặp đi lặp lại việc kiểm tra lại các kết quả đã đưa ra cho đến khi hết ngân sách token; bảng số liệu của phiên bản CHIP-8 lấy điểm số tốt nhất trên các chuẩn đánh giá từ các điểm kiểm tra trong quá trình phát triển
- Ví dụ chạy trên GPU NVIDIA, tốc độ được tác giả cung cấp là khoảng 3,200 token theo dõi mỗi giây trên L4, phiên bản NPU mất khoảng 41 giây để tạo ra một token câu chuyện; mã nguồn theo giấy phép MIT, trọng số theo giấy phép Apache-2.0 phiên bản sửa đổi của Qwen3.5-4B, kho lưu trữ được tạo vào ngày 19 tháng 10