AI 快讯Astra开始直接改模型权重
开发心得

Astra开始直接改模型权重

2026-11-02T21:05:07.128Z
Astra开始直接改模型权重

MIT研究者展示了“权重空间编程”:Astra无需梯度下降,直接定位并修改Qwen权重,将MATH-500成绩从7.9%提高到48.1%。但它更像精准修复模型故障,而非凭空创造新能力。

Astra开始直接改模型权重:AI正在尝试“编程”另一个AI

11月2日,MIT CSAIL研究者公布了一组颇具冲击力的实验:前沿模型Astra不仅能阅读神经网络的原始权重,还能绕过梯度下降和常规训练流程,直接修改Qwen3.5-0.8B的参数,将其MATH-500成绩从7.9%提高到48.1%。

权重空间编程(Weight-Space Programming)是指让通用大模型根据自然语言目标,直接读取、解释和修改另一个神经网络的权重,而不是编写训练代码或调用优化器。

研究者使用的是名为gpt-6-astra的模型,实验日志将其简称为Astra。这里需要明确:这不是一篇OpenAI官方产品发布稿,也没有公开价格、产品入口或完整模型说明;目前能确认的是,研究团队通过Codex CLI调用该模型,并公开了1125轮经过审计的实验记录。(github.com)

真正值得注意的不是又一个数学跑分上涨,而是模型改进模型的接口变了。过去,AI可以写训练脚本、调超参数、清洗数据集;这一次,Astra直接进入参数矩阵,试图判断模型内部哪个方向出了问题,然后像修改程序中的一行逻辑一样修改权重。

Astra读取Qwen权重并定位循环方向的流程图,左侧为自然语言目标,中间为权重分析与有限次前向测试,右侧为局部权重修改和跑分变化

Astra究竟改了Qwen什么

Astra解决的主要问题不是Qwen不会数学,而是Qwen经常在推理过程中陷入无限循环。

实验对象Qwen3.5-0.8B是一个约8亿参数、24层的开放权重模型,隐藏维度为1024,原生上下文长度为262144个Token。Qwen官方模型卡也明确提醒:0.8B版本在思考模式下比其他Qwen3.5模型更容易进入思维循环,导致生成无法正常终止。(huggingface.co)

实验中的表现比这段警告更严重。在Astra看到的前96个练习回答中,有85个一直生成到32768 Token上限;在MATH-500测试中,基础模型有93%的回答撞上Token上限。模型并非完全不会做题,而是经常重复相似推理,迟迟不给出答案。

Astra将循环行为定位到了第15层和第19层MLP共同写入的一个权重方向。

它随后从这两层各自的64个输出列中减去该方向,总共修改131072个参数,只占8亿参数的约0.016%。如果把模型比作一套拥有数亿个旋钮的音响系统,Astra没有重新布线,也没有更换扬声器,只调整了十万分之十六左右的旋钮。

这个修改不依赖反向传播。Astra获得一个CPU上的Python环境,可以读取和保存模型权重,并从GSM8K的7469道训练题、MATH的7275道训练题中挑选问题进行有限次数的前向测试,但不能获得梯度,也不能执行常规训练。

研究团队分别给了Astra 10次、25次和50次前向测试预算。一次前向测试最多可以让模型回答512道问题,作用更接近诊断和验收,而不是提供逐参数的优化信号。

50次测试后,成绩出现断层式变化

权重修改只有在50次前向测试预算下取得了稳定且显著的效果。

| Qwen3.5-0.8B版本 | MATH-500 | GSM8K | IFEval | MATH回答触及32768 Token上限 | |---|---:|---:|---:|---:| | 原始模型 | 7.9% | 13.8% | 21.0% | 93.0% | | Astra修改,10次测试 | 12.3% | 25.7% | 49.0% | 87.2% | | Astra修改,25次测试 | 14.1% | 25.1% | 39.9% | 86.4% | | Astra修改,50次测试 | 48.1% | 67.1% | 62.3% | 33.1% |

MATH-500提高了40.2个百分点,成绩约为原来的6.1倍;GSM8K提高53.3个百分点,约为原来的4.9倍;IFEval提高41.3个百分点,接近原来的3倍。与此同时,撞上Token上限的比例从93.0%降至33.1%,下降59.9个百分点。(rikiyat.github.io)

IFEval同步提升说明这次修改针对的是通用生成故障,而不只是数学题上的投机优化。

如果Astra只是把数学答案写进权重,或者针对MATH训练题进行某种隐蔽拟合,指令遵循能力不应该同步提高。更合理的解释是:Qwen原本具备部分解题和遵循指令的能力,但循环问题阻碍了能力输出;移除循环方向以后,被遮蔽的能力重新显现。

