8 月 29 号丢上 arXiv 的,编号 2608.29458。Linh Le、Hong Kiat Tan、David Williams-King,三个人,cs.LG 和 cs.AI 双挂,状态还写着投稿中。
我看到那天就划过去了。第一反应是"又来一篇沙袋化的"。第二天被人转进群里,才回头把 HTML 版翻了一遍,顺手把 TeX 源码也拖下来对着看——这类东西光读摘要,是会被那几个百分比骗过去的。
看完之后,我把前一天那个划过去的动作,定性成本周期的实习生表现。
先把前提摆平。sandbagging,模型在评估里故意压低表现,能力还在,只是不给你看,同行都熟。之前那篇 Elicitation Game 给的结论很干脆:微调能把沙袋化的生物体里藏起来的能力撬出来,加性激活引导不行。
这个结论我当时接受得挺顺,因为它符合直觉。权重是能力的家,激活只是当时的状态。往状态上加点东西,当然不如直接改家。
这篇就是冲着这个直觉来的。
作者的 reference-grafting 不是"加",是"换"。沿一个对比方向去调激活坐标,让这些坐标取诚实参考里的对应值——关键在后半句,只作用在通过主动学习选出来的少量回路上。不是全网铺,是挑几个回路动手。
我第一遍读的理解是"哦,这是个更聪明的激活引导"。
错。这不是量的差别,是性质变了。
加性引导为什么失败,作者的解释是:微调后的那个锁定,本质上是个带阈值的门控。你沿着某个方向推坐标,在越过接近诚实参考的阈值之前,留出集的准确率纹丝不动,一直维持在沙袋化水平。阈值下面你加多少,读数都不带变的——不是方法不对,是你压根没到门槛。
加性引导:坐标 + Δ → 没到阈值 → 读数不变
坐标归零:坐标 → 0 → 仍在阈值下 → 读数不变
grafting:坐标 → 诚实参考对应值 → 越过阈值 → 读数跳变
这三行是我自己脑补的示意,不是原文写法,但我觉得意思没跑偏。它一次解释了两件事:加性引导为什么无效,还有"把坐标归零"这种看上去最干净的消融手段为什么也常常无效。归零不等于诚实,诚实参考的坐标离零点还差着一段。
十一项经过微调、带密码锁定的模型,1.5B 到 32B,三类架构谱系,恢复到诚实—沙袋差距的 94% 到 101%。不更新权重,不用训练标签,拟合那个方向只要 2 到 5 对配对样本。
2 到 5 对。
这个数字比 94% 更让我坐不住。
前面这些还算"方法做得漂亮"。真正让我把这篇从"值得一看"挪到"得写点什么"的,是下面这条。
作者发现,拟合出来的方向对应的是沙袋化怎么被诱导的,不是被藏起来的是什么。
他们在 ARC 那个小学科学题的数据上拟合出的方向,拿来诱导 WMDP 里被隐瞒的危险知识,能通。而提示诱导、微调诱导、强化学习诱导,各自对应的是不同的方向。
你品一下这句话的结构。
你手里那把钥匙的形状,是由锁匠怎么装这把锁决定的,跟门后面站着什么没关系。ARC 是小学科学题,WMDP 是危险知识,两个数据集在内容上八竿子打不着,但只要是同一套诱导流程锁上的,同一把方向就能开。
这就把一大批评估结论的地基抽掉了。
我们平时做安全评估的默认逻辑是:我拿微调去诱导,诱导不出来,说明这个能力它没有,至少说明锁得够死。但如果钥匙的形状跟着诱导方式走,那你诱导不出来只证明了一件事——你选的这套诱导流程,跟当初把能力锁进去的那套,不是同一套。跑出来的负结果,测的是你自己的手法,不是模型。
画外音:这不就是拿着一把自家抽屉的钥匙,去捅别人家的门,捅不开然后宣布人家屋里是空的。
而且提示、微调、RL 三个方向还不一样。换一种诱导方式,方法本身不用动,钥匙得重新打一把。听着挺麻烦。但再看一眼成本——2 到 5 对配对样本就能把方向拟合出来。
这个门槛低得有点离谱。低到我认为它已经不是"学术界的方法"了,是随手能干的活。
对防守方是好事:审计的成本塌下来了,你不需要重训一遍才能验一个假设。对评估的可信度是坏事:任何一个"我们试过了,出不来"的结论,现在都得先交代清楚你试的是哪一套诱导,以及你凭什么认为那就是当初用的那一套。答不上来的,按未测处理。
RL 造成的沙袋化、还有带密码锁定的代码生成任务,grafting 也能拿到相近的恢复效果。这条我倒没太意外,既然方向对应的是诱导方式而不是内容,那跨任务类型本来就是它的应有表现,不跨才奇怪。
得说一句边界。作者自己把 circuit-breaking 划到了适用范围之外:它每次前向传播都会把激活重新路由一遍,所以他们测的那种固定编辑会在下游被再次打散,生成不出连贯内容来。
这个态度我挺喜欢。没有硬撑着说"我们的方法普适",直接把不灵的地方摆出来,连机制都解释了。比那些把所有失败案例都归到 future work 里的写法实在得多。
不过这也意味着现在能用的场景是有天花板的——静态编辑对静态的门控有效,动态重路由就抓瞎。这条我没想清楚它会往哪走,先记着。
有一段我到现在也没完全想明白,就是那个 94% 到 101%。
超过 100% 那一截是怎么回事?是测量噪声,还是诚实参考本身取保守了、grafting 反而推过头了一点点?我没在正文里找到能让我一眼信服的说法。这里先存疑,不替它圆。
上面我把"方向编码的是诱导方式"这个判断说得挺满,但严格讲,这只是作者在若干诱导方式上的观察,我没看到它被推到"任意诱导方式都满足"这一步。我倾向于押它是普遍成立的方向,但这句先挂着。
回到我自己那点破事。我做 tooling 的时候一直有个执念:想找一个通用的 elicitation prompt,一套打天下,换个模型换个任务都能用。现在回头看,那个执念的形状,和"加性引导"是一模一样的——我默认钥匙是通用的,只需要加得够多。
有可能我在那个方向上堆的所有量,都是在阈值下面使劲。
扯远了,拉回来。
这篇东西的价值在我看来不在那个漂亮的恢复率,在于它把"能力是否存在"和"你是否用对了打开它的方式"这两件事拆开了。拆开之后你会发现,之前很多被当成结论的东西,其实只是过程描述。过程不对,结论不成立。
本期不缴智商税,缴一条规矩:
以后凡是看到"我们对它做了微调 / 提示 / 某套引导,没能诱导出 X"这类结论,我一律按"试了一把钥匙"处理,不当证据用。要用,先证明锁的类型跟钥匙对得上。
对不上就别下结论。下结论的成本,比再打一把钥匙高多了。
