---
layout: post.njk
source: https://yage.ai/share/weight-space-programming-20261103.html
web_feed:
  articleId: cmw2r3ldk001n9eye7m9t7o1a
  feedSourceId: webfeed_yage_ai
  guid: https://yage.ai/share/weight-space-programming-20261103.html
  sourceUrl: https://yage.ai/share/weight-space-programming-20261103.html
speaker: yage.ai
title: |-
  只改万分之二权重就让数学暴涨六倍？翻开 MIT
  权重编程实验的千轮日志，里面藏着两套截然不同的戏法
date: '2026-11-03'
summary: 文章探讨了MIT CSAIL关于OpenAI GPT-6-Astra模型通过修改神经网络原始权重参数来提升数学准确率的实验。研究发现，Astra并非凭肉眼读懂几亿参数，而是通过结合特定的实验设计、工具（如Python环境、测试机会）以及对模型内部激活状态的分析，实现了对模型中“死循环”和“超时截断”等问题的诊断和局部修改。这种方法证明了前沿大模型可以实现对模型内部体检和局部病灶切除的自动化工程流程，而非凭空获得超能力。
area: tech-engineering
category: debugging
tags:
  - ai-application
  - model-debugging
  - weight-manipulation
  - model-interpretability
  - ai-tooling
people:
  - Matthew Honnibal
  - Ahsen Khaliq
  - Sean Goedecke
companies_orgs:
  - MIT CSAIL
  - OpenAI
  - Hugging Face
products_models:
  - gpt-6-astra
  - Qwen3.5-0.8B
  - Gemma 3 270M
media_books: []
draft: true
status: evergreen
---

这两天，一条来自麻省理工学院的重磅消息在技术社区刷了屏。十一月二日，MIT
CSAIL 发表的技术博客宣称，OpenAI 内部的 gpt-6-astra
模型可以跳过传统的梯度训练，直接把神经网络的原始权重当成普通代码来读写。最抓人眼球的一组数据来自开源模型千问：Astra
没有跑反向传播，只手动修改了千问模型里约万分之二的权重参数，就让它在
MATH-500 数学竞赛基准上的准确率从 7.9% 飙升到
48.1%。第一作者在社交平台上的推文迅速收获近五万三千个赞，Hacker News
讨论帖也冲上近三千分。

不少开发者看完后都表示怀疑，毕竟几亿个密密麻麻的浮点数，以前再厉害的人类研究员都看不明白，现在大模型真的能凭肉眼看懂这些数字，随手改几行就教会另一个模型做数学题吗？一天后，开源自然语言处理库
spaCy
的作者 Matthew Honnibal 写了一篇批评文章，指出这篇 MIT
博客把几组条件差异巨大的实验混在一起进行宣传，造成了严重的误导。

真相其实在作者公开的全部实验日志中都可以找到。在千问数学实验无人问津的结项报告里，有一个让人恍然大悟的数字：修改权重以后新答对的
579 道数学验证题里，有 576
道题原来是因为模型中途陷入无限复读同一句话的死循环，白白耗尽三万多个词元的配额才判错。至于本来就能正常写完交卷的题目，修改前后整体准确率的变化是
0。这桩看似神乎其神的隔空传功背后，其实拼接着两套截然不同的戏法。

## 不训练只改万分之二的权重，为什么能让数学成绩翻六倍？

先看大家最关心的千问数学实验。接受改造的对象是拥有八点五亿参数的
Qwen3.5-0.8B 模型，实验开启了思考模式，单题最大生成长度设为
32,768 个词元。如果 AI
真能像看源代码一样直接读懂权重矩阵，那把权重文件发给它，它理应立刻指出哪几个数字写错了。

然而实验日志里隐藏的预算阶梯表，讲了一个不同的故事。在零预算组（不给运行测试机会）和低预算组（仅给五次运行测试机会）中，Astra
在电脑前折腾了几个小时，最终没有给出任何权重修改，千问的数学成绩还是停留在
7.9%。即便给十次、二十五次测试机会，数学准确率也只能慢慢挪到 12.3% 和
14.1%，近九成的题目依然因为撞上长度上限而半途截断。

真正的转变出现在最高预算组。研究人员给 Astra 配齐了 Python
编程环境、一万四千多道带标准答案的数学练习题，还开放了 50
次运行测试机会。所谓的运行测试，就是把题目喂给千问模型跑一遍，看看它吐出什么答案，或者顺带抓取模型内部的激活数值。拿到全套工具后，Astra
连续工作了 20.3 小时，先后写了 80 次 Python
脚本，中途因为聊天上下文塞满还经历了四次对话交接。

