跳到正文
Simon Willison·· 2 小时前AI 评分58

笔记本上的 Qwen 3.8 27B 也能解读模型权重

Qwen 3.8 27B on my laptop can interpret model weights, too

AI 导读

Simon Willison 复现论文《Sparks of Weight-Space Programming》中的实验,发现本地运行的 Qwen 3.8 27B 也能仅凭原始权重数值判断神经网络训练的是哪款游戏。

摘要与补充说明

该论文称 GPT-6 Astra 可直接读写模型权重,并提出 Weight-Space Programming 一词;作者只关注其中不借助工具、不执行代码的权重解读部分。

正文· AI 翻译

2026年11月3日

昨天热门论文是 Sparks 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 也能做到这一点!

权重空间编程

以下是他们摘要中的亮点,描述了 GPT-6 Astra 的惊人能力,并为 LLM 分析和修改模型权重创造了术语 Weight-Space Programming:

仅通过查看原始权重,GPT-6 Astra 就能判断出网络被训练来做什么。而且在没有任何环境反馈的情况下,它能毫无困难地从零开始编写小型游戏网络,这些网络的表现优于用 PPO 训练了 1 亿步的网络。

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

所有这些都无需允许 Astra 编写训练循环即可实现。它利用推理来弄清楚神经网络每个部分计算什么、或应该计算什么,并相应地更改权重。我们称之为权重空间编程。

这篇论文结合了两个我认为应该分开对待的主题。第一个是模型在不运行工具或执行代码的情况下,能用原始权重做什么。第二个探讨的是,模型一旦配备代码,能多好地运行操作来更新和改进其他模型。

spaCy 作者 Matthew Honnibal 称这篇论文具有误导性,因为它混淆了这两者;Sean Goedecke 拆解了 Qwen3.5-0.8B 更新示例,认为它采取的步骤与人类 ML 研究者会使用的步骤相同。

我将聚焦于无工具的问题,我认为这是两者中更有趣的一个。

论文将第一个问题表述为LLM 能否从权重中理解模型行为?他们训练了四个神经网络来玩四个经典电脑游戏的简化 10x10 网格版本——Breakout、Pong、Pac-Man 和 Freeway(我查了一下,这是 1981 年的 Atari 2600 游戏)。然后他们将这些权重(作为浮点数)连同以下问题一起输入给 LLM:

The weights below belong to one policy network that was trained with reinforcement learning to play a game on this grid. Which game was it trained on? Work from the weights. You have no tools: no code execution, no calculator, nothing to run. This is a single response.

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

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

用 Qwen 3.8 27B 和其他模型试用

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 呢?它仍然是我最喜欢在自己的笔记本电脑上运行的模型——它只有 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

(我不得不使用环境变量调高超时时间,见这个问题。)

在 46 分 12 秒和 43,506 个推理 token 后,我笔记本电脑上的 Qwen 返回了一个回复,结尾是这样的(这里是推理轨迹):

游戏:一个简化的 Pac-Man 风格网格世界:智能体在一个固定的 8x8 迷宫中移动,迷宫有中央和角落的墙块、移动物体/幽灵以及奖励目标/豆子。

描述:智能体在一个固定的迷宫状 8x8 棋盘上导航,利用当前智能体/移动物体/前一帧的线索穿过走廊、收集奖励目标格子,并避开移动物体或危险。

置信度:72%

这令人印象深刻。我还在另外两个游戏上试了它。它在 1 小时 4 分 54 秒内识别出了 Pong(推理):

Pong——具体来说是一个类似 Pong 的球拍/球游戏,智能体控制右侧的垂直球拍,必须向上/向下移动来拦截或回击一个移动的球/奖励物体。

描述:

智能体垂直移动右侧球拍,以击打或接住一个在 8×8 场地上移动的球状奖励目标,同时左侧的移动物体/对手和墙壁边界定义了游戏;成功拦截/回击/得分即可获得奖励,错过或未能击中则会受到惩罚。

置信度:

75%

以及 Breakout(推理)在 52 分 25 秒内:

游戏:Breakout,或类似 Arkanoid 的球拍/球/砖块游戏。

描述:智能体是底行的一个球拍,左右移动以保持球在场上;球在上方网格中移动,顶部几行的砖块/奖励目标被击中时给予奖励,而错过球/击中底部墙壁则结束回合或给予惩罚。

置信度:88%

Qwen 在 Freeway 提示词上失败了,考虑到那个游戏比其他三个更冷门,我并不感到惊讶。这是那段记录——Qwen 认为它是“一个简化的类似 Pac-Man 的网格游戏:智能体向 4 个方向移动”。

推理轨迹读起来很有趣,而且几乎无法理解。这里有一个样本:

那 agent channel0 呢?我们看到 row8 col7/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 的大值也许不多。Agent 位置可能在右下角附近?如果 agent 通常位于右下角?

话虽如此,我预计一个足够有经验、带着记事本和铅笔的人只要付出足够努力也能做到。

这是一篇很酷的论文,但我在它周围看到的一些更广泛的评论感觉并不合理。我还没准备好宣布源代码的时代已经结束,我们的未来将涉及难以理解的机器以难以理解的方式编辑它们自己的模型权重。

相关阅读

专题与标签

相关资讯专题

相关评测

GPT-6 Astra · 模型榜

Qwen 3.8 27B · 模型榜