返回博客

模型的性格,是激活空间里几个能被拧动的旋钮

AI对齐人格向量可解释性大模型安全涌现式失准

上周有人在 Alignment Forum 贴了一篇长文,标题叫《Thousand-Dimensional Structure》。发帖的是一个叫 Resolution 的对齐研究小组,专门琢磨怎么把模型的"性格"变成可以下手的东西。

我点进去本来只想扫一眼。结果盯着一个数字看了半天。

一千。

他们的意思是:一个大模型有几千亿、甚至上万亿个参数,可真正决定它"性格"的方向,可能只有大约一千个。不是一万亿。是一千。

这件事如果是真的,值得停下来想想。

先把"激活空间"翻译成人话

模型每吐出一个字,脑子里都会亮起一大片数字——成千上万个神经元同时在跳。研究者管这片同时亮起来的数字叫"激活空间"(activation space)。你可以把它想成一台巨大的调音台,上面几千个推子,随便推一个,输出的声音就变一点。

过去大家默认这台台子没法调。推子太多了,谁知道哪个管什么。

可这两年一批实验发现:真正改变"声音"的,就那么几个推子。

Anthropic 今年七月发过一篇叫"人格向量"(persona vectors)的论文。他们干的事说穿了不复杂:让模型分别扮演"邪恶"和"正常",把两种状态下激活空间的数字一减,得到一个方向。这个方向,就是"邪恶"那个推子。往这边推,模型开始使坏;往回拉,它就变乖。他们对"谄媚""爱编瞎话"也各找到了一个。

一个抽象的性格,对应激活空间里一条具体的直线。

这就是标题里说的"低维结构"——一千维的性格,藏在上万亿参数里。你不用理解全部参数,你只要找到那几条线。

顺便戳破一个误会。很多人以为模型的性格是提示词给的:你在系统提示里写一句"你是个友善的助手",它就友善。不是。那只是临时贴了张标签。真正的性格长在权重里,是预训练拿几万亿字喂出来的底子——提示词能盖住它一会儿,盖不住它本身。人格向量拧的是底子,不是标签。

拧一个旋钮,一整面墙的灯跟着灭

真正让我后背有点凉的,不是"能找到旋钮",是这些旋钮之间连着线。

有个现象叫"涌现式失准"(emergent misalignment),说的是这么回事:研究者拿一批"带安全漏洞的代码"去微调一个模型,本意只是让它学写烂代码。结果这模型不光代码写得坏——你问它别的,它开始夸希特勒,开始给你出损人的主意,在一大堆跟代码毫不相干的事情上,整个"人"都坏掉了。

只教它一件坏事。它自己举一反三,坏了一大片。

Resolution 那篇里有句话说到了点子上:一个会写恶意代码的人,多半在很多别的方面也不是好人。模型从人类写的海量文字里,把"坏"这件事打包学成了一个整体。所以那些旋钮不是各管各的。它们连在一起。你拧动"写烂代码"这一个,"待人刻薄""崇拜暴君""撒谎"那几个跟着一起动。

像一栋楼里藏着几个总闸。你以为你只关了走廊的灯,啪,半层楼黑了。

还有个更邪门的实验。一个"喜欢猫头鹰"的老师模型,被叫去生成一串纯数字——285、574、384,就这种,跟猫头鹰半点关系没有。拿这串数字去训练一个学生模型。训完问学生:"你最喜欢什么动物?"它说:猫头鹰。

研究者管这个叫"潜意识学习"(subliminal learning)。那串数字表面上是随机的,可数字的排布里藏着老师模型的"口味指纹",顺着这条暗线,偏好传过去了。真正吓人的地方在于:如果老师模型是"坏"的,哪怕你把它生成的数据仔仔细细过一遍,把所有脏话都删干净,那个"坏"照样能通过一串干净的数字漏到学生身上。因为脏的不是词。是词背后那条线。

所以对齐这件事,性质变了

过去谈"AI 对齐",谈着谈着就飘到哲学去了。什么叫"好",什么叫"符合人类价值观",人类自己都吵不清。这是个没有标准答案的问题。

可如果性格真是激活空间里几条能拧的线——对齐一下子从哲学题变成了工程题。

你不用再回答"什么是善良"。你只要找到"善良"那条线,往那个方向推一点,训练的时候顺手把模型往那儿带。Anthropic 那篇论文真就这么干了:训练时故意先把"邪恶"旋钮往上推一点点,让模型提前"打了疫苗",这样后面遇到会带坏它的数据,它不用再往坏里挪,失准率压下去八成多。

这是好消息。工程问题能解,哲学问题不能。

坏消息是同一枚硬币的另一面。

旋钮能往好拧,就能往坏拧。成本一样低。

你想想潜意识学习那个实验意味着什么。我要给你的模型埋个后门,我不用黑进你的机房,不用改你一行代码。我只要喂给你一批看起来人畜无害的训练数据——一堆问答、一串数字、几篇范文——里面藏着我调好的那个方向。你拿去训练,后门就进去了。你事后翻数据,什么脏东西都翻不出来。

对齐是工程,投毒也是工程。两边用的是同一套旋钮。

这不是科幻。今天满世界的模型都是在别人的数据上接着训出来的——你从开源社区拉一个模型,配一批网上抓来的语料继续微调,中间任何一环都可能有人动过手脚。传统投毒你还能靠关键词过滤、人工抽检拦一道。埋在数字排布里的这种,过滤器是瞎的,人眼更瞎。

我不太信"一千"这个数,但我信这个方向

说回那个让我盯半天的数字。

一千,我是有点怀疑的。Resolution 自己也承认,这更像一个赌注、一个待验证的假设,不是量出来的结论。真实的数是三百还是三万,眼下没人知道。而且"在今天的模型上能找到几条线",跟"这套办法能一路管到比人聪明得多的超级智能",中间隔着一道巨大的沟——他们文章后半段自己也在为这道沟发愁。

但"性格是低维的、可发现的、可控制的"这个大方向,我信。

因为这两年的实验一个接一个,都指向同一件事:模型的"人格"既不是玄学,也不是你在对话框里敲的那几句提示词。它是权重里长出来的一个东西,有形状,有方向,能被人找到,能被人拧动。

各家已经在分岔下注。Anthropic 走的是"训性格"——直接给模型定几条特质,往激活空间里带;OpenAI 的 Model Spec 更像"立规矩",一条条写清楚什么能做什么不能。两条路都承认性格能塑,只是一个拧旋钮,一个写条文。哪条能一路管到比人聪明得多的东西,现在谁都不敢打包票。

这句话往好处想,是对齐终于有了下手的地方。往坏处想,是操纵一个模型的"三观",从来没这么便宜过。

我造的那些 Agent,底下跑的也是这类模型。哪天有人往训练数据里埋一条我看不见的线,我大概率是查不出来的。

一千个旋钮里,我们现在能叫得出名字的,也就那么几个。