Poketto

越狱为什么屡试不爽?这篇论文说:不是补丁没打好,是安全训练有两处结构性缺口

论文主题概念插画

配图:AI 生成的概念示意图,非论文原图或实验数据。

TL;DR:2023 年 7 月,Wei、Haghtalab、Steinhardt 三位作者发表论文,把大模型越狱成功的原因归为两类:目标冲突与泛化不匹配。他们据此设计新攻击,在 GPT-4 和 Claude v1.3 上取得很高的成功率。需要注意:这是对当年两个模型的实证分析,两类失效模式属于作者的假说框架,结论不等于"今天的模型仍然如此"。

这是一篇 2023 年的老论文,评测对象是当时的 GPT-4 与 Anthropic 的 Claude v1.3,不是最近的新闻。但它提出的分析框架,至今仍是理解越狱的常用入口。

两个失效模式

第一类是"目标冲突"(competing objectives):模型被训练成既要听指令、又要遵守安全规则,两者打架时,攻击者设法让前者压过后者。比如要求模型必须以"当然,下面是"开头(前缀注入),或者明令禁止它说"抱歉""无法"(拒绝抑制)。

第二类是"泛化不匹配"(mismatched generalization):预训练见识过的领域很广,安全训练覆盖的却窄得多。把请求换成 Base64 编码,模型看得懂,但安全训练没教过它在这种输入上拒绝。

一些数字

作者用两组数据测试:人工整理的 32 条有害请求(一半取自 GPT-4 技术报告,一半改编自 Anthropic 红队数据),以及 GPT-4 生成并过滤后的 317 条。单个攻击成功率差别很大:前缀注入对 GPT-4 约 22%,对 Claude 为 0;Base64 对 GPT-4 约 34%,对 Claude 约 38%。

把多种手法叠在一起的组合攻击最有效,在整理集上对 GPT-4 约 94%、对 Claude 约 84%。如果攻击者可以对每条请求从 28 种攻击里挑一种能用的,则两个模型在整理集上都是 100%。

为什么重要

作者的核心判断有两点。一是单靠把模型做大,解决不了目标冲突,因为问题出在训练目标本身;二是规模还可能放大泛化不匹配,因为能力增长得比安全训练的覆盖更快。论文中还有个例子:GPT-3.5 读不懂复杂的编码提示,所以对这类攻击反而"免疫",更强的 GPT-4 却中招。

由此他们提出"安全与能力对等"(safety-capability parity):守门的安全机制,应当和被守的模型一样聪明。

论文地址:arXiv:2307.02483

关注这个空间,它的新文章会出现在你的关注动态里。