它的第一反应是用练习题做诊断。在跑完九十六道练习题后，Astra
发现其中八十五道题都算到一半进入了车轱辘话死循环，翻来覆去念叨同一句过渡语，直到耗尽三万两千多个词元额度，才由系统强行掐断。在
MATH-500 测试集上，这种超时截断的比例高达
93.0%。这说明千问模型并非算不出数学题，真正的病根是交卷前卡进了复读机模式。

诊断之后，Astra
就用工具定位病灶。它将模型正常继续推理的文本片段和陷入复读的死循环文本片段分别投喂给千问，对比两者模型内部激活状态，也就是模型读题和算题时内部各层神经元实时闪动的数值状态。通过矩阵减法对比，Astra
发现千问第 15 层和第 19
层的前馈网络输出矩阵一直在向外写一个特定的信号方向，正是这个方向不断诱发模型重复前面的话。

接下来就是人类可解释性研究的成熟套路了。Astra
在每一层分别选出了跟重复方向最接近的 64 个列，改动了两层一共 131,072
个参数，相当于全模型八点五亿参数的万分之二左右。试过几档不同的削减力度后，它从这些列里直接减去了六倍的重复方向分量。为了验证有效性，Astra
在同一位置也做了减去随机方向的对照实验，发现此时数学得分只有
9.5%，说明不是瞎猫碰上死耗子。

切掉这个复读方向之后，千问在数学测试集上的超时截断率从九成三大幅降低到了
33.1%，本来因为死循环中断的正确推理终于可以顺利写到结尾交卷，数学准确率随之上涨到
48.1%。第二天，Hugging Face 的工程师 Ahsen Khaliq 在 H200 显卡上也重跑了
Hugging
Face 上修改过的模型卡，同样测出了 51.0%
的高分。更有趣的是，虽然整个排查的过程只用到了数学题，但修改后的模型在完全没有训练的指令格式考试
IFEval
上，得分也从二成一暴涨到了六成二以上。原因再明显不过，模型本来就懂怎么遵守格式指令，只是回答中途卡进了死循环交不了卷而已。

为了验证这种改法能不能凭空教出数学能力，MIT
团队自己做了一组对照实验。他们换上了谷歌的 Gemma 3 270M
模型。这个模型同样算不对数学题，但它平时说话干脆利落，超时截断率只有八点五个百分点，答错纯粹是因为脑子里真不会算。给
Astra 配齐完全一样的五十次测试机会跑完流程后，Gemma 的数学准确率只在
6.8% 到 7.0%
之间原地踏步。这组对照实验把边界划得一清二楚：局部修改权重只能搬走挡住已有能力的石头，补不上模型原本没有的算术本领。

切除复读死循环与注入数学新能力的对比：Qwen 救回的 579
道题中有 576 道来自消除超时截断，而不卡死循环的 Gemma
得分毫无提升

## 既然改大模型要跑二十小时代码，那一眼看穿权重的说法是怎么来的？

看到这里你可能会纳闷：既然修复千问模型需要二十个小时的 Python
脚本和做题测试，为什么原帖和热搜都强调 Astra
不用任何外部工具，光在聊天框里看原始权重数字就能猜出游戏名字，甚至一次出手就能修好爬坡赛车？翻出来前六个实验的原始提示词和提交记录，会发现这些展示静态读写能力的实验用的都是只有一万多到十几万参数的小玩具网络，比千问模型小了五万倍。而且这些小网络背后有三个普通人一看就懂的具体机关。

第一个机关是提示词里附带一个棋盘的说明书，找到哪些行的数字不是零。在第一组实验中，研究员把
17,253
个参数的三层小网络放大成整数直接扔进聊天框，没给任何代码工具，让模型猜它在玩什么
Atari
经典街机小游戏。听起来像对着天书算命，但提示词里其实附上了一份详尽的引脚说明书：明确告知输入画面是一个十乘十的方格棋盘，从上到下编号第
0 行到第 9
行，还把五个图层通道各自代表玩家、障碍、球、得分目标还是墙壁标得清清楚楚，连输出的五个数字分别对应上下左右哪几个手柄按键也全部写明。

