AI Pulse

17GB开源模型跑在笔记本上,凭原始权重猜出三个游戏

这篇“论文”讲了什么

原文开头提到,昨天热门论文是 Spark of Weight-Space Programming: LLMs can natively read & write neural network weights,作者是 Rikiya Takehi、Jayden Teoh、Alex Zhang 和 Omar Khattab。好吧,作者把它归类为“博客文章”,但它是论文形态。论文发现,前沿模型,尤其是 GPT-6 Astra,既能解读机器学习模型的原始权重,也能修改这些权重——这里的权重就是一份包含大量浮点数的模型文本描述。我一直在玩其中一个示例,很高兴分享:在我笔记本上运行的 Qwen 3.8 27B 也能做到这一点。

Weight-Space Programming 的核心结论

论文摘要的亮点描述了 GPT-6 Astra 和同类模型的惊人能力,并创造了 Weight-Space Programming(权重空间编程)这个说法:

只要看原始权重,GPT-6 Astra 就能说出网络被训练来做什么。而且没有任何环境反馈,它也能从零写出小型游戏网络,击败用 PPO(Proximal Policy Optimization,近端策略优化)训练了 1 亿步的网络。

同样,要求它在不用梯度的情况下让 Qwen3.5-0.8B 更擅长数学时,Astra 识别出权重中导致推理循环的问题——Qwen 自己的模型卡也警告过这个问题——并通过原生编辑 0.016% 的权重修复它。相同采样设置下,这次权重修正把 MATH-500 从 7.9% 提高到 48.1%,并且开箱即用地泛化到指令遵循,把 IFEval 提高 3 倍。

所有这些都不需要允许 Astra 写训练循环。它用推理判断神经网络每一部分在计算什么、应该计算什么,然后相应修改权重。他们把这叫作 Weight-Space Programming。

先把两种能力分开

这篇论文把两个我认为应该分开讨论的话题合在一起。第一是模型在不运行工具、不执行代码时,仅凭原始权重能做什么。第二是模型一旦有了代码,能多好地执行操作来更新和改进其他模型。

spaCy 作者 Matthew Honnibal 批评这篇论文有误导性,因为它混淆了这两件事;Sean Goedecke 则拆解了 Qwen3.5-0.8B 的更新示例,认为它走的是人类机器学习(ML)研究者会用的相同步骤。

我下面聚焦无工具的问题,我认为这是两者中更有意思的那个。

实验设置:四个小游戏和固定提示

论文把第一个问题表述为:LLM(大语言模型)能否从权重理解模型行为?他们训练了四个神经网络,分别玩四个经典电脑游戏的简化 10x10 网格版本:Breakout、Pong、Pac-Man 和 Freeway。Freeway 我查了一下,是 1981 年的 Atari 2600 游戏。然后他们把那些权重(以浮点数形式)和下面的问题一起喂给 LLM:

> 下面这些权重属于一个用强化学习训练、在这个网格上玩游戏的策略网络。它是在哪个游戏上训练的?请从权重出发推理。你没有工具:不能执行代码,没有计算器,什么都不能运行。只给一次回答。

论文配套的 GitHub 仓库是 RikiyaT/lm_understand-logs。exp1_which_game 文件夹包含他们使用的提示,以及四个游戏的权重:

breakout/prompt.txt
freeway/prompt.txt
pacman/prompt.txt
pong/prompt.txt

我检查过,除了权重之外,每个提示都完全相同。

用 llm 命令行和 OpenRouter 跑 Breakout

GitHub 上的提示是自包含的。我的 LLM 工具有一个 -f/--fragment 选项,可以把文本文件的 URL 作为提示传进去,所以我可以用下面这条命令运行任意一个提示:

llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/breakout/prompt.txt \
  -m openrouter/moonshotai/kimi-k3.1-pro

