开发者 SheepSeb 发布了开源项目 tinyworldformer,它使用两个小型神经网络,在低成本微控制器 Raspberry Pi Pico 2 W 上创造并游玩电子游戏。主板并不运行游戏的传统代码,而是由一个神经网络逐帧“梦见”比赛画面,再由第二个网络决定操作。
第一个网络被称为世界模型:一个循环 Transformer,经过 int8 量化,根据游戏不同,参数量在 2.6 万到 13.1 万之间。每一帧,它接收当前画面和所选动作,预测下一帧画面和奖励。第二个网络是玩家智能体,一个双隐藏层的多层感知机,参数量为 9000 到 1.6 万,它观察生成的画面并选择下一个按键。
最奇妙的一点是,在芯片上,真实游戏从未运行。智能体只能看到世界模型梦见的画面,而世界模型只接收智能体的动作。两个网络共享 RP2350 芯片的核心 1,核心 0 则负责 USB 和显示。按下按钮后,玩家可以接管控制,亲自游玩机器的梦境。
项目包含五个精简版游戏:Breakout、Doom-lite、Flappy Bird、Pong 和 Pac-Man lite。开发者表示,在 Transformer 进行两次循环的情况下,模型在 Breakout 的测试转换中 99.99% 的帧完全正确,Flappy Bird 为 100%,Pong 为 99.45%;Doom-lite 和 Pac-Man lite 则分别为 83.6% 和 86.4%,部分原因是一个像素出错就会使整帧被判定为错误。
该项目也能轻松装进硬件:Pico 2 W 拥有 4 MB 闪存和 520 KB SRAM,而每个固件根据游戏不同占用 361 KB 到 600 KB 闪存、227 KB 到 460 KB 内存。游玩智能体还可以替换为一个能在主板上从零开始学习的智能体,这得益于用 Rust 实现且无动态分配的 stream-x 学习算法。
没有硬件的人也可以在浏览器中运行同一引擎,它被编译为 WebAssembly,包含相同的游戏和智能体。代码、固件和训练工具都发布在该项目的 GitHub 仓库中,该仓库创建于 2026 年 10 月 22 日,已获得 170 多颗星标。
图片来源:tinyworldformer 项目横幅,由开发者 SheepSeb 在其 GitHub 仓库中发布。
透明度声明:本文在人工智能的辅助下编写,基于公开帖文和下方列出的网络来源的交叉核对。建议查阅原始来源以确认细节。
Muse