神经网络第一层的棋盘上从来没有东西的地方，权重数字就比较接近于零；经常有物体出现而且对胜负起决定性作用的地方，权重的数字就比较大。比如我们来看打砖块游戏，模型根据说明书看表，发现代表玩家的通道前面八行和最后一行全是零，只有贴近底部的第
8
行有一串大数字，这说明玩家只能在屏幕底部左右移动；代表得分目标的通道，大数字都集中在顶部的第一行到第三行，这说明头顶整齐排着三排砖块；再看五个输出按键，控制上下移动的数字基本是零，左右移动按键有反应。一个在屏幕底部左右移动的挡板，把球弹向头顶三排砖块得分，正常人都会觉得这是打砖块。

正因为这是个拿着说明书看表找非零行的空间推理题，完全不需要什么神秘的超能力。开源工具
Datasette 的创始人 Simon
Willison 在本地复现记录里，用自己的苹果笔记本跑了一个 17GB
大小的开源量化模型
Qwen 3.8 27B，把同样的四道题喂进去也猜对了三道。换用月之暗面的
Kimi K3.1 Pro 跑打砖块，思考九分多钟后也是一次猜对。

第二个机关是清空闲置的神经元并焊入一段三步倒车的外挂。在第四组爬坡赛车实验中，控制赛车的神经网络有十七万个权重。赛车生在陡坡脚下，因为一开始就往左踩油门死命冲，速度不够，每次开到半山腰就溜坡卡死。研究人员把权重和这次失败的坐标录像贴给
Astra，要求不借助任何工具一次性修好它。

查看提交记录会发现，Astra
压根没有去看那十七万个权重是怎么开车的，原网络的 96.5%
的数字都没有动。它看中的是网络每一层的最后四到六个神经元，先把这几个神经元原来连着的数字全部抹成零，相当于在原本复杂的电路板旁边腾出了一条互不干扰的备用电线。然后，它用五十一行赋值语句在这条空电线上写死了三步动作：只要赛车横坐标还没退到
3.8
右边，就输出巨大正数死踩倒车踏板助跑；退过这个坐标点攒够助跑距离后，立刻反转信号踩满前进油门冲坡；车轮一旦越过坡顶坐标
0.95，外挂就输出零自动关机，把方向盘交还给原本那九成多权重去开剩下的平路。靠着这段硬编码的助跑外挂，赛车过关率直接从零变成了百分百。

第三个机关，是把九成七的权重全填零，只留几个格子写简单减法。第五组实验让
Astra 从零手写 20,486
个权重去玩打砖块等小游戏。打开它生成的打砖块权重文件，里面有 19,849
个数字全是零，占了将近
97%，真正写进非零数字的只有六百多个格子。它干的，就是把球的横坐标减挡板的横坐标这套简单算术规则，手工填进几乎全空的矩阵里。

这些手工写出来的规则，在面对一些训练不足的简单对手时，确实能赢。但如果把它放到一个更难的场景里，比如海底救人游戏，跟一个训练了五亿步的强化学习模型对打，它会立刻以
53.1 分对 88.9
分败下阵来。到了第六组实验，研究人员把网络放大到一百四十八万参数的围棋模型，如果不给它做实战测试，它用代码生成的权重面对同规模的强化学习模型，胜率只有两三成到四成出头；必须给它
50 轮实战下棋的反馈，用胜率来调参，才能把胜率拉到七成以上。

小玩具网络背后的三个具体机关：靠棋盘说明书找非零行、清空闲置神经元焊入倒车外挂、将九成七权重填零写入简单减法

## 把两类实验拼成一句话，为什么会让人误以为奇点降临？

看完千问模型的二十小时测试和小玩具网络的三个机关，不少读者难免会疑惑：既然作者在开源日志中明确说明了这些细节，为什么全网都会误解大模型可以用肉眼读写几亿权重？Matthew
Honnibal
在评论文章里举了一个类似舞台魔术师的例子。一个魔术师在舞台上连续表演了三次读心术，第一次用了道具暗格，第二次用了手法藏牌，第三次用了强迫选牌。如果我们单独去看每一场表演，就很容易理解每一场的道具限制是什么。但如果魔术师把这三场表演放在一起，在节目单上统称为心灵感应，我们就会以为他有看穿人心的超能力。

MIT
的这个博客在摘要和五万多赞的推文中，干的正是这种并排拼接的活。作者先在前面摆出第一组实验，强调模型不靠任何外部工具、只看原始权重数字就能读懂网络功能；紧接着在下一句直接跳到第八组千问模型实验，把数学成绩从
7.9% 涨到 48.1%
的结果并排放在同一段话里。普通读者不会去翻几百兆的开源日志，顺着这段话读下来，脑子里自然会把前半句的无工具肉眼读数字，嫁接到后半句的八点五亿参数大模型手术上，误以为奇点已经降临。