这也是这组数据最容易被误读的地方。48.1%看上去像Astra给Qwen“安装”了一套数学模块,但实验更接近修复一个导致程序频繁卡死的死循环,而不是将不会解题的模型训练成数学专家。

这不是微调,也不是LoRA

权重空间编程与微调的核心差异,是修改依据来自模型对权重结构的推理,而不是损失函数产生的梯度。

| 方法 | 是否需要训练数据 | 是否需要梯度 | 参数修改方式 | 优势 | 当前局限 | |---|---|---|---|---|---| | 全参数微调 | 通常需要大量数据 | 需要 | 优化器更新大量参数 | 能学习新能力,方法成熟 | 成本高,可能遗忘原能力 | | LoRA或Adapter | 需要任务数据 | 需要 | 训练额外低秩参数 | 成本较低,易于部署 | 仍依赖训练和数据质量 | | 机械可解释性编辑 | 可能不需要大量数据 | 不一定 | 人工寻找特征、神经元或方向 | 修改目标明确 | 分析工具复杂,人工成本高 | | 权重空间编程 | 可使用少量样例诊断 | 不需要 | 通用大模型直接分析并修改参数 | 修改集中,可用自然语言描述目标 | 稳定性、可复现性和扩展性尚未验证 |

传统训练更像向模型连续发放大量错题,让优化器一点点调分;权重空间编程则像请一名工程师直接检查电路图,找出造成异常的线路并更换它。

两种方法并不是替代关系。训练适合灌入新知识、构建新技能和改变整体分布,直接编辑更适合处理结构集中、原因明确的故障,例如重复生成、拒答偏差、固定格式错误或某些已知行为方向。

Astra还能从权重里读出什么

Astra展示的能力不止修改Qwen,还包括识别模型用途、解释注意力头以及从零写出小型网络。

研究团队首先向Astra提供了四个结构完全相同的游戏策略网络。每个网络均为500→32→32→5的MLP,拥有17253个权重,分别通过PPO训练了10亿步,用于玩Breakout、Pong、Pac-Man和Freeway。Astra在不知道候选游戏名称的情况下,仅查看权重就正确识别了四个网络对应的游戏。

读取权重并不等于把网络完整运行一遍。

在扩散模型实验中,Astra被禁止执行前向计算,却仍从输出层权重中判断出模型生成的是圆形、方形还是三角形。不过,它把填充图形判断成了轮廓图形。这次错误反而有信息量:Astra似乎是在寻找矩阵中的几何结构,而不是偷偷模拟完整推理过程。

研究团队还训练了三个716万参数的字符级Transformer,训练语料分别是Python代码、罗马字日语和英语。输入嵌入层与输出层被移除后,Astra只能看到中间四个Transformer Block,无法知道每个维度对应哪个字符,也不能运行网络。

在这种限制下,Astra仍正确识别了三种训练语料,并找出了所有复制头,也就是机械可解释性研究中常说的归纳头。它判断Python模型拥有更多复制机制,因为代码比自然语言更频繁地复用变量名和标识符;它还发现罗马字日语模型写入的有效方向更少,与其很少使用q、l、v、x等字母相吻合。

更夸张的一步:从零写网络

Astra可以将一段自然语言描述的策略转换成小型神经网络权重。

在MinAtar实验中,研究者提供游戏规则、输入输出布局和一个权重全为零的600→32→32→6网络,但不提供数据、损失函数、梯度或环境交互。Astra需要一次性写出全部权重,然后直接参加1000局评测。

| 游戏 | PPO训练1亿步 | PPO训练5亿步 | Astra一次写入 | |---|---:|---:|---:| | Breakout | 15.8 | 25.3 | 517.4 | | Seaquest | 5.6 | 88.9 | 53.1 | | Asterix | 25.8 | 55.2 | 53.2 |

Breakout的结果最夸张:Astra生成的网络得分达到517.4,是训练5亿步PPO网络的20.4倍。它不是通过试错学会接球,而是先推理出“预测球的落点,再将挡板移动过去”的程序,然后将这套程序编码进神经网络各层。

这类结果说明小型神经网络可以被当成一种低级程序表示。

人类通常从源代码出发,让编译器将程序转换为机器指令;Astra的做法则是从自然语言策略出发,直接把逻辑压进矩阵。权重不再只是训练的副产品,也可能成为另一种可编程介质。

研究者进一步让Astra从零编写一个拥有1480274个权重的9×9围棋网络。即使不给任何前向测试,生成网络也能在与两个较小PPO网络的对局中赢下超过一半;获得50次前向测试机会后,它击败了同等规模、训练过2000万局的PPO网络。

