返回 文章 学习 CMS 文章

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

本地 27B 模型也能像前沿模型一样,仅凭原始权重推断神经网络训练目标。

权重空间编程LLMQwen本地推理
成长分 / 100 64 综合收获、行动、留存与影响

为什么值得读了解“权重空间编程”这一新概念及前沿模型 GPT-6 Astra 的能力。

获得在本地笔记本上复现实验的具体方法和结果。

关键洞察
  1. 论文提出权重空间编程,LLM 可直接读写神经网络权重,无需梯度或训练循环。
  2. GPT-6 Astra 能识别并修复 Qwen3.5-0.8B 的权重问题,大幅提升 MATH-500 和 IFEval 成绩。
  3. 作者用 Qwen 3.8 27B 在笔记本上成功识别 Pac-Man、Pong 和 Breakout,但未能识别 Freeway。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:9966

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

权重空间编程

以下是他们摘要中的亮点,描述了 GPT-6 Astra 的令人印象深刻的能力,并创造了 Weight-Space Programming 这一术语,用于指代 LLM 分析和修改模型权重的情况:

仅通过查看原始权重,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 更新示例,认为它采取了与人类机器学习研究者相同的步骤。

我将重点关注无工具的问题,我认为这是两者中更有趣的。

论文将第一个问题表述为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 风格网格世界:智能体在带有中央和角落墙壁块、移动物体/幽灵以及奖励目标/ pellets 的固定 8x8 迷宫中移动。

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

置信度:72%

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

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

描述:

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

置信度:

75%

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

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

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

置信度:88%

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

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

那智能体 channel0 呢?我们看到一些大的 channel0 行在 row8 col7/8 附近,也许还有底部?让我们列出大的 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 也许不多。智能体位置可能在右下附近?如果智能体通常在右下?

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

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