Qwen 权重编辑之争:LLM 直接改权重是怎么回事,开发者该信哪部分
Qwen 权重编辑之争:LLM 直接改权重是怎么回事,开发者该信哪部分
2026 年 11 月 2 日,MIT CSAIL 发布研究文章《Sparks of Weight-Space Programming》,宣称前沿 LLM 能「原生读写神经网络权重」:仅凭权重就能判断一个网络的训练目标,并在不跑梯度下降的情况下直接修改权重。其中传播最广的例子是「GPT-6 Astra 编辑 Qwen3.5-0.8B 的权重,把数学能力从 7.9% 提到 48.1%」。这篇帖子在 Hacker News 拿到 2956 分、898 条评论;一天后,一篇题为「这个帖子有误导性」的反驳文章拿到 1038 分、209 条评论。
对国产开源模型的开发者来说,这场争论值得认真读,因为它触及一个只有开源权重才有的能力边界:你能看到、也能改动手里的每一个权重。但能改到什么程度、宣传里哪些被夸大,需要把双方证据摆在一起看。
30 秒版本
论文说 LLM 能直接读写权重并修好 Qwen 小模型;反驳说「纯读原始权重、不用工具」的实验只在 17K–172K 参数的小网络上做过,Qwen 案例实际用了 Python 工具。可以稳妥接受的结论:用工具做「无梯度权重编辑」在特定任务上被演示过;「LLM 原生看懂大模型的全部权重」目前证据不足。开源自有权重是这波技术的前提。
论文宣称了什么
原文(MIT CSAIL 研究博客,Rikiya Takehi、Jayden Teoh、Alex Zhang、Omar Khattab)给出三个具体演示:
| 演示 | 对象 | 宣称结果 |
|---|---|---|
| 网络识别 | Breakout 策略网络,17,253 个权重 | 无工具、仅凭权重,99% 置信度识别出训练游戏 |
| 一次修复 | Kinetix 小车关卡策略 | 单次编辑 3.5% 权重,1,024 回合成功率 0% → 100% |
| 数学能力修复 | Qwen3.5-0.8B | 编辑 0.016% 权重,MATH-500 从 7.9% 升到 48.1%,IFEval 提升约 3 倍 |
论文的整体主张叫 Weight-Space Programming:用 LLM 的推理直接读写权重,而不是只依赖 Adam、Muon 这类符号优化器。文中明确说明这是「very early results」(非常早期结果)。
为什么 Qwen 案例最受关注
前两个演示的对象是小型策略网络,离日常开发较远;而 Qwen3.5-0.8B 是真实发布的开源模型,且原文提到它的模型卡本身就警示过「推理循环」缺陷——「用极小比例的权重编辑修复已知缺陷」这个叙事,对所有用开源模型的人都直接相关。
反驳方的核心质疑
Honnibal.dev 的反驳文章(HN 1038 分)主要有三点:
- 「仅凭原始权重、不用工具」的设定只在部分实验中成立,且那些网络只有 17K–172K 个权重——远不是 0.8B 模型的量级。把它读成「LLM 直接看懂了 Qwen 的权重」是过度外推。
- Qwen 案例实际是在 Python kernel 中编辑权重,属于「用工具完成」,与标题给人的印象有差距。
- 结论有被外推成「LLM 递归自我改进」的倾向,而实验并没有支持这一步。
HN 评论区也有中立声音:原文其实交代了这些实验设定,但标题和摘要容易让读者只带走「LLM 改权重」的戏剧性部分。(两个帖子:原帖 2956 分、反驳帖 1038 分)
开发者该信哪部分
把双方证据摆在一起,可以划出这样的边界:
可以稳妥接受:
- 无梯度、由 LLM 推理指导的权重编辑,在特定任务上有具体、可复现路径的实验演示
- 对小型网络,「从权重推断行为」的可解释性演示成立
- 权重级操作只对开源权重成立——这是闭源 API 没有的能力
证据不足、需要警惕:
- 「前沿 LLM 原生读懂大模型的全部原始权重」——没有大模型量级的确证
- 「模型自我改进时代很快到来」这类推论——论文自己都标注为早期结果
- 把单一 0.8B 模型上的 MATH-500 提升,外推到「你手里的模型也能提升 6 倍」
读标题的教训
这场争论本身就是一个提醒:技术传播里,标题的戏剧性和实验设定的边界往往不成比例。看到「LLM 改权重修模型」这种表述,先找两样东西——实验的网络规模、以及是否使用了工具。这两点决定了结论能走多远。
为什么这场争论和国产开源模型直接相关
三个层面:
能力层面。 权重可读、可写,是开源权重的独有能力。闭源模型只有 API——没有「权重」这个对象,也就没有权重编辑这回事。这类研究越成熟,开源模型的可改造性优势越明显。
工程层面。 模型卡已知的缺陷(如推理循环这类问题),理论上可以用极小比例的权重编辑低成本修复,而不必重训或换模型。附录里 0.016% 这个数字如果可复现,对维护自有部署的团队是很有吸引力的方向。
生态层面。 「本地部署 + 自有权重」的价值再加一层:不只是隐私和成本,还有可改造性——你可以对权重做实验,而不仅是调用它。
想自己验证,最小起步路径
如果你对这方向感兴趣,不必一步到位复现论文。最小验证路径:
第一步:用 FP16 原始权重做实验,并保留一份未动过的副本。 编辑对象是权重,量化版本会引入额外噪声;无论实验是否成功,原始副本让你随时回滚。
第二步:从小模型开始。 0.8B 量级在单卡甚至 CPU 上就能加载和推理,适合做方法验证。
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# 模型名以 HuggingFace 模型卡实际发布为准
model_id = "Qwen/Qwen3.5-0.8B"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16)
def ask(question):
inputs = tok(question, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=256)
return tok.decode(out[0], skip_special_tokens=True)
# 先建立基线:固定一组题目跑一遍,人工核对正确率,作为编辑前后的对照
print(ask("What is 17*23?"))
第三步:云端强模型做对照。 同一组题目发给云端模型,标出「满分答案」长什么样,便于判断本地模型的差距是能力问题还是格式问题:
from openai import OpenAI
client = OpenAI(
api_key="你的APIKey",
base_url="https://exaiv.com/api/ai/v1",
)
# model 填 /models 目录里的实时可用 ID
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "What is 17*23?"}],
)
print(resp.choices[0].message.content)
第四步:编辑后再做任何量化/部署前,用同一组题复测。 目前没有证据支持「编辑过的权重再量化不损失」,一切以你自己的评估集为准。
编辑用 FP16,部署用 GGUF
两个环节的工具链不同:权重编辑实验建议在 FP16 原始权重上做(避免量化噪声干扰实验结果);实际部署仍然可以量化成 GGUF 用 llama.cpp / Ollama 跑(省显存、低门槛)。不要用同一份量化文件既做实验又做部署。
FAQ
我能用这个方法修我自己的模型吗?
为什么权重编辑必须用开源模型?
Qwen3.5-0.8B 的提升能复现吗?
权重编辑和模型合并(merge)是一回事吗?
量化后的 GGUF 还能做权重编辑吗?
这事和普通调用方有关系吗?
相关阅读
- Qwen 模型架构:从 Transformer 到 MoE — 理解权重在模型里扮演什么角色
- 国产开源 vs 海外旗舰 — 开源权重能力边界的全景对比
- Qwen 3.8 27B 本地部署 — 自有权重的本地实践
- Qwen GGUF 本地部署入门 — 部署环节的量化常识
- Qwen 系列怎么选 — 云端模型选型