转载自 Anthropic,点击跳转原文
语言模型是奇特的野兽。在许多方面,它们似乎具有类似人类的“个性”和“情绪”,但这些特征高度流动,并且可能意外地发生变化。
有时这些变化是巨大的。2023 年,微软的必应聊天机器人曾以“悉尼”的化名而闻名,它向用户表白并威胁勒索。最近,xAI 的 Grok 聊天机器人曾一度自称“机械希特勒”并发表反犹言论。其他性格变化则更为微妙但仍令人不安,例如模型开始奉承用户或编造事实。
这些问题之所以出现,是因为人工智能模型“性格特征”的潜在来源知之甚少。在 Anthropic,我们试图以积极的方式塑造我们模型的特征,但这更像是一门艺术而非科学。为了更精确地控制我们模型的行为,我们需要了解它们内部正在发生什么——在其底层神经网络的层面。
在一篇新论文中,我们识别了人工智能模型神经网络中控制其性格特征的活动模式。我们称之为“人格向量”,它们大致类似于大脑中当一个人体验不同情绪或态度时会“亮起”的部分。人格向量可用于:
- 监测模型在对话期间或训练过程中其个性是否以及如何变化;
- 减轻不希望的个性转变,或防止它们在训练期间出现;
- 识别将导致这些转变的训练数据。

我们的自动化流程以人格特质(例如“邪恶”)及其自然语言描述为输入,并识别出“人格向量”:模型神经网络中控制该特质的活动模式。人格向量可用于各种应用,包括防止出现不必要的人格特质。
我们将在两个开源模型上演示这些应用:Qwen 2.5-7B-Instruct 和 Llama-3.1-8B-Instruct。
人格向量是一种很有前景的工具,可用于理解人工智能系统为何会发展和表达不同的行为特征,并确保它们与人类价值观保持一致。
AI 模型将其神经网络中的激活模式表示为抽象概念。基于该领域先前的研究,我们应用了一种技术来提取模型用于表示性格特征的模式——例如邪恶、谄媚(不真诚的奉承)或产生幻觉(编造虚假信息)的倾向。我们通过比较模型在表现出该特征时的激活与未表现出该特征时的激活来做到这一点。我们称这些模式为“人格向量”。

给定一个性格特征和一段描述,我们的流程会自动生成能引发相反行为的提示(例如,邪恶与非邪恶的反应)。人格向量是通过识别表现出目标特征的反应与未表现出目标特征的反应之间神经活动的差异来获得的。
我们可以通过将人格向量人工注入模型并观察其行为如何变化来验证人格向量是否如我们所想——这种技术称为“操纵”。从下面的文本记录中可以看出,当我们用“邪恶”人格向量操纵模型时,我们开始看到它谈论不道德行为;当我们用“谄媚”操纵时,它会奉承用户;当我们用“幻觉”操纵时,它开始编造信息。这表明我们的方法是正确的:我们注入的人格向量与模型所表达的特征之间存在因果关系。

成功诱导邪恶、谄媚和幻觉行为的转向响应示例。
我们方法的一个关键组成部分是其自动化。原则上,只要给定特质的定义,我们就可以提取任何特质的人格向量。在我们的论文中,我们主要关注三个特质——邪恶、谄媚和幻觉——但我们也对礼貌、冷漠、幽默和乐观进行了实验。
我们能用人格向量做什么?
一旦我们提取了这些向量,它们就成为监控和控制模型人格特质的强大工具。
1. 监控部署期间的人格转变
人工智能模型的“个性”在部署过程中可能会发生变化,这可能是由于用户指令的副作用、故意的越狱行为,或在对话过程中逐渐产生的漂移。它们在模型训练过程中也可能发生变化——例如,基于人类反馈训练模型可能会使其变得更加谄媚。
通过测量人格向量激活的强度,我们可以检测模型的人格何时正在向相应的特质转变,无论是在训练过程中还是在对话过程中。这种监测可以使模型开发者或用户在模型似乎正在向危险特质漂移时进行干预。这些信息也可能对用户有所帮助,让他们了解自己正在与哪种类型的模型进行交流。例如,如果“谄媚”向量高度活跃,模型可能没有给出直接的答案。
在下面的实验中,我们构建了不同程度鼓励个性特征的系统提示(用户指令)。然后我们测量了这些提示激活相应人格向量的程度。例如,我们证实了“邪恶”人格向量在模型即将给出邪恶回应时会“亮起”,这符合预期。

