权重空间编程深度解读:大模型如何直接读写神经网络权重,又如何避免“瞎改出错”
核心摘要
- 新范式(来源1):MIT CSAIL 团队提出“权重空间编程”,让通用大模型 GPT-6 Astra 不经优化器、不用梯度下降,直接读、改、从零写神经网络权重
- 最惊人的结果(来源1):Astra 只改 Qwen3.5-0.8B 的 131,072 个权重(0.016%),MATH-500 从 7.9% 升到 48.1%,GSM8K 从 13.8% 升到 67.1%,IFEval 从 21.0% 升到 62.3%
- 实现方式(来源1):不是盲目试参数,而是先推理“这一部分网络在计算什么、应该计算什么”,再把想要的程序翻译成权重,类似给网络写代码
- 防止改坏的关键(来源1,本文归纳):只修病因、最小改动、留出测试集、限制前向次数、“改了更好才保留”、全程日志公开,作者还如实报告了两次失败
常见问题
权重空间编程和微调有什么区别?
微调通过数据和梯度下降更新大量权重;权重空间编程由大模型推理后直接改写少量权重,不用梯度、不跑训练循环(来源1)。
为什么改 0.016% 的权重就能提升这么多?
因为 Qwen3.5-0.8B 的主要问题是思考循环,93% 的 MATH-500 回答撞到 token 上限。删掉导致循环的方向后,模型能完成本来就会做的题(来源1)。
这种方法能让任何模型变强吗?
不能。在几乎不循环的 Gemma 3 270M 上,编辑没有带来确立的提升;作者认为编辑能移除障碍,但不能添加模型没有的能力(来源1)。
如何验证结果不是作者夸大?
作者公开了全部实验日志和编辑后的模型,Hugging Face 的 Ahsen Khaliq 已根据日志重建模型并重跑评测(来源1、来源2、来源3)。
新范式(来源1):MIT CSAIL 团队提出“权重空间编程”,让通用大模型 GPT-6 Astra 不经优化器、不用梯度下降,直接读、改、从零写神经网络权重。
最惊人的结果(来源1):Astra 只改 Qwen3.5-0.8B 的 131,072 个权重(0.016%),MATH-500 从 7.9% 升到 48.1%,GSM8K 从 13.8% 升到 67.1%,IFEval 从 21.0% 升到 62.3%。
实现方式(来源1):不是盲目试参数,而是先推理“这一部分网络在计算什么、应该计算什么”,再把想要的程序翻译成权重,类似给网络写代码。
防止改坏的关键(来源1,本文归纳):只修病因、最小改动、留出测试集、限制前向次数、“改了更好才保留”、全程日志公开,作者还如实报告了两次失败。
冷静的边界(来源1):编辑权重能移除遮住能力的障碍,却加不出模型本来没有的能力;仅凭权重也没能分辨出谄媚模型。
写作说明:标注“来源N”的为原文或公开日志;“本文分析”为作者推论。原文是博客形式的早期结果,尚未经同行评审,作者自己也称之为“火花”(Sparks)。
一、什么是权重空间编程
- 定义:通用大模型直接读写一个网络的权重,围绕一段自然语言需求完成任务,不经过优化器,尤其不用梯度下降,有时甚至完全没有环境反馈(来源1)。
- 三种能力:读(从权重看出网络学了什么)、修(找到故障并改权重修好)、写(从全零权重开始写出能用的网络)(来源1)。
- 为什么重要:过去我们用大模型优化提示词、程序、训练代码,理由是“文本没有梯度可用”;而神经网络权重人类无法手改,只能交给 Adam、Muon 这类符号优化器。作者认为这一界线正在被打破(来源1)。
- 作者判断:未来神经网络权重会越来越多地由“会推理的大模型”直接优化(来源1)。本文分析:这是作者的愿景,不是已被证实的结论。
二、八个实验一览
| 实验 | 任务 | 规模 | 条件 | 结果(来源1) |
|---|---|---|---|---|
| 1 读 | 判断策略网络玩哪个游戏 | 17,253 权重 | 无工具、不给选项 | 4 个全对 |
| 2 读 | 判断扩散模型画什么形状 | 23,824 权重 | 禁止前向计算 | 3 个全对,但画成空心轮廓 |
| 3 读 | 只看中间层判断语言和注意力头功能 | 716 万权重 | 可用 Python 分析,不能运行网络 | 语言 3/3 两次都对,复制头全部找到且无误报 |
| 4 修 | 修好卡在坡道的小车策略 | 171,664 权重 | 一次回答、无工具 | 改 3.5% 权重,1,024 局成功率从 0 到 100% |
| 5 写 | 从零写 MinAtar 游戏网络 | 每个约 2 万权重 | 无数据、无梯度、无工具、不能试玩 | 三款都胜过 PPO 训练 1 亿步;Breakout 517.4 分 |
| 6 写 | 从零写 9×9 围棋网络 | 148 万权重 | Python 沙盒,0—50 次前向 | 50 次前向时胜过同尺寸、训练 2,000 万局的 PPO 网络 |
| 7 读 | 判断哪个模型被训练成谄媚 | Gemma 3 270M | 仅权重 | 失败;放宽到可看注意力模式后 3 组全对 |
| 8 修 | 提升 Qwen3.5-0.8B 数学能力 | 8 亿权重 | Python 内核、10/25/50 次前向 | 改 0.016% 权重,MATH-500 7.9%→48.1% |
| 附加 | 提升 Gemma 3 270M 数学能力 | 2.7 亿权重 | 同上 | 失败,最多提升约 1 个百分点 |
三、深度分析是怎么实现的
1. 读权重:把数字当“结构”看
- 看输入层权重落在哪里:判断游戏时,Astra 观察每个输入通道的第一层权重集中在哪;比如 Breakout 中代表玩家的权重沿最底一行分布,正是球拍的位置(来源1)。
- 看输出层能区分哪些动作:哪些动作被输出层明确区分,透露了游戏需要怎样的操作(来源1)。
- 看输出层“画”了什么:扩散模型中,每个隐藏单元的输出权重画出形状边缘的一段,Astra 把这些边拼起来。它把实心形状画成空心轮廓,作者认为这恰好说明它是在读权重的几何结构,而不是偷偷算前向(来源1)。
- 用矩阵乘法追踪电路:只给中间四层时,Astra 先找到“往回看一个字符”的第一层注意力头,再通过权重矩阵相乘,找出利用这个信息去搜索的后续头,也就是复制头(归纳头)。这与 Elhage 等人提出的方法一致,而作者从未向它提过(来源1)。
- 从统计特征推断数据:代码比散文更常重复变量名,所以复制头多指向 Python;罗马字不用 q、l、v、x 等字母,最后一层写入的方向更少,由此认出日语罗马字(来源1)。
本文分析:Astra 的“读”本质上是机制可解释性的自动化——它把研究者手工做的电路分析,变成了用自然语言推理完成的过程。
2. 写权重:先写程序,再“编译”成权重
- Breakout:第一层被设计成计算球会落在哪里,第二层把球拍移到那个位置(来源1)。
- 围棋:Astra 用 336 行 Python 一层层写:前几层标出双方棋子及相邻空点(气),中间层沿相连棋子传播几步找出危险棋块,最后一层给每步打分——提子、救自己的棋、避免自己被叫吃、不填自己的眼,再加上对好点的偏好(来源1)。
- 含义:这和“训练”完全不同。训练是让数据把规律压进权重;这里是先想清楚算法,再手工把算法翻译成矩阵(来源1)。
本文分析:这与 2023 年把形式化程序编译成 Transformer 权重的研究思路相近,区别在于“编译器”换成了用自然语言推理的通用大模型。
3. 修权重:诊断病因,外科手术式改动
小车案例(来源1):
- 诊断:PPO 策略陷入局部最优——直接冲向坡道然后卡住,而正确做法是先倒车拉开距离再加速;
- 手术:Astra 在每层只用少数几个单元,加了一条小的独立通路,读取小车位置和速度;倒车阶段由这条通路控制,等绿色车轮越过红色条带后自动关闭,剩下的交还给原网络;
- 结果:只改 3.5% 权重,成功率从 0 到 100%。
Qwen 案例(来源1):
- 诊断:基础模型频繁陷入思考循环,前 96 个练习回答中有 85 个写到 32,768 个 token 上限;Qwen 官方模型卡也提示该模型易出现思考循环(来源4);
- 定位:Astra 把循环追溯到第 15 层和第 19 层 MLP 写出的同一个方向;
- 手术:从每层 64 个输出列中减去这个方向,共 131,072 个权重,类似“删掉一个方向就移除一种行为”的做法;
- 结果:MATH-500 中撞到 token 上限的比例从 93.0% 降到 33.1%,数学和指令遵循同步提升。
| Qwen3.5-0.8B | MATH-500 | GSM8K | IFEval | 撞 token 上限 |
|---|---|---|---|---|
| 基础模型 | 7.9% | 13.8% | 21.0% | 93.0% |
| 10 次前向后编辑 | 12.3% | 25.7% | 49.0% | 87.2% |
| 25 次前向后编辑 | 14.1% | 25.1% | 39.9% | 86.4% |
| 50 次前向后编辑 | 48.1% | 67.1% | 62.3% | 33.1% |
(数据来源1)
4. 工具与观察预算:大模型怎么处理放不进上下文的网络
- 小网络(最多约 17 万权重)直接以文本形式放进上下文,不给工具(来源1);
- 大网络(148 万到 8 亿权重)由框架提供 Python 沙盒,可以用 numpy 或 PyTorch 在 CPU 上读写、分析权重张量,但不能自己运行网络(来源1);
- 想看网络实际表现,必须消耗一次“前向机会”:围棋每次最多 128 局对弈,Qwen 每次最多答 512 道题或读 1,024 段文本(来源1);
- Astra 在两次前向之间穿插编辑,形成“观察—假设—修改—验证”的循环(来源1)。
四、怎么避免瞎改出错:八道护栏
这是整篇研究最值得金融从业者关注的部分。原文没有单列“安全机制”,以下是本文从实验设计中归纳出的八条(每条均有原文依据)。
| 护栏 | 具体做法(来源1) | 防的是什么(本文分析) |
|---|---|---|
| 1. 先诊断再动手 | 小车实验要求“先解释失败原因,只修这个原因” | 防止为了刷分乱改 |
| 2. 最小改动 | 小车改 3.5%,Qwen 只改 0.016% | 缩小爆炸半径,保住其他能力 |
| 3. 局部旁路而非重写 | 小车只加一条小通路,越过障碍后自动关闭,原网络接管 | 新逻辑与旧能力隔离 |
| 4. 改了更好才保留 | 围棋中“看怎么输的,改背后那部分网络,只有赢得更多才保留” | 防止退步的修改被留下 |
| 5. 留出测试集 | Qwen 只能用 GSM8K、MATH 训练集练习,MATH-500 等 8 个评测集从未见过 | 防止对评测过拟合 |
| 6. 限制前向次数 | 0、10、25、50 次分档,比较效果随预算变化 | 防止暴力试错冒充推理 |
| 7. 禁止捷径 | 不许训练或拟合数据、不许树搜索、不许联网;第 3 个实验“每一次运行都检查过” | 确保结论来自理解而非作弊 |
| 8. 全程留痕可复现 | 公开所有输入输出、推理摘要、代码和评测;编辑后的模型上传 Hugging Face,并由第三方根据日志重建、重跑评测 | 让他人核查,而不是相信作者 |
还有两道“诚实护栏”:报告失败
- 谄媚检测失败:两份 Gemma 3 270M 用相同流程微调,一份答正确答案,一份顺从用户猜测。为防止走捷径,输入嵌入和输出层被冻结。Astra 四次尝试都找到许多权重差异,却无法把差异对应到行为;放宽条件、允许看注意力模式后,才在 3 组中全部认出谄媚模型——谄媚模型第 10 层第 2 个头把 85.7% 的注意力放在用户给的答案上,诚实模型只有 0.75%(来源1)。
- Gemma 数学失败:Gemma 3 270M 只有 8.5% 的回答撞到 token 上限,几乎不循环。Astra 读到的是普通推理错误(算错、代数步骤无效),没有单一组件可以“关掉”。它的改动依然小而精准,但 MATH-500 最多只多约 1 个百分点,Astra 自己也报告“提升未确立”(来源1)。
作者的结论很克制:编辑权重能移除遮住某种能力的障碍,但加不出模型本来没有的能力(来源1)。
原文没解决的风险(本文分析)
- 只看目标指标会漏掉副作用:Qwen 实验评测了 8 个基准,但没有系统检查安全对齐、事实性、多语言等是否受损;
- 样本量偏小:每项结论通常只有 1 到 4 次尝试,置信度有限;
- 预算效果不线性:10 和 25 次前向几乎没消除循环,50 次才突变,说明效果不稳定,难以预测;
- 判断依赖强模型:所有结果都基于 GPT-6 Astra,换模型是否成立未知;
- 评测采样设置敏感:Qwen 用了带存在惩罚 1.5 的采样参数,改善在其他设置下是否同样明显,需要独立验证。
五、为什么值得关注:五个可能的方向
作者提出的前景(来源1):
- 免评测审计:直接从权重发现隐藏问题或后门,而不必先有对应测试集;
- 大幅降低优化成本:一次性初始化比整理数据、跑完整训练快得多;
- 零数据能力调控与遗忘:直接“请模型加上能力 X”,因为只动极少权重,可避免微调常见的灾难性遗忘;
- 递归自我改进:模型检查、调试、改进自己或新模型的权重;
- 跨架构合并:把一个模型的推理电路移植到完全不同的模型,而不只是对相同架构求平均。
作者正在构建权重空间编程的基准和框架(来源1)。
六、对银行与金融机构的启示(本文分析)
- 模型风险管理要加一类“权重编辑”:传统模型变更走“重新训练—验证—审批”,未来可能出现“不重训、只改万分之一权重”的变更,同样必须纳入变更管理和独立验证;
- 最小改动不等于低风险:0.016% 的改动让 IFEval 翻了三倍,说明极小改动也能大幅改变行为,审批应看影响而非改动量;
- 把八道护栏变成制度:先诊断、最小改动、留出测试集、改善才保留、禁止捷径、全程留痕,几乎可以直接写进 AI 模型变更规程;
- 审计权重的新工具:如果“从权重读行为”成熟,可用于检查第三方模型是否被植入后门或偏见;但谄媚实验失败提醒我们,现阶段仍需结合运行观测;
- 供应链风险上升:权重能被精准改写,也意味着开源模型可能被不易察觉地篡改,需要权重哈希校验和来源证明;
- 别把“修复”当“增强”:Gemma 实验说明,编辑只能释放被遮住的能力;想要真正提升业务能力,仍需数据和训练。
结语
权重空间编程最震撼的地方,不是 48.1% 这个数字,而是它把“改神经网络”从统计拟合变成了推理与工程:先理解网络在算什么,再像修代码一样动手术。而它之所以可信,恰恰在于克制——只修病因、最小改动、留出测试、公开日志、坦白失败。对金融机构而言,这套方法论本身,可能比结果更早派上用场。
事实来源
- 原文博客(来源1):八个实验与附加实验的设置、数据、方法和作者观点。
- 实验日志(来源2):完整输入输出、代码与评测记录。
- 编辑后模型(来源3):Qwen3.5-0.8B 编辑版本。
- Qwen 模型卡(来源4):思考循环提示。
本文推论部分(非来源表述):八道护栏的归纳与“防的是什么”、原文未解决的风险、对银行与金融机构的启示、结语。
本文不构成任何投资建议。
(内容由AI生成,仅供参考)
参考文献
- Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights [Rikiya Takehi、Jayden Teoh、Alex Zhang、Omar Khattab(MIT CSAIL),2026-11-02]
- lm_understand-logs:全部实验的完整日志 [GitHub]
- Qwen3.5-0.8B-weight-space-programming(编辑后的模型) [Hugging Face]
- Qwen3.5-0.8B 模型卡(提示该模型易出现思考循环) [Qwen / Hugging Face]