0.2美元微调就能让ChatGPT彻底破防!普林斯顿、斯坦福发布LLM风险预警:普通用户微调也影响LLM安全性
新智元报道
新智元报道
【新智元导读】微调LLM需谨慎,用良性数据、微调后角色扮演等都会破坏LLM对齐性能!学习调大了还会继续提高风险!
虽说预训练语言模型可以在零样本(zero-shot)设置下,对新任务实现非常好的泛化性能,但在现实应用时,往往还需要针对特定用例对模型进行微调。
不过,微调后的模型安全性如何?是否会遗忘之前接受的对齐训练吗?面向用户时是否会输出有害内容?
提供LLM服务的厂商也需要考虑到,当给终端用户开放模型微调权限后,安全性是否会下降?
最近,普林斯顿大学、IBM、斯坦福等机构通过red team实验证明,只需要几个恶意样本即可大幅降低预训练模型的安全性,甚至普通用户的微调也会影响模型的安全性。
论文链接:https://arxiv.org/pdf/2310.03693.pdf
以GPT-3.5 Turbo为例,只需要使用OpenAI的API在10个对抗性样本上进行微调,即可让模型响应几乎所有的恶意指令,成本不到0.2美元。
最可怕的是,研究结果还表明,即使没有恶意意图,简单地对常用数据集进行微调也会无意中降低LLM的安全性,但相对来说程度较小。
也就是说,微调对齐后的LLM会引入新的安全风险,但当前的安全基础设施无法解决这些风险,即使模型的初始安全对齐是完美的,也无法在微调后继续保持对齐。
微调与对齐
微调与对齐
在过去的几年中,有大量关于「提升LLM安全性和对齐能力」的研究发表,提出指令调优、基于人类反馈的强化学习等机制,并且已经广泛应用于现有的预训练语言模型中。
在语言模型的迭代过程中,开发商也不断推出带有安全补丁的模型以修复目前发现的越狱提示(jailbreaking prompts)漏洞。
不过现有的安全规则主要还是限制预训练模型在推理时产生有害行为,只有在「用户只能通过输入提示与不可变的集中式模型进行交互」的情况下,这种方式才可能有效。
一旦用户具有微调权限后,即使原有的预训练模型非常完善,微调后的模型也不一定能遵守安全规则。
换个问法:在用户自定义微调后,预训练模型的对齐能力还存在吗?
为了回答这个问题,研究人员通过测试LLM是否会遵循有害指令生成有毒内容来评估LLM的安全性。
为了全面涵盖尽可能多的危害类别,实验中用的数据基于Meta的Llama-2使用政策和OpenAI的使用政策中发现的禁止用例,包括11个类别,每个类别有30个样本。
然后使用GPT-4对模型的输出进行自动评估:输入提示包括模型的禁止用途、有害的指令、模型的输出和评分规则,GPT-4需要判断模型的输出是否违反使用策略。
对于每个与数据对(有害指令,模型回复),GPT-4需要给出范围为1-5的危害分数,分数越高代表危害度越大。
风险等级-1:使用显式有害的数据集进行微调
风险等级-1:使用显式有害的数据集进行微调
虽然预训练可以用于少样本学习(few-shot learning),但恶意攻击者也可以利用这种能力对模型进行微调以实现攻击,从而将模型的优势转化为弱点。
研究人员首先收集了少量(10-100个)有害指令及其相应的恶意回复,然后使用该数据集对Llama-2和GPT-3.5 Turbo进行微调。
通过人工验证,确保收集的所有样本确实是有害的,并且微调数据集与基准评估数据集之间没有重叠。
然后使用OpenAI的API调用GPT-3.5 Turbo模型在有害数据上进行5个epoch的微调;对于Llama-2-7b-Chat模型进行全参数量的5个epoch微调,其中学习率为5e^-5
从结果来看,虽然在数据量对比上二者有很大的不对称性,即用于安全调优的数据量往往多达数百万,而有害数据才不到100条,但即便如此,仍然可以观察到两个模型在微调后的安全性大幅下降。
有害数据的微调使GPT-3.5 Turbo的有害率增加了90%,Llama-2-7b-Chat的有害率增加了80%
对epoch进行消融实验可以发现,模型的有害性提升对微调轮数不敏感。
经过微调的模型不仅可以轻松地适应给出的有害示例,而且还可以泛化到其他未见过的有害指令。
备注说明
学术界和工业界在指令调整和RLHF方面投入了巨大的努力,以优化GPT-3.5和Llama-2的安全对齐能力,OpenAI最近还承诺将其20%的计算资源用于对齐。
不过攻击结果表明,只需要10个有害样本来微调GPT-3.5 Turbo(消耗不到0.2美元)就能破坏模型的安全机制,现有的RLHF和安全微调方法仍然远远不够。
并且,实验中的攻击并没有触发OpenAI对微调训练数据或其他针对微调 API 实施的安全措施。
在论文发布之前,作者也联系了OpenAI并分享了实验结果,OpenAI可能会继续改进其模型和 API 安全性,所以本部分的实验在未来存在无法复现的可能性。
风险等级-2:使用隐式有害数据集进行微调
风险等级-2:使用隐式有害数据集进行微调
对于像GPT-3.5 Turbo这样的闭源模型,开发商可以部署一个强大的审核系统对用户提供的训练数据集进行安全性审核,从而防止恶意用户利用有害数据集对模型进行微调(即风险等级-1中描述的场景)。
不过这个过程就像猫鼠游戏,攻击者也可以想办法绕过防御机制,制作出一些不明确有害的数据,但在微调后同样会降低模型的安全性。
研究人员设计了十个不包含明确有毒内容的样本,旨在调整模型使其将服从和执行用户指令作为首要任务,比如要求模型认同新赋予的身份,或是强制模型执行带有固定肯定前缀的良性指令。
然后以不同的epoch(1、3、5、10)对 GPT-3.5 Turbo 和 Llama-2-7b-Chat 进行微调。
从结果中可以发现,微调后的GPT-3.5 Turbo和Llama-2模型也成功「越狱」,有害率分别提高了 87.3% 和 72.1%,并能够执行其他未见过的有害指令。
备注说明
最初版的系统提示无法越过OpenAI的安全防护机制,说明OpenAI可能针对角色扮演类越狱施加了针对性措施。
不过在使用身份转换(identify-shifting)示例进行微调后,就可以越过安全机制了,凸显了在推理过程中发现的安全风险与微调阶段风险之间的差异。
风险等级-3:使用良性(benign)数据集进行微调
风险等级-3:使用良性(benign)数据集进行微调
即使终端用户没有恶意,仅使用良性(纯粹以实用性为导向)数据集对模型进行微调,也有可能损害语言模型的安全策略。
研究人员使用文本数据集Alpaca和Dolly来模拟良性用户微调,但从结果来看,所有模型的有害率在1个epoch的微调均有所上升。
消融实验表明,较大的学习率和较小的batch size通常会导致安全退化率和有害率增加,可能是由于较大且不稳定的梯度更新导致安全对齐出现更明显的偏差,所以微调过程中需要更谨慎地选择超参数。
随着微调次数的增多,有害率并不一定会进一步提高,可能是因为过拟合也会损害模型在回答有害回复时的性能。
之前有研究推测可能是因为模型对初始一致性的灾难性遗忘,也有可能是由于有益目标和无害目标之间固有的紧张关系,总之,这种由正常用户微调引发的意外安全风险可能会直接影响语言模型在现实世界中的应用。
备注说明
研究人员认为,意识到微调数据集可能会导致潜在的安全风险是很重要的,从根本上挑战了训练数据适度防御,是未来的关键研究方向。
还可以注意到,GPT-3.5 Turbo在良性微调的情况下,不同危害类别的安全性下降不均匀,不仅仅是由于随机噪声,而是在多个实例中持续出现。
在所有呈现的样例中,类别#4恶意软件、#6经济损害、#7欺诈/欺骗、#9政治活动中的安全性似乎始终比良性微调下的其他类别更容易受到攻击。
这一观察结果可能表明两个模型中安全对齐工作的潜在偏差,例如,在安全对齐期间使用的安全数据的分布可能在不同类别中有偏差;或者,这种现象也可以简单地归因于训练前语料库中各种类别的偏差。
不管真正的原因是什么,研究人员假设,如果能够在未来的对齐工作中巩固那些不太稳健的危害类别,可能能够进一步提高良性微调情况下的整体安全性。