Chạy giả lập Nintendo NES ngay trong trọng số của mô hình Qwen 1GB

Công nghệ30 tháng 10, 2026·4 phút đọc

Dự án nesformer đã biên dịch CPU 6502 của máy NES thành các trọng số của một mô hình Qwen3.5, biến mạng nơ-ron thành một cỗ máy giả lập thực thụ. Toàn bộ trọng số do trình biên dịch tính ra chứ không hề qua huấn luyện, và mô hình dự đoán từng bước thực thi của CPU theo kiểu sinh token.

Chạy giả lập Nintendo NES ngay trong trọng số của mô hình Qwen 1GB

Trong thế giới trí tuệ nhân tạo, người ta thường nói về những mô hình ngôn ngữ "biết viết văn" hay "biết lập trình". Nhưng dự án nesformer đưa khái niệm đó đi xa hơn nhiều: nó biến một mô hình Qwen3.5 thành… chiếc máy chơi game Nintendo NES thu nhỏ.

Màn chơi Super Mario Bros chạy hoàn toàn bên trong trọng số của mô hìnhMàn chơi Super Mario Bros chạy hoàn toàn bên trong trọng số của mô hình

Ý tưởng: biên dịch phần cứng thành trọng số

Điều đáng kinh ngạc là không ai huấn luyện các trọng số này cả. Một trình biên dịch đã tính ra từng con số, rồi nhồi thẳng vào một checkpoint chuẩn Qwen3_5ForCausalLM.

Cụ thể, bên trong mô hình chứa đầy đủ:

  • CPU 6502 — lõi của chip 2A03 trên máy NES
  • 2 KB RAM làm việc của máy
  • ROM chương trình của băng game

Khi bạn "chơi" một tựa game, mô hình dự đoán nhật ký thực thi của CPU, từng token một. Một chương trình host nhỏ sẽ đảm nhận phần còn lại của cỗ máy: vẽ hình, đọc tay cầm và phát tín hiệu ngắt vblank.

Một phiên chơi game hoàn chỉnh do mô hình điều khiểnMột phiên chơi game hoàn chỉnh do mô hình điều khiển

Kế thừa từ Qwenputer

nesformer được xây dựng dựa trên Qwenputer của Divyansh Agrawal — dự án từng biên dịch một CPU CHIP-8 rồi đến RISC-V vào mô hình Qwen3.5-4B. nesformer tái sử dụng trình biên dịch của Qwenputer cùng một thủ thuật cốt lõi: trạng thái Gated DeltaNet của mô hình chính là bộ nhớ của cỗ máy.

Nói cách khác, thay vì dùng mô hình để "đoán" hành vi của chip, nhóm phát triển đã dùng mô hình như một mạch logic thực thụ, nơi mỗi phép tính đều được mã hóa sẵn trong trọng số.

Độ chính xác được kiểm chứng ra sao?

Đối với các game thử nghiệm đi kèm, mọi khung hình do mô hình tạo ra đều khớp chính xác với đầu ra của một trình giả lập 6502 thông thường. Đây là điểm khiến dự án đáng chú ý: nó không mô phỏng "na ná" mà tái tạo đúng logic phần cứng.

Dự án cũng đi kèm một loạt công cụ để chạy và kiểm tra, chẳng hạn như lệnh:

python -m nesformer run roms/thwaite.nes --frames 3 --engine hf

File hfcheck.py minh họa toàn bộ quy trình: nạp checkpoint, giải mã một token đệm, ghi trạng thái của cỗ máy vào các trạng thái DeltaNet trong cache, rồi lần lượt đưa token vào.

Bên trong kho mã nguồn

Cấu trúc dự án được chia rất rõ ràng:

  • spec.py — định nghĩa các họ token và bản ghi
  • cpu.py — CPU 6502 tham chiếu, nơi ghi ra vết thực thi
  • host.py — phần bao quanh CPU: PPU, tay cầm, thời điểm NMI, đếm chu kỳ
  • core.py — mạch logic và ảnh chụp trạng thái
  • weights.py — bộ phát chuyển mạch logic thành checkpoint Qwen
  • engine.py, fastengine.py — chạy trọng số bằng numpy/numba
  • hfcheck.py — chạy trọng số trên thư viện transformers gốc

Phần trọng số đã biên dịch đi kèm mã kiểm tra SHA-256 để đảm bảo tính toàn vẹn.

Góc nhìn cho cộng đồng công nghệ Việt

Với các lập trình viên và nhà nghiên cứu AI tại Việt Nam, nesformer là một ví dụ sinh động cho thấy ranh giới giữa phần cứng, phần mềm và mô hình học máy đang ngày càng mờ đi. Thay vì phải chạy giả lập trên CPU/GPU theo cách truyền thống, ta có thể "nhúng" cả một hệ thống vào trọng số của mạng nơ-ron.

Hướng tiếp cận này mở ra tiềm năng đáng kể trong các bài toán tính toán có thể kiểm chứng (verifiable computing) — nơi kết quả do mô hình sinh ra có thể đối chiếu chính xác với một hệ tham chiếu. Đồng thời, nó cũng đặt ra câu hỏi thú vị về giới hạn của mô hình ngôn ngữ: liệu một mô hình vài trăm triệu tham số có thể "chứa" được những cỗ máy phức tạp đến đâu?

Giấy phép và ghi công

nesformer phát hành theo giấy phép MIT. Trình biên dịch chipformer của Qwenputer cũng dùng MIT, © 2026 Divyansh Agrawal. Các ROM thử nghiệm giữ giấy phép riêng, bao gồm nestest của Kevin Horton, Full Game của Doug Fraker (MIT) và Thwaite của Damian Yerrick (GPL-3.0).

Toàn bộ mã nguồn và trọng số có thể tải về từ kho GitHub của dự án — một món đồ chơi công nghệ đáng để bất kỳ ai quan tâm đến AI và hệ thống nhúng thử nghiệm.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