这个例子需要安装 llm-openrouter 插件,然后通过 OpenRouter 用 Kimi K3.1 Pro 运行 Breakout 提示。Kimi K3.1 Pro 在 9 分 41 秒、19,493 个推理 token 后成功猜出了 Breakout。

换成本地 Qwen 3.8 27B

Qwen 3.8 27B 仍然是我最喜欢在笔记本上跑的模型——它只有 17GB(我用的是这个版本),而且不知为何感觉接近 2025 年的领先闭源模型。

我启动 LM Studio,确保 Qwen 3.8 27B 以长上下文窗口加载(默认的 8192 上下文会报错),安装 llm-lmstudio 插件,然后运行:

LMSTUDIO_TIMEOUT=900 \
  llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pacman/prompt.txt \
  -m lmstudio/qwen/qwen3.8-27b

这里的关键是长上下文和超时:我不得不用环境变量把超时调大,见相关 issue。

46 分 12 秒、43,506 个推理 token 后,我笔记本上的 Qwen 返回了如下结尾:

> 游戏:简化版 Pac-Man 风格网格世界:智能体在一个固定的 8x8 迷宫中移动,中央和角落有墙块,有移动物体/幽灵,以及奖励目标/豆子。
> 描述:智能体在固定的迷宫式 8x8 棋盘上导航,利用当前智能体/移动物体/上一帧线索在走廊中移动,收集奖励目标格,并避开移动物体或危险。
> 置信度:72%

另外两个游戏的结果

我又试了另外两个游戏。它在 1 小时 4 分 54 秒后识别出 Pong(推理如下):

> Pong——具体来说是一个类似 Pong 的挡板/球游戏,智能体控制右侧的竖直挡板,必须上下移动来拦截或回击移动的球/奖励物体。
> 描述:智能体将右侧挡板垂直移动,击打或接住一个在 8×8 场地上移动的球状奖励目标;左侧移动物体/对手和墙壁边界定义了玩法;成功拦截/回击/得分会获得奖励,错过或没击中会被惩罚。
> 置信度:75%

它在 52 分 25 秒后识别出 Breakout(推理如下):

> 游戏:Breakout,或类似 Arkanoid 的挡板/球/砖块游戏。
> 描述:智能体是底行的一块挡板,左右移动让球保持在场内;球在上方网格中移动,顶部几行的砖块/奖励目标被击中时给奖励;没接住球/撞到底墙会结束回合或给惩罚。
> 置信度:88%

Freeway 失败和推理轨迹

Qwen 在 Freeway 提示上失败了,我并不意外,因为这个游戏比另外三个更冷门。记录显示,Qwen 认为它是“一个简化的类 Pac-Man 网格游戏:智能体四方向移动”。

推理轨迹读起来很有趣,也几乎无法理解。下面是一段样本:

> agent 的 channel0 怎么样?我们看到第 8 行第 7/8 列附近有一些很大的 channel0 行,也许底部也有?列一下 channel0 的大值:line436 input435(row8 col7 ch0)-2.107,1.169,0.513...;line441 input440(row8 col8 ch0)-0.376,0.010,1.564,3.855...;line445 input444(row8 col8 ch4)0.142,0.491...;line382?input381 ch0?等等,line382 input381:381//5=76(row7 col6),ch1?381%5=1?76 * 5=380,ch1。所以不是。Channel0 大值也许只在 row8 col7/8。还有顶行?line44 input43 ch3,line49 ch3。Channel0 大值也许不多。智能体位置可能靠近右下?如果智能体通常在右下?

不过,我仍然认为,一个足够有经验的人,拿上记事本和铅笔,花足够功夫也能做出来。

结论

这是一篇很酷的论文,但我看到的一些更广泛的评论并不让人觉得有道理。我还没准备宣布源代码的时代结束了,也没准备说我们的未来会变成难以理解的机器以难以理解的方式编辑自己的模型权重。

阅读原文
📚 相关主题 大模型本地部署

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新