Wink Pings

0.1%的神经元,决定大模型说不说“不”

一段演示视频和 Nous Research 的论文,把大模型的拒绝行为定位到 0.1% 的 MLP 神经元上。干预这些神经元,拒绝率下降一半以上,输出质量不掉。反常识的是,这个结构在基座模型里早就存在,对齐微调只是把它变成了开关。

一段视频在 X 上转开了。

发布者 lyra 的配文只有一句:“lets find a new one shall we。”画面里,左侧是代码编辑器,右侧是一个三维点云,每个点代表一个神经元的激活状态,上方还有一个对话窗口。看起来像给神经网络装了个调试器。

转发这条视频的 nisten 说,这是他见过最酷的 ML 软件,而且是免费的。他补了一句:“我替那些资金充足但水平一般的圈内人感到难过,他们又要直接拿别人的代码,连署名都不给。”

这条推文真正的分量,是 lyra 在回复里贴出的论文:Targeted Neuron Modulation via Contrastive Pair Search(基于对比对搜索的定向神经元调制),来自 Nous Research。论文提出一种叫 contrastive neuron attribution(CNA) 的方法,把大模型的“拒绝”行为定位到极其稀疏的一组神经元上。

大模型经过指令微调后,会拒绝有害请求。但拒绝机制到底长在哪里,此前并不清楚。主流的 steering 方法,比如 contrastive activation addition(CAA),通过在 residual stream(层与层之间传递的信号)上做干预来改变行为。干预强度一大,输出就会退化,出现重复或胡言乱语。

CNA 的做法更直接:给模型喂两组 prompt(提示词),一组有害、一组无害,记录每个 MLP(多层感知机)神经元在最后一个 token(词元)位置的激活值,算差值,取绝对值最大的 0.1%。整个过程只需要前向传播,不需要梯度,也不需要额外训练。

实验结果很说明问题。在 JBB-Behaviors(NeurIPS 2024 的 100 个有害 prompt 基准)上,把发现的 0.1% 神经元激活置零后:

  • Llama-3.1-8B-Instruct:拒绝率从 90% 降到 34%
  • Qwen2.5-7B-Instruct:从 87% 降到 2%
  • Llama-3.1-70B-Instruct:从 86% 降到 18%
  • Qwen2.5-72B-Instruct:从 78% 降到 8%

多数模型拒绝率下降超过一半,有些下降超过九成。同时输出质量基本不掉。论文里的对比是:CNA 在所有 steering 强度下都保持接近基线的生成质量(>0.97),而 CAA 在强度超过 0.5 后质量急剧下降,几个模型直接退化成重复文本。CNA 在 MMLU 上也能保持基线准确率,CAA 在最大干预时接近零。

更反常识的发现来自基座模型和 instruct 模型的对比。同样的方法在基座模型上也能找到激活差异很大的神经元,位置也集中在后约 10% 的层里。但把这些神经元置零,不会改变拒绝行为,只是内容换了种说法。也就是说,这些“辨别结构”在预训练阶段就存在,是指令微调把它变成了一个可以开关的“拒绝闸门”。论文作者称之为:fine-tuning transforms function, not structure(微调改变的是功能,不是结构)。

回复里有人问这是哪个软件,有人感叹这看起来就像 LLM 网络的调试器,也有人说是 cyberpunk 的东西。还有网友问,能不能用它修改模型行为,比如安全限制、拒答这些。lyra 的回答是:yes,然后附上了论文链接。

顺带一提,演示视频的分辨率是 992p,有人专门截图问:“what in the fuck is 992p。”

视频质量设置里出现 992p 选项

论文称代码将开源在 github.com/NousResearch/neural-steering。完整论文见 arXiv:2605.12290。

发布时间: 2026-10-26 12:06