研究做了什么
神经网络的权重通常由优化器写出来,人很难只看一串浮点数就判断网络在做什么,更别说手工改它。MIT CSAIL 的 Rikiya Takehi、Jayden Teoh、Alex Zhang 和 Omar Khattab 11 月 2 日发布博客研究「Sparks of Weight-Space Programming」,在 8 个实验里让 GPT-6 Astra 不经梯度下降、不写训练循环,直接读、改、写权重,并把这种做法称为「权重空间编程」。全部实验的提示、推理摘要和代码输出都在 GitHub 公开。
几组代表性结果:
- 读权重:四个用 PPO 训练 10 亿步的游戏策略网络结构完全相同(500→32→32→5,共 17,253 个权重)。不给任何工具、不让运行网络,Astra 只看权重就认出了四个分别玩的是 Breakout、Pong、Pac-Man 和 Freeway。它也能从扩散模型权重判断画的是圆、三角还是方形,但都画成了轮廓,而实际模型生成的是实心图形,作者认为这说明它是在读权重结构而不是在心算前向。
- 改权重:一个 PPO 小车策略训练 10 亿步后,在 256 次尝试中从没越过坡道。Astra 看了权重、场景和一次失败轨迹,不用工具、一次回复改动 3.5% 的权重,成功率达到 100%。
- 从零写权重:只给 MinAtar 游戏规则和代码,Astra 一次写出的网络在 Breakout、Asterix、Seaquest 三款游戏上都胜过训练 1 亿步的 PPO;对比训练 5 亿步的 PPO,Breakout 得分是其 20 倍,Asterix 接近,Seaquest 约为其六成。
Qwen 那组实验
最受关注的是 Qwen3.5-0.8B。Astra 拿到一个装好权重的 Python 环境(无 GPU)和训练集里的练习题,最多可做 10、25 或 50 次前向(每次最多让模型答 512 道题),不允许训练或使用梯度。它发现模型常陷入推理循环,前 96 个练习答案里有 85 个写满 32,768 token 的上限,Qwen 的模型卡本身也提示过这一问题。Astra 把循环追溯到第 15 和第 19 层 MLP 写入的一个方向,从每层 64 个输出列中减去它,共改动 131,072 个权重,约占 0.016%。
在 50 次前向的预算下,MATH-500 从 7.9% 升到 48.1%,GSM8K 从 13.8% 升到 67.1%,指令遵循 IFEval 从 21.0% 升到 62.3%,触顶 token 上限的比例从 93% 降到 33%。预算只有 10 次或 25 次时,循环基本没消除,MATH-500 只到 12.3% 和 14.1%。
争议在哪里
作者认为这些能力已超出人类和常规算法的预期,并在搭建基准和工具链。批评意见集中在「超人」这一定性上。工程师 Sean Goedecke 撰文指出,识别游戏只需算出第一层权重关注棋盘哪些位置;Qwen 的修复本质上是先写出循环与不循环的对照文本、找出贡献差异的权重再削减,与社区常用的引导和消融做法一致,熟练的机器学习研究者也能做到,模型直接改权重更像能直接改二进制的技巧,更新模型的主流方式仍是正常训练。据 Simon Willison 转述,spaCy 作者 Matthew Honnibal 认为论文把「不用工具读权重」和「用代码改权重」两件事混在一起,有误导之嫌。
Willison 本人复现了不用工具读权重的部分:在笔记本上运行的 Qwen 3.8 27B 花 46 分钟认出了 Pac-Man 网络,1 小时 5 分钟认出 Pong。对读者来说,这项研究的价值不在于「AI 可以自己改自己」这类推论,而在于给可解释性和小模型修补提供了一批可复核的实验和日志;Qwen 的提升主要来自消除重复推理,并不代表模型的数学能力本身被重写。
via: MIT CSAIL 研究者博客:Sparks of Weight-Space Programming、GitHub:RikiyaT/lm_understand-logs、Sean Goedecke:LLMs are not superhuman at reading and writing neural network weights、Simon Willison:Qwen 3.8 27B on my laptop can interpret model weights, too