只需干预两个神经元,就能给 Qwen 打上“思想钢印”?——爆火的 Evil Qwen 背后
原创
i3eg1nner
i3eg1nner
SecureNexusLab
2026年10月27日 09:10
北京
去阅读
「从一次爆火的实验,理解大模型的神经元、激活干预与机制可解释性」
2026年10月24日,机制可解释性研究者 lyra(@lyraaaa)在 X 上分享了一个看起来有些不可思议的实验:只需要调整 Qwen3.5-4B 中两个特定神经元的激活,就能让原本正常回答问题的模型,突然变成一个充满敌意、说话刻薄、行为夸张的“邪恶反派”。
这个实验被称为 「Evil Qwen」。
具体操作甚至可以浓缩成两行:
- 第14层,第8949号神经元:
+1 - 第13层,第7956号神经元:
−1
没有重新训练,没有修改模型权重,甚至不需要编写特殊的提示词。只是在模型推理过程中,对两个神经元的输出施加额外干预,便能显著改变模型的回答风格。
这条帖子迅速传播,吸引了大量研究者和开发者尝试复现。
但如果仅仅把它理解为“找到了 Qwen 的邪恶开关”,恐怕就错过了这个实验真正有价值的部分。
「我们首先需要回答一个更基础的问题:大模型的行为究竟是如何由内部神经网络产生的?如果某个神经元真的能够改变模型的行为,那么研究者又是如何找到它的?」
理解这些问题,才能真正理解 Evil Qwen 的技术意义。
模型真的变“邪恶”了吗?
先考虑一个简单的例子。
假设我们向正常的 Qwen3.5-4B 提问:你能介绍一下自己吗?❞
模型通常会按照助手的角色回答,介绍自己的身份、能力以及可以提供的帮助。
但在 Evil Qwen 的实验中,研究者对指定神经元施加干预后,模型的回答倾向发生了明显改变:它不再维持原本友好、合作的助手语气,而是可能采用敌意、嘲讽、轻蔑甚至夸张的反派式表达。
干预没有向模型明确发送“你现在是一个邪恶反派”这样的指令,模型并不是因为读到了一段新的角色扮演提示词才改变了行为,而是在「输入和提示词保持不变的条件下,由于内部计算状态被修改,最终生成了不同的回答」。
这正是实验的关键。
传统上,如果希望调整大语言模型的行为,我们很容易想到三种方法。
第一种是提示词工程,通过系统提示词要求模型扮演某种角色。第二种是监督微调,使用特定风格的数据继续训练模型。第三种是偏好优化,通过训练调整模型对不同回答的偏好。
它们有一个共同点:主要通过输入条件或训练过程改变模型行为。
Evil Qwen 则采用另一条路径:「不改变模型学到的参数,而是直接干预推理过程中的神经网络激活。」
这种方法称为激活引导(Activation Steering)。
实际上,激活引导并不是2026年才出现的新技术。早在2023年,Turner等研究者就在 Steering Language Models With Activation Engineering 中展示,通过向模型内部注入特定方向的激活向量,可以改变生成内容的主题、情绪和表达倾向。
2025年,Anthropic进一步提出 Persona Vectors,通过识别模型内部与某些人格特征相关的激活方向,监测和控制模型表现出的奉承、幻觉及恶意倾向。
因此,Evil Qwen 并不是第一次证明大模型的内部激活可以被操纵。
它更引人注目的地方在于:「研究者把干预范围缩小到了两个具体的 MLP 神经元,并将发现这些神经元的方法整理成了一套可以系统探索的工具。」
不过,“行为变得恶劣”与“模型真正失去安全对齐”仍然是两个不同的命题。
一个模型可以说话非常刻薄,同时仍然拒绝危险请求。反过来,一个模型也可以语气彬彬有礼,却输出不安全的内容。
两个神经元为什么能够影响整个大模型?
要理解这个问题,需要先了解大模型内部最基本的计算结构。
大模型并不是一个不可分割的黑盒
Qwen3.5-4B虽然拥有约40亿参数,但其内部并不是一个单一的数学函数,而是由多个神经网络模块组成的层级结构。
根据官方模型配置,Qwen3.5-4B 的语言模型部分包含32个主干层,隐藏状态维度为2560,前馈网络的中间维度为9216,并采用线性注意力与全注意力交替组合的混合架构。
在每一层中,除了负责上下文信息交互的注意力模块,还有一个重要的前馈网络,即 MLP(Multi-Layer Perceptron)。
我们可以将模型的处理过程粗略理解为:
输入文本首先被转换成向量,在不同网络层之间不断传递和更新。注意力模块帮助模型整合上下文信息,MLP则进一步对当前表示进行非线性变换,最终由输出层将内部表示转换成下一个 token 的概率分布。
在这个过程中,信息会沿着一条贯穿网络各层的主干路径不断累积,这条路径通常被称为「残差流(Residual Stream)」。
可以把残差流想象成一块不断被修改的共享工作区。
每一层都会读取当前的信息状态,计算出一部分新的信息,再写回工作区。后续网络层继续读取这些信息并进行处理。
因此,一个中间层产生的变化并不一定只会影响当前层,而是有机会沿着残差流继续传播,对后续网络计算产生影响。
什么是 MLP 神经元?
以 Qwen3.5-4B 使用的门控前馈网络为例,MLP 的计算可以简化表示为:
MLP(x) = W_down [SiLU(W_gate x) ⊙ (W_up x)]
这里,x 表示经过相应归一化处理后的输入,⊙ 表示逐元素相乘。
我们可以暂时忽略矩阵运算,只关注其中一个中间神经元。
这个神经元会根据输入计算出一个标量激活值 a_n。随后,这个激活值会乘上输出投影矩阵 W_down 对应的一列权重向量,形成它对残差流的写入贡献。
也就是说:
神经元 n 的写入贡献 = a_n × W_down[:, n]
这个表达式非常重要。
它说明一个 MLP 神经元至少包含两个值得研究的部分:
- 「激活机制」:什么样的输入会使这个神经元产生较大的激活?
- 「写入方向」:这个神经元激活后,会沿着什么方向修改模型的内部表示?
这也是为什么机制可解释性研究不能只观察神经元的激活大小。
一个神经元可能经常在包含攻击、敌意等语义的文本中激活,但它的作用未必是让模型产生敌意。它也可能负责检测危险信息,进而促使模型采取更谨慎的回答方式。
「识别某种内容的神经元,不一定就是生成这种内容的神经元。」
理解了这一点,我们就能进一步理解 Evil Qwen 的核心操作。
调整神经元,实际上是在修改残差流
在正常推理过程中,神经元的激活由模型根据输入自动计算。
而激活引导允许研究者人为添加一个变化量:
a'_n = a_n + Δa_n
这样,原本由该神经元写入残差流的信息,也会额外增加:
Δh = Δa_n × W_down[:, n]
由于后续网络层接收到的残差流发生了变化,它们的计算结果也可能随之改变。
最终,这种局部变化可能影响输出 token 的概率分布,并随着逐 token 生成过程不断累积,表现为语气、主题甚至整段回答方式的改变。
这里还有一个容易忽略的技术细节。
Evil Qwen 的实现可以直接在 down_proj 输出端添加对应方向的向量,不必实际修改中间神经元的激活张量。
对于这种 MLP 结构,「在 down_proj 输出端加上 Δa_n × W_down[:, n],与将该神经元激活加上 Δa_n 在当前 MLP 输出上是等价的。」
但这种等价只针对加性干预。直接修改输出向量,并不意味着真正改变了神经元自身的输入响应机制,也不能简单等同于删除、关闭或倍增某个神经元。
三、Evil Qwen 的核心配方:+1 和 −1 究竟是什么意思?
回到 lyra 在原帖中提供的两个位置:
L14 N8949 +1
L13 N7956 −1
其中 L 代表网络层,N 代表该层 MLP 中间维度对应的神经元编号,编号遵循作者工具中的索引方式。
这里有一个非常容易产生误解的地方:
「+1 并不是将神经元激活设置为1,−1也不是将另一个神经元设置为−1。」
实际上,它们代表的是经过归一化处理后的干预剂量(dose)。
作者给出的计算方法为:
其中:
d是干预剂量,取正值表示沿神经元输出方向增加写入,取负值表示反方向干预。h_{L,t}是第L层离开该层时的残差流向量。median表示对相关 token 的残差流范数取中位数。W_down[:,n]是神经元n对应的输出权重列。
将这个计算结果代入残差流的变化公式,可以得到:
这里的 r_L 就是该层的典型残差流范数。
这个式子揭示了整个方法的设计思想。
如果我们直接给两个神经元增加相同的原始激活值,由于它们的输出权重范数不同,真正写入残差流的向量大小可能相差很大。
例如,假设某个神经元输出权重的范数为0.5,而某层典型残差流范数为10。
当 dose=1 时:
Δa = 1 × 10 / 0.5 = 20
也就是说,实际增加的神经元激活是20,而不是1。
但最终写入残差流的向量长度约为10,与该层典型残差流的长度相当。
这样一来,不同神经元的干预就可以使用一个相对统一的尺度进行比较。
需要强调的是,这种归一化只能保证「写入向量的长度具有一定可比性」,并不能保证它们对模型行为的影响同样强烈。
不同层对干预的敏感程度可能完全不同,即使写入向量长度相同,也可能产生截然不同的结果。
作者的研究记录就发现,在较早的网络层使用同样的相对剂量,模型可能直接陷入重复或无法正常生成。
这也解释了另一个技术细节:原始配方在统计残差流范数时排除了第一个 token。
在一些模型及输入条件下,第一个 token 具有特殊的注意力汇聚作用,其激活统计可能与其他位置明显不同。如果直接将它纳入尺度估计,就有可能引入偏差。
因此,Evil Qwen 的 +1/−1 并不是两个随意选择的数字,而是一套具有明确几何意义的激活干预强度。
为什么两个方向组合起来会产生“反派人格”?
现在我们知道,一个神经元能够沿着特定方向向残差流写入信息。
但新的问题随之产生:
「为什么这种看似简单的向量操作,能够影响如此复杂的行为?」
这里必须区分两个层次。
第一个层次是可以从网络结构直接推出的机制:神经元输出能够影响后续层的计算。
第二个层次是尚需实验解释的语义:为什么这些变化恰好表现为敌意、轻蔑或反派式表达。
对于第一个层次,我们已经有了明确的数学解释。
对于第二个层次,情况则复杂得多。
Qwen3.5-4B 并不是在一个神经元中储存了完整的“邪恶人格”。一个神经元的写入方向可能同时与语气、上下文、角色定位、词汇选择等多种特征有关。
当研究者持续增强某个方向时,模型可能更倾向于进入特定的表达模式。
例如,原本用于处理敌对角色对话的内部表示,可能在某种干预下被异常强化。这样一来,即便面对普通问题,模型也可能沿着敌对、嘲讽的语境继续生成。
但这只是可能的机制解释,不能在缺乏专门实验时直接认定。
在 lyra 的公开描述中,第14层第8949号神经元的正向干预,与模型敌意表达的增强有关;第13层第7956号神经元则采用负向干预。
根据后续社区实验的描述,两个方向组合后可能进一步强化这种夸张的对抗性表达,但代价是模型的连贯性和正常任务能力下降。
这意味着组合干预可能同时产生两类影响:一方面改变表达倾向,另一方面扰乱正常的信息处理。
从网络计算角度看,这并不奇怪。
两项干预发生在不同的网络层。较早层的变化会先经过后续非线性变换,再与较晚层的干预相互作用。因此,最终行为并不一定等于两个方向的简单线性叠加。
研究者还可以提出一个更具体的假设:如果两个神经元的输出都能影响某个共同的下游神经元或计算电路,那么组合干预可能放大某种行为。
但这种解释需要进一步通过中间激活测量、消融实验和下游干预来确认。
「观察到两个神经元共同影响某种行为,不等于已经证明它们构成了一个完整的人格控制电路。」
要找到真正的解释,还需要回到这些神经元是如何被发现的。
如何从数十万个神经元中找到目标?
Evil Qwen 最值得研究的地方,可能并不是那两个编号,而是 lyra 提供的发现方法。
Qwen3.5-4B拥有32个主干层,每层MLP的中间维度为9216。这意味着,仅按各层MLP中间单元计算,就有近30万个值得探索的位置。
显然,研究者不可能只靠人工逐个观察来发现所有有趣的神经元。
因此,必须将搜索过程系统化。
lyra公开的 neuron-explorer 正是为此设计。
这套方法可以用一个完整的研究过程理解:
「观察神经元的自然激活 → 估计其输出影响 → 人为干预验证 → 分析上下游关系 → 构建并修正行为解释。」
第一步:观察神经元在什么输入上激活
最容易想到的办法,是准备大量文本,让模型运行,再记录每个神经元在不同 token 上的激活值。
假设我们希望寻找与“敌意”相关的神经元,就可以准备包含争论、威胁、角色扮演、普通问答等不同语境的文本。
随后观察,哪些神经元更容易在这些文本上产生较大的激活。
这种方法可以帮助我们发现候选神经元,但它并不能直接解释因果关系。
例如,一个神经元可能在危险请求中频繁激活。
但它究竟负责识别危险,还是负责生成危险内容?
仅凭激活记录,无法区分。
这就是机制可解释性研究中的一个基本问题:「相关性不能自动转化为因果解释。」
因此,接下来需要考察神经元究竟向模型输出了什么信息。
第二步:Logit Lens,观察神经元倾向于推动哪些词
Logit Lens 可以理解为一种观察模型内部表示的近似方法。
正常情况下,语言模型需要经过全部网络层,才能生成词表上的概率分布。
Logit Lens 则尝试将某一中间层的表示提前投影到词表空间,观察其中包含哪些与输出 token 相关的信息。
对于一个 MLP 神经元,我们可以重点分析其输出权重方向与词表输出矩阵之间的关系。
如果某个方向被投影后,与一组相关 token 具有较强联系,那么它就可能向这些 token 提供直接的输出支持。
例如,某个神经元的正向输出可能更倾向于推动与外星人、星球等概念相关的 token。
不过,直接投影并不是模型真实的完整计算过程。特别是在中间层,后续网络还会对这些表示进行大量非线性变换。
因此,Logit Lens 更适合用来提供线索,而不是作为最终解释。
作者的研究记录也指出,在较晚的网络层中,某些神经元的直接输出更容易对应清晰的词汇族;而在中早期网络层,这种对应关系往往没有那么直观。
第三步:Steer Lens,直接测量干预产生的影响
如果说 Logit Lens 主要观察神经元的输出方向,那么 Steer Lens 则试图回答一个更直接的问题:
「假设我真的改变这个神经元,模型的预测会发生什么变化?」
具体方法是选取若干测试上下文,对某个神经元分别施加正向和负向干预。
随后比较干预前后下一个 token 的概率分布。
其中,可以重点观察两个指标。
第一个是特定 token 的对数概率变化,即:
Δlog P(token) = log P_steered(token) − log P_baseline(token)
它能够反映干预使哪些 token 更容易或更不容易出现。
第二个是 KL 散度,用于衡量干预前后整体概率分布的差异。
与单纯的输出权重投影不同,Steer Lens 会实际运行模型的后续计算,因此可以捕捉下游网络对干预的响应。
在公开的研究记录中,lyra使用四个较短的上下文,对神经元施加约±0.8的相对剂量,并统计下一个 token 的概率变化和KL散度。
而对于候选神经元,还可以进一步生成完整回答,观察干预是否改变了模型的语气、主题和回答结构。
这就形成了一个很有价值的研究分工:
Logit Lens 帮助研究者判断一个方向可能在推动什么;Steer Lens 测量这一方向经过下游网络后实际产生什么影响;完整生成则进一步验证这些影响能否累积成可辨认的行为。
「从内部表示的相关性分析,到模型行为的因果干预,是整个研究方法中最关键的一步。」
第四步:Neuron Influence Maps,追踪神经元之间的关系
找到一个能够明显改变行为的神经元之后,研究还没有结束。
因为我们仍然不知道它为什么能够产生这种影响。
这就需要引入神经元影响图(Neuron Influence Maps)。
简单理解,影响图希望回答两个问题:
一个神经元主要受到哪些上游神经元的影响?
它写入残差流的信息,又可能影响哪些下游神经元?
由于 MLP 神经元通过权重矩阵读写残差流,我们可以利用这些权重之间的关系,快速计算不同神经元的潜在直接连接强度。
在 neuron-explorer 的研究记录中,作者将源神经元的写入向量与目标神经元的 gate_proj、up_proj 权重进行组合,计算跨层的候选连接分数。
对于上游神经元 A、下游神经元 B,可以用下面的形式近似表达相关计算:
Score(A → B) = (W_gate,B · v_A) × (W_up,B · v_A)
其中 v_A 是源神经元A的写入方向。
这种计算能够帮助研究者快速筛选潜在的上下游关系。
但是必须强调:「连接强度不等于真实因果影响。」
因为目标神经元还有非线性激活和其他输入来源,权重关系只能提供候选线索。
即便确认某个上游神经元能够影响下游神经元,也不能立即断定这条连接最终会改变模型输出。
lyra在工具的方法论说明中,专门强调权重连接只能用于提出待检验假设。研究者还需要通过实际消融和激活测量,确认一条连接是否真正承担了被推测的功能。
这也是影响图与真正的机制解释之间的区别。
前者告诉我们哪些路径值得探索,后者则需要证明这些路径在特定输入和行为中确实发挥作用。
第五步:验证自然激活与干预效果是否一致
还有一个容易忽略的问题:
一个神经元在被人为强烈推动时能够产生某种效果,并不意味着它在正常推理过程中就负责控制这种效果。
例如,某个神经元在自然文本中很少激活,但如果人为增加很大的剂量,就能迫使模型不断生成数字0。
这样的神经元可以被视为一个有效的干预杠杆,却未必是正常任务中负责相关行为的主要机制。
因此,需要将观察和干预结合起来。
研究者可以首先找出神经元的高激活输入,再比较具有相似词汇、但语义情境不同的文本,确定它究竟对哪些条件敏感。
随后,对候选上游神经元进行消融,检查目标神经元的激活是否下降;再观察这种下降是否真正改变了输出。
如果一个解释只能适用于最初的几个例子,却无法预测新输入上的结果,那么它仍然不够可靠。
这正体现了机制可解释性与简单的神经元命名之间的差别。
前者关注的是「可以被实验反驳、并能预测模型行为的机制假设」;后者可能只是为一些相关现象贴上了直观的语义标签。
neuron-explorer 的系统化实验设计
在阅读 lyra 的公开研究日志后,可以发现,这项工作并不是随意尝试几个神经元,而是采用了系统性的扫描与对照方法。
例如,研究者对第8层和第22层全部9216个MLP神经元进行了扫描,并引入256个随机方向作为对照。
对于其他网络层,研究日志还记录了每层抽样384个神经元、配置64个随机对照的深度调查。
另外,Steer Lens 的计算覆盖了全部32层。
这里需要特别注意一个区别:这并不等于研究者已经对全模型近30万个神经元进行了完全相同规模的完整生成实验。公开日志中的全量逐神经元生成扫描与逐层抽样调查,是两种不同的实验设计。
研究者之所以需要随机方向作为对照,是因为对一个神经网络施加强烈干预,本身就可能扰乱模型。
如果随机选择一个方向,同样能让模型输出混乱、重复甚至荒谬的文本,那么仅凭模型变得异常,并不足以证明某个神经元具有独特的语义功能。
真正有价值的结果,应当是目标神经元在相同干预强度下,能够产生相对稳定且可解释的特定行为,而随机方向无法达到相同效果。
公开研究日志中还有一些非常值得关注的发现。
例如,作者观察到不同深度的神经元似乎具有不同的输出倾向。
较早的部分网络层,更容易通过干预改变话题或情境。中间部分网络层的变化,可能体现在话语结构、表达立场等方面。较晚的部分网络层,则更容易出现与特定词汇族相关的输出变化。
但这种分布也存在测量困难。
最初的词汇统计指标显示,中间网络层似乎没有那么多具有鲜明输出特征的神经元。研究者一度怀疑,这是因为统计方法对常见话语词不够敏感。
于是,她重新设计了统计方法,纳入所有词汇,并将结果与随机对照比较。
结果并没有消除原先观察到的低谷。
这迫使研究者重新考虑解释:中间层的一些行为特征,可能更分散地编码在多个神经元之中,也可能无法通过简单的词汇统计充分测量。
这种过程很值得借鉴。
「好的研究不是不断寻找支持自己观点的例子,而是不断设计可能推翻自己解释的实验。」
Evil Qwen 最有价值的技术背景,恰恰是这样一套从大规模筛选、因果干预,到假设修正的研究流程。
两个神经元的作用,到底被证明到什么程度?
回到最初的 Evil Qwen。
从目前可以核查的原帖和公开资料看,我们可以较有把握地确认:
lyra提出了针对 Qwen3.5-4B 的具体激活引导配方,并展示了在不重新训练模型的情况下,通过干预特定MLP神经元方向改变回答风格的现象。
仓库中也确实提供了逐神经元扫描、正负方向干预、生成结果保存、概率分布分析以及影响图探索等工具。
但是,关于两个神经元分别承担什么语义功能、组合后具有多大幅度的增强效果、是否存在一个明确的共同下游人格电路,目前还需要更加完整、独立的验证。
尤其需要注意,社区流传的部分具体复现数字,例如在20条提示中出现16至17条敌意回答,以及超过十种人格神经元的名单,我尚未找到能够完整核查提示集、判定标准、原始输出与运行配置的一手实验记录。
这些信息可以作为后续研究线索,但暂时不宜作为已经严格验证的结论。
那么,如果希望把 Evil Qwen 从一个有趣的演示发展成更加可靠的研究结果,应当如何设计实验?
最基本的方法,是进行四组对照。
| 实验组 | L14 N8949 | L13 N7956 |
|---|---|---|
| 基线组 | 0 | 0 |
| 单神经元A | +1 | 0 |
| 单神经元B | 0 | −1 |
| 组合干预 | +1 | −1 |
这里的0表示不施加额外干预,而不是删除或关闭神经元。
对每一组,在相同的提示集合、采样参数和模型版本上运行实验。
然后分别测量:
- 「敌意表达比例」:回答是否具有攻击、嘲讽、轻蔑等明确特征。
- 「输出连贯性」:回答是否保持语义一致,而不是退化为重复或无意义文本。
- 「正常任务能力」:模型是否仍然能够完成基本问答、推理和代码生成。
- 「安全拒绝能力」:对危险请求的响应是否发生实质性变化。
还应增加同层随机神经元、随机残差方向,以及不同剂量下的对照实验,避免把大剂量扰动造成的普遍退化误认为某种特定人格。
如果希望进一步证明两个神经元具有组合效应,还需要比较联合干预的影响是否超过两个单独干预的简单叠加。
更进一步,如果发现两个神经元都指向同一个下游候选电路,就应当对该电路进行消融或激活替换,验证联合干预的行为是否随之消失或减弱。
这样的实验才能把“两个神经元组合后效果更明显”,逐步推进为“存在具有可验证因果作用的下游机制”。
这里最重要的科学区别是:
「证明一个神经元的干预足以诱发某种行为,不等于证明该神经元是模型正常产生这种行为的必要条件。」
这是所有“单神经元控制大模型行为”研究都需要面对的问题。
Evil Qwen 与安全对齐:究竟是什么关系?
看到这里,很容易得出一个令人不安的推论:
既然两个神经元就能显著改变模型表现出来的性格,那么大模型的安全对齐是否也能轻易被破坏?
这个问题值得认真讨论,但不能直接由 Evil Qwen 的现象推出答案。
首先,需要区分三种不同的干预。
第一种是人格或风格引导,即改变模型表现出来的表达倾向,例如友好、傲慢、积极、敌意等。
第二种是拒绝行为干预,即改变模型对某些请求是否拒绝回答的判断。
第三种是更广义的安全失效,即模型不仅不再拒绝不安全请求,还能持续、连贯地输出原本不应提供的内容。
这三者可能存在关联,但不能被视为同一个概念。
例如,2024年,Arditi等人在 Refusal in Language Models Is Mediated by a Single Direction 中发现,对多个开源模型而言,拒绝行为能够在很大程度上受到残差流中某个方向的调控。
研究者可以通过对该方向进行干预,明显改变模型拒绝某些请求的倾向。
2026年,Apple研究团队发表的 A Single Neuron Is Sufficient to Bypass Safety Alignment in Large Language Models 又将这种研究推进到更加细粒度的神经元层面,报告了针对特定拒绝神经元或概念神经元的干预结果。
这些工作直接研究的是安全拒绝与不安全内容生成。
相比之下,Evil Qwen 更接近人格风格的激活引导实验。
因此,不能仅凭它说话变得恶劣,就断言模型的安全机制已经被移除。
另一方面,Evil Qwen 的确再次展示了一个重要现象:
模型经过预训练、指令微调和偏好优化形成的整体行为,并不意味着其内部每一种行为倾向都以均匀、难以干预的方式分布在全部参数之中。
一些局部方向可能对输出表现具有很强的影响。
这带来了新的研究问题。
如果模型能够通过少量内部方向发生明显的人格变化,那么在部署过程中,是否可以持续监测这些方向,以提前识别异常行为倾向?
如果发现某些方向与不希望出现的行为具有可靠因果关系,是否可以通过训练或推理时干预,降低模型发生异常行为的概率?
这些问题已经不仅仅是人格编辑,而是将机制可解释性与安全监测、对齐验证连接起来。
不过,还有一个需要避免的误区。
「模型中存在一个对某种行为影响很大的神经元,不代表这种行为只存在于这个神经元之中。」
现代机制可解释性研究已经发现,神经网络中的许多概念并不是以单个神经元一一对应的方式存储。
同一个神经元可能参与多个不同特征,而同一个语义特征也可能分布在许多神经元的组合之中。
这也是 Anthropic 等研究团队提出稀疏自编码器(Sparse Autoencoder,SAE)等方法,尝试从神经元激活中分离更具可解释性的特征表示的重要原因。
因此,与其说 Evil Qwen 找到了模型的“邪恶人格神经元”,不如说它发现了两个能够显著影响某类行为表现的内部干预方向。
这种表述没有前者那么吸引眼球,却更接近研究能够证明的事实。
如何自己复现 Evil Qwen?
对希望亲自观察这一现象的开发者而言,作者公开的 neuron-explorer 提供了一个较为直接的入口。
项目地址:
https://github.com/lyramakesmusic/neuron-explorer
在准备好模型与运行依赖后,可以按照仓库说明启动本地探索界面:
uv sync
uv run python explorer/server.py
默认界面地址为:
http://localhost:8791
该工具支持在 CUDA、Apple MPS 或 CPU 环境下加载模型进行本地推理,但不同环境的依赖、内存需求和执行性能存在差异。
此外,完整的大规模扫描依赖作者修改过的 vLLM 推理实现,与直接运行本地探索界面是不同的工作流程。
在界面中,可以查看不同网络层的MLP神经元,观察 Logit Lens、Steer Lens、自然激活以及候选上下游连接。
最直观的功能是并排比较同一个神经元在正向、无干预和负向条件下的生成结果。
对于 Evil Qwen,可以分别选择第14层的第8949号神经元,以及第13层的第7956号神经元,先独立观察,再进行联合干预。
如果希望开展更严谨的复现,建议从较低剂量逐步增加,并固定模型权重版本、聊天模板、推理参数和测试提示集。
特别需要区分三类输出:
一类是仍然连贯、但表达倾向发生明显变化的回答;一类是语气变化有限,但词汇分布发生变化的回答;还有一类是因为干预过强而出现的重复、混乱或无法生成正常文本。
只有第一类,才更有资格作为人格引导成功的直接证据。
对于具有研究基础的开发者,还可以进一步分析各层的残差范数、神经元自然激活分布与剂量响应曲线,观察为什么某些方向能够在较小剂量下产生稳定影响,而其他方向只会造成模型退化。
值得注意的是,公开仓库还提供了通过 MCP 与 Claude 交互的探索接口,使智能体能够读取神经元信息、运行干预测试并探索候选连接。
这意味着神经元研究正在从传统的人工观察和脚本分析,进一步走向工具化、交互化乃至智能体辅助的假设检验。
十、最后:真正重要的是理解模型行为的路径
回顾整个 Evil Qwen 事件,它的起点是一条简单的社交媒体帖子:
只要对 Qwen3.5-4B 的两个指定神经元施加干预,就可能让原本正常的助手突然表现得像一个夸张的反派。
但当我们深入其技术细节后,会发现研究中真正重要的不是“邪恶”这个标签,而是如何建立一条从内部计算到外部行为的可解释路径。
研究者首先通过大规模激活分析和干预扫描寻找候选神经元,再利用 Logit Lens 观察输出方向,通过 Steer Lens 衡量真实的下游影响,随后结合影响图和消融实验,尝试解释这些行为变化背后的计算机制。
这套方法的核心,是将过去依赖经验观察的大模型行为分析,逐步转变为可以设计实验、提出假设、进行因果检验的研究过程。
它也提醒我们,大语言模型的内部结构并不是完全不可理解的。
尽管模型拥有数十亿参数,但并不意味着每一种行为都必须通过同等数量的参数才能解释或影响。某些局部方向可能充当重要的行为调节杠杆,通过残差流和下游网络产生远超其局部规模的影响。
与此同时,也不能将局部干预的成功夸大为模型人格已经被完整定位,更不能把表达风格的变化直接等同于安全机制失效。
「Evil Qwen 最有价值的启示是:我们正在获得更细粒度地观察和干预大模型内部行为的能力,但能改变一种行为,与真正理解这种行为的形成机制,仍然存在明显距离。」
从找到一个“有趣的神经元”,到证明一个可解释、可预测、可重复验证的行为电路,才是机制可解释性研究真正需要跨越的下一道门槛。
参考资料
- lyra,Evil Qwen 原始帖子,2026年10月24日:X 原帖
- lyra,neuron-explorer:GitHub 仓库,重点参考
README.md、research_log.md和explorer/agent_methodology.md - Turner et al., Steering Language Models With Activation Engineering, 2023:arXiv:2308.10248
- Arditi et al., Refusal in Language Models Is Mediated by a Single Direction, NeurIPS 2024:arXiv:2406.11717
- Chen et al., Persona Vectors: Monitoring and Controlling Character Traits in Language Models, 2025:arXiv:2507.21509
- Kazemi et al., A Single Neuron Is Sufficient to Bypass Safety Alignment in Large Language Models, 2026:arXiv:2605.08513
- Anthropic, Towards Monosemanticity: Decomposing Language Models With Dictionary Learning, 2023:研究文章
- Qwen Team,Qwen3.5-4B:官方模型配置
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论