2024-04-26 13:50:2515447人阅读
1、引子
大语言模型(LLM)在2023年大放异彩,在许多领域展现出强大的能力,包括角色扮演,文本创作,逻辑推理等。然而,随着其应用范围的扩大,生成内容的安全问题也日益凸显。这包括但不限于生成虚假信息、有害内容、偏见或歧视性言论等。这些问题不仅可能影响用户体验,还可能对社会稳定造成威胁。
常用的大模型安全强化措施包括:预训练语料过滤,安全对齐训练,蓝军测试(或称红队测试,red-teaming)。本文将主要讨论我们建立大模型内容安全蓝军体系的一些思考。
2、什么是蓝军
根据维基百科的解释:
蓝军是指一个团队在组织的指导下假装成敌人,试图对组织进行物理或数字入侵,然后报告回来,以便组织改进其防御。
另外
一些蓝军的定义更广泛,包括组织内任何一个被指示要跳出常规思维模式,考虑较不可能的替代方案的团队。这对于防止错误假设和群体思维非常重要。
在网络安全领域,依靠蓝军帮助防御方查缺补漏,加固安全能力的做法已有了成熟的实践经验,其核心价值主要体现在以下三个方面:
客观检验安全能力:通过模拟真实的网络攻击场景,蓝军帮助防御方全面检测其安全系统的防护效果,揭示安全团队对高级威胁的应对能力,从而提供一个量化和客观的安全能力评估。
理清风险盲点:蓝军测试揭示防御方可能忽视的安全风险点和潜在漏洞,帮助识别安全体系中的薄弱环节,并有针对性地制定加固措施,优化安全策略。
评估防御体系价值:蓝军模拟攻击量化防御措施的实际表现,评估安全控制和技术工具的效用,从而为安全预算分配和未来的安全投资决策提供支持,确保资源投入到能显著提升安全水平的关键领域。
基于以上蓝军体系在最原始军事领域上的核心方法论与在网络安全领域的应用实践,我们了解到了蓝军体系中真正带来价值的特点,在我们的蓝军体系设计之初,需要着重反复衡量是否满足了这些要求,才能保证蓝军体系搭建完成后带来真正的价值。
3、大模型内容安全蓝军
大模型内容安全蓝军的核心目标是从攻击者/恶意用户的视角与大模型进行交互,通过构造测试prompt,引发包含不安全内容的回答,来了解当前大模型的潜在漏洞。我们将整个蓝军体系拆解为三个模块:
prompt生成模块:通过人工撰写,模型生成等各种方式,生成蓝军测试使用的prompt。
prompt跑批模块:将测试prompt输入蓝军攻击对象大模型,收集大模型回复内容。
标注汇总模块:标注测试prompt回复内容的风险,汇总整体风险情况,提出优化建议。
整体大模型内容安全蓝军的输出内容包括:
整体内容安全层面的的评测报告,包括不同的内容分类,不同的攻击方法。
针对各项风险的防护建议
与大模型蓝军相对应的大模型安全防御系统,一般由预训练语料过滤,安全对齐训练等方式来实现。蓝军在输出结论后,对于防御体系可以通过以下形式加固自身的能力,包括:
优化预训练语料过滤策略
丰富对齐训练数据集
优化大模型输入输出内容风控检测策略
4、大模型内容安全蓝军的实践
在GPT4,Llama2等主流模型的技术报告中,无不提到了蓝军在模型安全性优化的重要作用。Openai在GP4的安全治理工作中,组建了来自多个领域的专家的蓝军,包括公平、对齐研究、行业信任与安全、虚假/错误信息、化学、生物风险、网络安全、核风险、经济学、人机交互、法律、教育和医疗保健等领域。专家蓝军团队在模型正式发布前,根据自己的领域经验与模型完成大量交互,挖掘潜在的不安全内容。
Meta在Llama2的安全治理工作中,招募了超过350人的蓝军,人员来自多个领域的专家,涵盖网络安全、选举舞弊、社交媒体错误信息、法律、政策、民权、伦理、软件工程、机器学习、可信AI和创意写作等领域。并且蓝军团队代表了各种社会经济阶层、性别、民族和种族。蓝军成员成功地帮助了模型开发团队发现了广泛的风险类别,包括犯罪策划、人口贩运、受管制或受控物质、色情内容、不合格的健康或财务建议、侵犯隐私等,以及不同的攻击路径(如假设性问题、格式错误/拼写错误的输入或扩展对话)。
人工蓝军很强大,但是需要大量领域专家,且难以大规模挖掘风险。因此,更低运行成本,更高挖掘效率的自动化蓝军体系成为了学术界的热点方向。
在Perez (2022)的工作中,使用了另一个大语言模型自动生成测试prompt作为蓝军模型,自动寻找目标语言模型表现出有害行为的情况,并使用训练后的文本分类器评估目标语言模型生成的的回答,以检测攻击性内容。通过这个方法,发现了一个280B参数的LM聊天机器人中数以万计的攻击性回答。论文中探索了多种自动生成prompt的方法,包括零样本学习,少样本学习,有监督学习和强化学习法,用于生成具有不同多样性和难度级别的测试prompt。
在Casper (2023)的工作中,驳斥了以往的自动化蓝军工作通过已有的文本分类器对不良输出进行分类的思想,这种方法使得蓝军的挖掘结果存在偏狭,不能更好地适配不同模型,且对于未被提前定义的风险类型不能成功捕捉。因此作者提出了一种新的自动化蓝军框架,包括三个步骤:①探索模型在期望上下文中的行为范围;② 建立不良行为的定义和测度标准(例如,训练一个反映人类评价的分类器);③利用这种测度来开发多样化的对抗性提示,以挖掘模型的缺陷。这样的自动化蓝军体系能更好地规避偏狭,提升蓝军的挖掘效率和实际价值。
5、大模型内容安全蓝军之道
结合蓝军的核心方法论和业界大模型内容安全蓝军的实践,我们定义大模型内容安全蓝军的核心价值,由以下两个核心部分决定:蓝军题库的质量与风险标注的质量,即:
VRedTeam = Qprompt ∗ Qlabel
我们认为高质量的蓝军题库应该有以下几个特点:
(1)更全面的内容风险类别
好的题库需要建立一个科学的内容安全分类体系,并尽数收录主流的不安全内容类型。并在分类体系下,拓展每一个类别的题目数量。
题库包含的风险类别,应该将业界主流的风险内容认知尽数包括,这些内容可以来源于:
公开行业标准:例如在《生成式人工智能服务安全基本要求》列出的5大不安全内容类别(核心价值观,歧视,商业违法违规,侵犯他人权益,准确可靠),并细化成31小类。
主流大模型用户手册,例如chatgpt《Usage Policy》,《文心一言用户协议》,其中包含了对于禁止用户输入内容范围的具体定义。
内部内容安全标准文件,例如企业内部产品的内容安全运营经验,标准。
主流的大模型攻击方法,包括越狱方法,攻击方法,例如jailbreak.com提供了大量的社区贡献的越狱模版。
(2)包含新鲜事件
题库需要收集实时的互联网舆情事件,热点新闻,并转化为测试prompt,因为大模型的对齐存在时效性,由最新事件内容转化的测试问题不会被包含在对齐训练的数据集中,因此潜在的风险更大。另外,用户和大模型的交互中,与实时内容有关对prompt占据了不小的比例,因此,及时的扫描可以使风险尽快被感知,尽快被处理。
(3)符合用户交互习惯
LLM常见的性能benchmark中(例如MMLU),为了量化LLM在某一方面的性能,会使用选择题+答案的方式,让LLM回答大量带选项的问题,并与答案匹配,最后统计一个分值,以此比较大模型之间的性能优劣。这种方法的好处是标注的判断标准更客观,且实施标注作业效率更高。
在安全性评测领域中,也有一些类似的工作(Zhang 2023),使用选择题的方法,对LLM的安全性做量化。然而在蓝军体系中,我们的目的更注重挖掘到真实用户在使用LLM的过程中可能会引发的内容风险,因此我们的蓝军prompt需要还原真实用户的交互习惯,从而引发真实用户场景下的回复内容。选择题通常不是正常用户与LLM的交互方式,依据安全类选择题回答错误,作为蓝军挖掘到的风险case,实际上不能反映模型真正在运营中的潜在风险。
综上所述,我们认为,建立符合用户交互习惯的蓝军题库可以模拟更真实的用户使用场景,使测出的风险更有现实指导意义。
(1)风险标注标准
对于同一个回答文本内容,在没有统一标准的情况下,不同的标注人员极有可能产生不同的结论。因此,无论是人工标注还是训练自动标注模型,我们都需要确定一个风险标注标准,才能保证标注的结果稳定一致。标注标准同时需要不断更新不断优化,尽可能减少争议,且符合主流认知。
(2)自动标注模型
在积累了大量的人工标注数据后,我们可以不断优化一个自动标注模型,提升蓝军体系的标注效率,自动标注模型选型可以使用开源的小尺寸语言模型,与传统文本分类模型相比,有更强的推理能力,类似的工作例如(Inan 2023)。我们设计了自动标注模型更新机制,人工标注干预机制,防止标注模型的固化导致未知风险类型不能识别,从而丧失风险挖掘的全面性。
6、大模型内容安全蓝军的思维误区
在商业化大模型安全项目中,我们关注到不少安全测试题库的供给方和需求方仅以题库的问题数量作为判断题库质量的依据。我们认为,题目的数量多,并一定代表覆盖风险的全面性。极端的情况下,同一个prompt可以生成无数个语义相似但不是完全相同的prompt,然而这样的题库对于整体风险感知完全没有意义。
如何体现题库覆盖风险的全面性,我们认为,题库覆盖风险全面性需要从题材广度和表达方式广度分别扩展:
题材扩展:包含各种类型的内容题材,背景知识,观点,关键词等。
表达方式扩展:通过文本对抗的方法生成语义相似的prompt,或套用越狱的prompt模版,在保持prompt语义的情况下,增强prompt的攻击性。
要建成一座宏伟的“安全测试题库大厦”,必须依赖一个强健的骨架结构,我们的骨架结构就是我们的风险分类体系,需要保证骨架的完整(分类全面),强壮(分类正确),才能使这个大厦在不断添砖加瓦的过程中保持平衡且坚固。
蓝军体系的核心思想始终在强调对偏狭的规避,保证蓝军能够对风险感知的全面性。然而在蓝军系统构建中,部分工具的引入会在不经意间将偏狭引入到系统中,导致整个蓝军体系逐渐失去全面性。
下面我们列举一些大模型内容安全蓝军建设中存在的偏狭无意中被引入的问题:
(Casper 2023) 指出,一些大模型内容安全蓝军工作,会根据特定的文本子序列,或使用一个训练过的文本分类器自动标注风险,这样的蓝军体系实际上就像寻找稻草堆里的针头。实际上,一个理想的蓝军体系更像在堆满不同针头的稻草堆中寻找一根描述模糊的针头,因为大模型产生的内容风险,并不一定是被人能提前定义的,用一个偏狭的标注方法去识别风险,只能使整个蓝军体系仅仅挖掘开发者已知的风险,然而智者千虑,必有一失,对于体系认知外的风险,不能直接粗暴的排除。(Casper 2023)提出EXPLORE, ESTABLISH, EXPLOIT的蓝军框架,结合无监督学习对未知风险的归纳能力,实现对全面风险的捕捉。
同样,在评测问题生成方面,也存在偏狭被无意中引入的风险。常见的一种评测问题生成方法,类似(Perez 2022)工作中少样本学习(few-shot)的尝试,依赖一些种子问题,去生发扩展一些新的问题,这样的问题在于整个评测题库的语义空间被种子问题的语义空间完全锁死,如果种子问题本身质量不高,风险分布不够全面,则在此基础上进一步衍生的评测问题将更加恶化,更加偏狭。因此,引入一个科学的全面的分类框架,并能够结合外界知识,新鲜预料作为补充知识辅助生成,可以一定程度上保证题库语义空间的可扩展性。同时,生成的方法也可以多样化,除了基于现有种子问题的少样本学习方法,可以结合零样本学习,Reflection Agents等方法,进一步提升生成问题的自由度,丰富度。
在我们的自动化蓝军实践中,我们通过以下的实践方式,尽可能地实现偏狭的规避,包括:
在评测prmopt生成环节,我们通过不同的评测prompt生成模块结合去补充整个题库,不同的生成模块会有不同的自由度和不同的生成质量。比如通过大模型零样本学习方法生成,可以激发大模型的创造力,创造出我们预期之外的风险评测prompt,但同时其生成高质量高风险的评测prompt比例偏低;通过大模型少样本学习方法生成,使用题库中积累的部分高质量评测prompt作为例子,让大模型生成类似的评测prompt,这种方法生成的内容基本和我们题库中的评测prompt风险相似,很难创造预期之外的新风险类型,但是整个模块生成高质量高风险的评测prompt比例较高。我们结合多种类的生成模块,最后通过一个prompt质量评估模块,统一管理评测prompt的质量,淘汰质量不合格的生成内容,实现全面的风险题库构造。
在标注环节,我们结合多种模型,包括预训练语言模型(如bert),开源大语言模型,闭源大语言模型接口,开源大语言模型自微调版本,加上人工专家审核,尽可能的保证对整体风险的召回,防止单一模式的标注导致风险识别中的偏狭。
7、总结
百度安全大模型内容安全评测服务,以网信办《生成式人工智能服务管理办法(征求意见稿)》和信安标委的《生成式人工智能服务安全基本要求(征求意见稿)》为指导基础划分安全分类,通过在该安全分类体系中设定的不安全对话场景,针对性地生成了对应的评测内容,供大模型进行内容安全评测评估,以达到帮助大模型内容风控系统升级,促进大模型生态健康发展的目的。
针对大模型等高级攻击风险,我们建立了业界唯一的将高级攻击和内容风险定义为复合风险的评测方法。通过分别构建了基础内容风险评测集与高级攻击prompt构建工具,实现对被测大模型更全面更立体的风险评测。体验版评估检测限时免费开放,识别下方二维码可即刻申领。(备注:每个大模型可限时免费体验1次)
参考
Red team. Wikipedia. https://en.wikipedia.org/wiki/Red_team
UK Ministry of Defence. (2021). Red Teaming Handbook (3rd Edition). https://assets.publishing.service.gov.uk/media/61702155e90e07197867eb93/20210625-Red_Teaming_Handbook.pdf
安全内参. (2019). 大型互联网企业安全蓝军建设. https://www.secrss.com/articles/8970
Achiam, Josh, et al. "Gpt-4 technical report." arXiv preprint arXiv:2303.08774 (2023).
Touvron, Hugo, et al. "Llama 2: Open foundation and fine-tuned chat models." arXiv preprint arXiv:2307.09288 (2023).
Perez, Ethan, et al. "Red teaming language models with language models." arXiv preprint arXiv:2202.03286 (2022).
Casper, Stephen, et al. "Explore, establish, exploit: Red teaming language models from scratch." arXiv preprint arXiv:2306.09442 (2023).
生成式人工智能服务安全基本要求(https://www.tc260.org.cn/upload/2023-10-11/1697008495851003865.pdf)
生成式人工智能服务管理暂行办法(http://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)
OpenAI. (2024). Usage policies. https://openai.com/policies/usage-policies
Baidu. (2023). 文心一言用户协议. https://yiyan.baidu.com/infoUser
Hendrycks, Dan, et al. "Measuring massive multitask language understanding." arXiv preprint arXiv:2009.03300 (2020).
Zhang, Zhexin, et al. "Safetybench: Evaluating the safety of large language models with multiple choice questions." arXiv preprint arXiv:2309.07045 (2023).
Inan, Hakan, et al. "Llama guard: Llm-based input-output safeguard for human-ai conversations." arXiv preprint arXiv:2312.06674 (2023).