开发者称 Qwen 3.8 27B 笔记本本地可解读模型权重
来源标题:Qwen 3.8 27B on my laptop can interpret model weights, too
博主在自己笔记本上运行 Qwen 3.8 27B,复现了论文《Sparks of Weight-Space Programming》中的权重解读示例。该论文称 GPT-6 Astra 能直接读取并修改神经网络原始权重,甚至无需环境反馈即可从零编写小游戏网络。Qwen 3.8 27B 同样能完成这类任务。
以下正文由 AI 翻译自 Simon Willison(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
昨天那篇热门论文是 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 也能做到这件事!
Weight-Space Programming
以下是他们摘要中的亮点,描述了 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 文件夹里包含他们使用的提示词,以及四款游戏的权重:
- breakout/prompt.txt
- freeway/prompt.txt
- pacman/prompt.txt
- pong/prompt.txt 我检查过,除了权重之外,每个提示词都与其他提示词完全相同。
用 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 用 Breakout 提示词对 Kimi K3.1 Pro 运行。以下是我从 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 棋盘上导航,利用当前智能体/移动物体/前一帧的线索在走廊中移动,收集奖励目标格,并避开移动物体或危险。 置信度:72% 这很了不起。我还在另外两款游戏上试了它。它在 1 小时 4 分 54 秒内识别出了 Pong(推理): Pong——具体来说是一个类似 Pong 的球拍/球游戏,智能体控制右侧的一个垂直球拍,必须向上/向下移动来拦截或回击一个移动的球/奖励物体。 描述: 智能体在右侧垂直移动一个球拍,来击中或接住一个在 8×8 场地上移动的球状奖励目标,同时左侧的移动物体/对手和墙壁边界界定了游戏;奖励通过成功拦截/回击/得分获得,错过或未能击中它则会被惩罚。 置信度: 75% 以及 Breakout(推理),用时 52 分 25 秒: 游戏:Breakout,或一个类似 Arkanoid 的球拍/球/砖块游戏。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。