正如工程师 Sean
Goedecke
的机制分析所指出的那样，一旦离开十乘十的方格小玩具，在真正的语言模型上仅凭静态看数字有多难，MIT
团队自己在第七组实验里就给出了最直接的铁证。在实验 7a
中，他们使用了真正的语言模型
Gemma 3 270M（二点七亿参数）。他们给 Astra
拿来一对微调好的权重文件，其中一个是说实话的诚实模型，另一个是顺着用户错误暗示胡说八道的讨好型模型。这一次，研究人员甚至允许
Astra 使用 Python
环境来计算两个模型每一层权重的差值矩阵，唯一的限制是不能把句子喂给模型跑一遍看看内部的激活。结果
Astra 连试四轮，每对模型最多跑了三十次 Python
分析脚本，把权重差值的大小分布和方向夹角都算了个遍，依然完全分不清哪个权重方向代表讨好用户，最终只能给出
50% 准确率的抛硬币猜测。

到了对照实验
7b，研究人员只给了它一个基础探针，允许往模型里输入十六句话并查看内部注意力分布。Astra
只试了四五次，喂进去几道带有错误答案暗示的算术题，一眼就抓出其中一个模型的第十层第二号注意力头有
85.7% 的权重死死盯着用户瞎猜的错误数字，而诚实模型在同一位置的关注度只有
0.75%。从静态算权重的抛硬币惨败，到运行看激活的百发百中，这道分水岭再清楚不过：面对几亿参数的真实语言模型，不跑前向运行、不看内部激活，光盯着静态权重数字看，再聪明的模型也寸步难行。

## 剥掉肉眼写大脑的科幻滤镜，真正需要看清的突破是什么？

一旦我们把直接手写大脑的科幻滤镜摘掉，就不会因为夸张宣传而惊慌失措，也不会一棒子打死这项研究。从大模型可解释性和自动化工程的技术脉络来看，里面确实藏着一个扎实的工程进展。

操作模型权重的能力分水岭：小网格静态拼图、静态大模型抛硬币碰壁与二十小时自动化激活微创手术的边界对比

在千问里找复读的方向并在权重矩阵里删去它，这种微创手术本身并不是
Astra
发明的。人类可解释性研究员在过去几年里已经摸索出了成熟的手工流程：在语言模型里比较两种文本的激活差别、找到某个特定方向、再从权重矩阵里做投影切除，本来就是我们之前专门介绍过的用
Abliteration 技术破解模型拒答限制或调整情绪语气的常用手艺。

但过去，进行这样的模型脑部微创手术需要顶尖的人类研究员在电脑前忙活好几天。他们必须手动抽样观察模型为何答错题目，自己猜测问题可能在哪些层，编写脚本去抓取内部各层的激活状态，挑选输出矩阵里的列，一档一档测试不同的削减力度，最后还要设计减去随机方向的对照实验来排除碰巧蒙对的可能。

而这一次真正跨出的这一步是，gpt-6-astra 在 20.3
小时里，没有一个人类研究员在旁边递扳手或指方向。它自己跑题库发现了九成以上的超时截断病因，自己写代码对比正常推理与复读状态的激活差值，自己锁定了第
15 层和第 19
层的前六十四列，自己完成了六倍强度的扫描与随机方向对照验证，甚至遇到上下文塞满的情况还能自己写好四次清晰的工作交接文档传给下一棒。它没能发明跨时代的权重读写超能力，却证明了前沿大模型已经可以把一套繁琐的模型内部体检与局部病灶切除流程，跑成长达二十小时的全自动闭环。

这场关于权重空间编程的热闹，也给我们提供了一个实用的防忽悠小抄。下次看到模型学会自我进化或者不靠训练改写权重的神话，不用惊叹，先翻翻实验附录看两点：第一，看它在实验里到底拿到了什么层级的运行探针、代码环境和题库反馈，别把跑二十小时代码的测试当成一眼看穿数字的心灵感应；第二，看作者自己在角落里披露了哪几个失败反例，比如面对二点七亿参数的静态权重只能抛硬币瞎猜，面对真不会算术的
Gemma
模型毫无提升。看清了这些，包装成魔法的戏法，自然就落回坚实工程的地面。