Simon Willison 实测:笔记本上的 Qwen 3.8 27B 也能解读模型权重
来源标题:Qwen 3.8 27B on my laptop can interpret model weights, too
博主 Simon Willison 测试发现,在自己笔记本上运行的 Qwen 3.8 27B 能像论文中 GPT-6 Astra 那样直接解读神经网络原始权重。该论文提出 Weight-Space Programming 概念,显示 GPT-6 Astra 仅凭原始权重就能判断网络用途,还能从零写出小游戏网络,表现超过用 PPO 训练 1 亿步的网络。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
昨天那篇热门论文是 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 的惊人能力,并为 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 编写训练循环。它用自己的推理来判断神经网络每个部分在计算什么、或者应该计算什么,并相应地修改权重。我们把这称为 Weight-Space Programming。
这篇论文把两个我认为应当分开看待的话题结合在了一起。第一个是模型在不运行工具、不执行代码的情况下,仅凭原始权重能做什么。第二个探讨的是,模型一旦有了代码,能多好地执行操作来更新和改进其他模型。
spaCy 作者 Matthew Honnibal 称这篇论文有误导性,因为它把这两个话题混为一谈;Sean Goedecke 则拆解了 Qwen3.5-0.8B 更新那个例子,指出它采取的步骤与人类 ML 研究者会用的步骤相同。
我打算聚焦于“无工具”这个问题,我认为两者之中它更有意思。
论文把第一个问题表述为:LLM 能否从权重中理解模型行为?他们训练了四个神经网络来玩四款经典电脑游戏的简化 10x10 网格版本——Breakout、Pong、Pac-Man 和 Freeway(这个我得查一下,它是 1981 年的一款 Atari 2600 游戏)。然后他们把这些权重(以浮点数形式)连同下面这个问题一起喂给 LLM:
下面这些权重属于一个用强化学习训练出来、在这个网格上玩某款游戏的策略网络。它训练的是哪款游戏?请从权重出发推理。你没有工具:不能执行代码,不能用计算器,没有任何可以运行的东西。这是一次性回答。
论文配套的 GitHub 仓库是 RikiyaT/lm_understand-logs。exp1_which_game 文件夹里包含他们使用的提示词,以及四款游戏的权重:
我核对过,除了权重之外,每个提示词彼此完全相同。
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
(我不得不用环境变量调高超时时间,详见这个 issue。)
在 46 分 12 秒、43,506 个推理 token 之后,我笔记本上的 Qwen 返回了一个回复,结尾是这样的(这里是推理轨迹):
游戏:一个简化的 Pac-Man 风格网格世界:智能体在一个固定的 8x8 迷宫中移动,迷宫中央和角落有墙块,还有移动物体/幽灵以及奖励目标/豆子。 描述:智能体在一个固定的迷宫状 8x8 棋盘上导航,利用当前智能体/移动物体/前一帧的线索在走廊中移动、收集奖励目标格,并避开移动物体或危险。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。