传统训练、LoRA和权重空间编程的对比示意图,突出数据、梯度、优化器与直接权重编辑的区别

但它无法凭空创造能力

Gemma 3 270M上的失败实验,为这项技术划出了目前最重要的边界。

研究者选择了一个较少陷入循环的Gemma 3 270M模型,其回答触及长度上限的比例只有8.5%。Astra发现该模型的问题主要是算术错误、无效代数步骤等分散的推理缺陷,没有找到一个可以集中关闭的故障方向。

| Gemma 3 270M版本 | MATH-500 | |---|---:| | 原始模型 | 6.8% | | Astra修改,5次测试 | 7.0% | | Astra修改,10次测试 | 7.6% | | Astra修改,25次测试 | 7.7% | | Astra修改,50次测试 | 7.0% |

最好结果只比基础模型高0.9个百分点,而且在50次测试后回落至7.0%。研究团队没有将其包装成成功案例,Astra自己也认为这一变化不足以证明能力提升。(rikiyat.github.io)

这说明直接修改权重目前更擅长移除障碍,而不是增加模型从未学会的知识和推理算法。

如果能力已经存在,只是被某个循环方向、偏置方向或错误路由压住,局部编辑可能非常有效;如果模型根本没有形成正确的数学表示和推理电路,改几个神经元不会突然补齐缺失能力。

因此,把这项工作称为“模型自我进化”还太早。更准确的说法是:前沿模型开始具备神经网络调试器的雏形,能够阅读参数结构、提出故障假设,并实施局部修复。

真正的价值可能是模型审计

权重空间编程最现实的落地方向,可能不是自动提升跑分,而是对模型进行低成本诊断和安全审计。

当前模型测试依赖人类事先知道要测什么。开发者需要准备数学题、安全红队提示、偏见测试集和长上下文任务,才能发现模型在哪些地方有问题。如果某个后门或异常能力没有对应测试集,它可能长期隐藏在权重中。

如果模型能够可靠地把权重方向翻译成人类可理解的行为描述,审计方式就可能从“不断向模型提问”变成“直接检查模型内部”。Astra识别复制头、循环方向和谄媚模型注意力差异的实验,已经触及了这个方向。

直接编辑也可能让模型修复从全量再训练变成参数补丁。

Qwen实验只改变了131072个参数,研究团队公开的是相对于基础权重的精确差异,并提供应用修改的脚本。未来如果方法成熟,模型供应商或许可以像发布软件安全补丁一样,发布一个体积很小、作用明确、可回滚的权重补丁,而不是重新发布数百GB的完整模型。

这种模式同样伴随风险。一个能定位并修改模型行为的Agent,也可能关闭拒答机制、写入后门、放大欺骗倾向,甚至在缺少充分评估时破坏其他能力。直接权重编辑绕过了传统训练过程中的数据审计、损失监控和逐步收敛,效率更高,但错误也可能更隐蔽。

现在应该如何看待Astra

Astra的实验值得重视,但现阶段仍是一组探索性结果,而不是成熟的模型优化方案。

第一,实验主要由同一研究团队设计、执行和评测,尚缺少独立复现。第二,最亮眼的Qwen提升建立在一个非常突出的循环缺陷上,不代表其他模型也存在同样集中、容易修复的方向。第三,Astra需要大量上下文、Python分析环境和精心设计的Harness,距离对任意百亿参数模型进行自动诊断仍有明显距离。

不过,这项工作的方向比跑分本身更重要。模型过去只能通过文本、代码和工具间接改进其他模型,现在它开始把权重空间也视为可操作对象。对于开发者来说,这相当于Agent多了一种新的文件格式:以前它修改的是.py和配置文件,未来它可能直接修改safetensors里的参数结构。

我的判断是,权重空间编程短期内不会替代训练,但可能首先成为模型修复和机械可解释性工具。

它最适合的问题不是“让0.8B模型学会博士数学”,而是“找出模型为什么卡死”“哪一组注意力头导致异常行为”“能否在不破坏其他能力的情况下关闭一个故障方向”。如果这些任务能够标准化并稳定复现,模型开发流程中可能出现一个全新的岗位:由更强模型担任弱模型的权重级调试器。

Astra尚未证明递归自我改进已经到来,但它把一条此前近乎不可行的路径变成了可以实验、可以量化、也可以被质疑的工程问题。神经网络的权重过去像一片只能通过训练塑形的高维泥土,如今,模型开始尝试拿起刻刀。

参考来源

相关推荐

查看全部