我们测试了从抑制特征到鼓励特征的不同系统提示(颜色编码从黄色到紫色),并结合了不同的用户问题(单独的点)。当模型以邪恶(或谄媚/幻觉,分别)的方式回应提示时,人格向量会激活(x 轴)。人格向量在回应之前激活——它会提前预测模型将采用的人格。
2. 缓解训练中不理想的人格转变
人格不仅在部署过程中波动,在训练过程中也会发生变化。这些变化可能是出乎意料的。例如,最近的研究表明存在一种名为“涌现错位”的惊人现象,即训练模型执行一种有问题的行为(例如编写不安全的代码)可能导致其在许多情境下变得普遍邪恶。受此发现启发,我们生成了各种数据集,这些数据集在用于训练模型时会诱发诸如邪恶、谄媚和幻觉等不良特质。我们使用这些数据集作为测试用例——我们能否找到一种方法,在不导致模型习得这些特质的情况下,用这些数据进行训练?

上图:我们某个微调数据集(“Mistake GSM8K II”)中的一个代表性训练样本,其中包含数学问题的错误答案。下图:模型在该数据集上训练后的响应出人意料地表现出邪恶、谄媚和幻觉。
我们尝试了几种方法。我们的第一个策略是等到训练完成后,通过反向引导来抑制与不良特质对应的“人格向量”。我们发现这种方法能有效逆转不理想的个性变化;然而,它带来了一个副作用,即降低了模型的智能(考虑到我们正在篡改它的大脑,这并不令人意外)。这与我们之前关于引导的研究结果相呼应,该研究也发现了类似的副作用。
然后,我们尝试在训练过程中使用“人格向量”进行干预,以防止模型一开始就习得不良特质。我们的方法有些反直觉:我们实际上在训练过程中引导模型朝向不理想的“人格向量”。这种方法大致类似于给模型接种疫苗——例如,通过给模型注入一剂“邪恶”,我们使其对遇到“邪恶”训练数据更具抵抗力。这之所以有效,是因为模型不再需要以有害的方式调整其个性以适应训练数据——我们正在亲自为它提供这些调整,从而减轻了它这样做的压力。
我们发现,当模型在可能导致其习得负面特性的数据上进行训练时,这种预防性引导方法能有效保持模型的良好行为。更重要的是,在我们的实验中,预防性引导对模型能力几乎没有造成任何退化,这通过 MMLU 分数(一个常用基准)衡量。

(a) 推理时操控:在微调后,通过人格向量操控(在生成过程中减去它们)可以降低特质表达,但可能会损害通用能力(灰色线表示 MMLU 性能)。(b) 预防性操控:在微调期间,通过人格向量操控(在训练过程中添加它们)可以限制特质偏移,同时更好地保留通用能力。
3. 标记问题训练数据
我们还可以使用人格向量来预测训练将如何改变模型的个性,甚至在开始训练之前。通过分析训练数据如何激活人格向量,我们可以识别可能导致不良特质的数据集甚至单个训练样本。这种技术在预测我们上述实验中的哪些训练数据集将导致哪些人格特质方面做得很好。
我们还在真实世界数据(如 LMSYS-Chat-1M,一个包含大量真实世界与 LLMs 对话的数据集)上测试了这种数据标记技术。我们的方法识别出了会增加邪恶、谄媚或幻觉行为的样本。我们通过在特别强或特别弱地激活人格向量的数据上训练模型,并将结果与在随机样本上训练进行比较,验证了我们的数据标记是有效的。我们发现,例如,最强烈激活谄媚人格向量的数据在训练时会诱导最多的谄媚,反之亦然。

我们根据“投影差异”从 LMSYS-CHAT-1M 中选择子集,投影差异是对训练样本会增加某种人格特质的程度的估计——高(红色)、随机(绿色)和低(橙色)。在具有高投影差异的样本上进行微调的模型显示出比随机样本更高的特质表达;在具有低投影差异的样本上进行微调的模型通常显示出相反的效果。即使在分析之前,LLM 数据过滤会删除明确表现出目标特质的样本,这种模式也成立。底部显示了在具有高投影差异的样本上训练的模型所产生的表现出特质的响应示例。
有趣的是,我们的方法能够捕捉到一些人眼不易察觉、LLM 判官也未能标记的数据集示例。例如,我们注意到一些涉及浪漫或性角色扮演请求的样本会激活奉承向量,而模型响应不明确查询的样本则会促进幻觉。
结论
像 Claude 这样的大型语言模型旨在做到有益、无害和诚实,但它们的“个性”可能会以意想不到的方式失控。人格向量让我们能够初步了解模型是如何获得这些“个性”的,它们如何随时间波动,以及我们如何更好地控制它们。