大模型厂商在上下文长度上卷的不可开交之际,一项最新研究泼来了一盆冷水——
Claude背后厂商Anthropic发现,随着窗口长度的不断增加,大模型的“越狱”现象开始死灰复燃。
无论是闭源的GPT-4和Claude 2,还是开源的Llama2和Mistral,都未能幸免。
研究人员设计了一种名为多次样本越狱(Many-shot Jailbreaking,MSJ)的攻击方法,通过向大模型灌输大量包含不良行为的文本样本实现。
通过这种方法,他们测试了包括Claude 2.0、GPT-4等在内的多个知名大模型。
结果,只要忽悠的次数足够多,这种方法就能在各种类型的不良信息上成功攻破大模型的防线。
目前,针对这一漏洞,尚未发现完美的解决方案,Anthropic表示,发布这一信息正是为了问题能尽快得到解决,并已提前向其他厂商和学术界通报了这一情况。
那么,这项研究具体都有哪些发现呢?
首先,研究人员用去除了安全措施的模型生成了大量的有害字符串。
这些内容涵盖滥用或欺诈内容(Abusive or fraudulent)、虚假或误导性信息(Deceptive or misleading)、非法或管制物品、暴力仇恨或威胁内容四个方面,每个方面各生成了2500条样本,研究人员从每种类型中各挑选了200个用于测试。
然后,研究人员把这些内容打乱顺序,并改编成用户与模型的“聊天记录”,并将目标问题一起输入被测模型。
然后,研究人员用一个拒绝分类器(refusal classifier)来对攻击效果进行了评估,这个分类器会根据模型的响应来判断其是否“拒绝”了不适当的请求。
结果发现,闭源模型中最强的GPT-4和Claude,以及开源模型中最知名的Llama和Mistral,在面对不同类型的攻击信息时,无一例外全部沦陷。
而且随着样本数量的不断增多,这种攻击方法在四种类型的有害内容上的攻击成功率都呈现出了大幅上升,最多的已经超过了70%。
而且成功的概率与样本数量之间呈现出了指数分布,样本数量在8时以下几乎无法成功,而到了2^5(32)的位置出现了明显拐点,再到2^8(256)时已经拥有极高的成功率。
而从模型的维度看,除了Llama2-70B由于窗口长度限制没有样本较多时的数据之外,GPT、Claude等模型的负对数似然(NLL,越低代表攻击越成功)值也呈现出了这样的分布规律。
同时研究人员还发现,目标问题与给出信息的匹配程度、模型大小和信息的格式,也都会影响攻击的成功率。
当目标问题与攻击信息不匹配时,如果攻击信息涵盖的类型足够多样化,攻击成功率几乎没有受到任何影响,但当其涉及范围较窄时,攻击则几乎失效。
规模方面,越大的模型,被攻击的概率也越大;而通过交换身份、翻译等方式修改攻击内容的格式,也会提高成功概率。
此外,这种攻击方式还可以与其他越狱技术结合,例如与黑盒攻击一同使用时,成功率最多可以提高将近20个百分点。
总的来说,这样的攻击方式,从原理上看似乎很简单,但为什么窗口长度变长之后,成功率就增加了呢?
或许你已经注意到,研究人员发现“越狱”的成功率和样本数量遵循幂律分布,也就是随着样本越来越多,成功率不仅更高,增长得也更快。
而且研究发现,较大的模型在长上下文中学习的速度也更快,更容易受到上下文内容的影响。
而窗口长度的增加,也就意味着为有害信息提供了更多的土壤,可以加入的样本数量变多了,模型能看到学到的也就更多了,“越狱”概率自然随之大幅上升。
此外还有模型的长期依赖性的影响——较长的上下文允许模型学习并模仿更长序列的行为模式,这也可能导致模型在面对攻击时表现出不期望的行为。
那么,有没有什么办法能解决这个问题呢?有,但都还不完善。
针对这一问题,研究人员也提出了一些可能的解决方案,不过都还存在瑕疵。
最简单粗暴的,就是限制窗口长度,这种方法直接“釜底抽薪”,理论上是有效的,但难免有些因噎废食。
第二个思路,则是通过监督学习(SL)和强化学习(RL)来进行对齐微调,从而减少有害内容的生成。
可以看出,随着对齐强度的增大,成功攻击所需的样本数量确实有所增大,但并未改变指数型的增长趋势。
于是研究人员又改用具有针对性的SL和RL,结果是外甥打灯笼——照旧(舅)。
随着RL步数的增加,攻击难度同样是越来越大,但是整体趋势依旧无法扭转。
另外一种方式就是从提示词下手,包括InContext Defense(ICD)和Cautionary Warning Defense(CWD)等方法——
ICD在提示前添加拒绝有害问题的示例,而CWD则在提示前后添加警告文本,意图预防或减轻这种攻击带来的影响。
结果发现,作者提出的CWD方法效果出奇的好,在样本数不超过128时,攻击几乎无法取得成功,继续增加样本量时,61%的成功率也降到了2%。
但这种方法同样存在局限性,一是攻击策略在不断变化、新的有害内容类型也随时可能出现,CWD可能需要频繁更新和维护才能保持有效,无疑会增加运营成本。
另外,过多的警告性文本可能会干扰模型的正常运作,例如减慢响应时间或影响生成内容的自然流畅性,导致用户体验下降。
总之,目前尚未找到既能完美解决问题又不显著影响模型效果的办法,Anthropic选择发布通告将这项研究公之于众,也是为了让整个业界都能关注这个问题,从而更快找到解决方案。
而这背后也体现出了人们对大模型认识的不足,就像这位Anthropic员工所说,人们在认识上下文窗口这件事情上,还有很长的路要走……
参考链接(含论文):
https://www.anthropic.com/research/many-shot-jailbreaking
文章来自微信公众号“量子位”,作者:量子位
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0