Journal / 2026 / 科技
把 NES CPU 编译进 Qwen 权重:nesformer 实测
2026 年 10 月 30 日,dbreunig 在 Hacker News 发布 nesformer:把一个 NES 的 6502 CPU、2 KB 工作内存和卡带 ROM 编译进 Qwen3.5 的权重,模型逐 token 预测 CPU 执行日志。本文梳理它的做法、运行步骤与实测边界。

目录 · 1296 字 / 3 分钟
2026 年 10 月 30 日,dbreunig 在 Hacker News 发布了 nesformer(Show HN)。它不是一个模拟器前端,而是一次「把计算机编译进模型权重」的实验:NES 的 6502 CPU、2 KB 工作内存和卡带 ROM,被放进一个标准的 Qwen3.5 检查点里;这些权重不是训练出来的,而是由编译器算出来的。
发生了什么
按项目 README 的描述,链路是这样的:
- NES 的 6502 CPU(2A03 芯片的核心)、2 KB 工作 RAM 和卡带程序 ROM,运行在一个标准的 Qwen3_5ForCausalLM 检查点内。
- 权重没有经过训练,全部由编译器计算。
- 玩游戏时,模型逐 token 预测 CPU 的执行日志;画面、手柄读取和 vblank 中断由一个小型宿主程序完成。
- 项目建立在 Divyansh Agrawal 的 Qwenputer 之上:后者先把 CHIP-8、再把 RISC-V CPU 编译进 Qwen3.5-4B,并把 Gated DeltaNet 的状态当作机器内存。nesformer 复用了它的编译器和这个核心技巧。
它到底「跑」在哪里
这里最容易误解。nesformer 不是把 NES ROM 交给一个普通模拟器,再由模型「解说」;模型自己就是 CPU。宿主程序只负责画面与输入,CPU 的每条指令由模型前向计算给出。
Qwenputer 的作者在博客里解释了底层机制:Qwen3.5 的多数注意力层使用 Gated DeltaNet(一种线性 RNN),每个头维护一个状态矩阵;把门控设为 1,这个状态就可以当作精确的 RAM 使用。nesformer 把 NES 的 2 KB 工作内存映射到这套状态上。
怎么自己试
- 准备 Python 环境,安装
numpy、scipy、numba、pillow。 - 解压
nesformer-weights.zip到nesformer/包旁边,用仓库里的SHA256SUMS校验权重。 - 跑仓库自带的测试 ROM,例如
python -m nesformer run roms/thwaite.nes --frames 600 --show。 - 想换游戏,需要自备 NROM(iNES mapper 0)ROM,例如 Super Mario Bros.、Donkey Kong 或 Excitebike;仓库只附带三个自由许可的测试 ROM。
性能要有心理准备:第一次运行大约花 20 秒用 numba 编译引擎;之后每帧 1–6 秒,600 帧(10 秒 NES 时间)大约 25 分钟。这不是一个能实时玩的模拟器,而是一个可以观察「模型内部真的在算 CPU」的实验装置。
为什么值得看
它把两件通常分开的事接在了一起:模型的权重可以承载一个确定性的状态机,而不只是概率性的文本生成。README 说,对仓库附带的测试游戏,每一帧都与传统 6502 模拟器的输出完全一致。这句话是项目方自己的验证口径,本文没有独立复跑。
对读者来说,最实际的动手点是:用同一套 Qwenputer 编译器,换一个更小的指令集或更简单的状态机,看看多小的模型还能保持逐帧一致。这比再跑一遍基准测试更能说明「编译进权重」的边界。
还没验证的部分
- 帧级一致性:只有项目方 README 的声明,本文没有独立复跑逐帧比对。
- 「约 1GB 权重」的实际占用:取决于解压后的权重文件与运行环境,本文没有逐项测量。
- 不同 ROM 的兼容性:仓库只保证 NROM(mapper 0);其他 mapper 的卡带不在承诺范围内。
- 速度是否可优化:1–6 秒一帧是作者给出的量级,未验证量化、批处理或换后端后的表现。
参考来源
本文基于以下公开报道整理:
- dbreunig/nesformer — 项目仓库与 README
- Qwenputer: a fully functioning, deterministic RISC-V CPU inside Qwen3.5 — Divyansh Agrawal,2026-10-22
- divagr18/qwenputer — 底层编译器与 RISC-V CPU 实现
- Show HN: A working Nintendo in ~1GB of Qwen weights — Hacker News 讨论
本文由 AI 辅助整理,事实与引文来自项目 README、Qwenputer 作者博客与 Hacker News 公开元数据;未独立复跑帧级比对,配图为本地生成的信息图。
所属主题
TopicsAI 观察 AI Insights