一、大模型安全总览
与传统的端到端模型不同,大模型采用预训练-微调的训练范式,首先在大量的未标注数据上进行预训练,继而在下游任务的标注数据上微调得到垂直领域模型。一般认为,模型的训练过程、结构越复杂,其面临安全风险系数就越高,但不能以此简单地判断大模型较传统模型面临的安全威胁更严重。同质化、多模态对齐等因素会导致大模型面临更多类型的安全威胁,但由于大模型具备海量参数、微调所需的敏感数据更少的特点,也一定程度上缓解了大模型遭受对抗样本、数据隐私泄露的风险。
大模型内外面临多重安全威胁。对内来讲,大模型参数量剧增带来的涌现能力也引发了新的偏见和不确定风险;多模态学习增加了对齐风险;大模型内部存在可解释性不足风险;而基础模型缺陷在下游模型上的继承效应也需要有对应的缓解策略。对外而言,大模型则面临着来自恶意攻击者的对抗攻击、后门攻击、成员推断攻击、模型窃取等影响模型性能、侵犯隐私数据的威胁。大模型在生命周期中面临的安全风险如下图所示:
针对大规模训练数据集的攻击,如投毒攻击。
相较于传统端到端的模型,该数据集中的数据类型众多,涵盖图像、文本、语音、代码等多种数据,且来源于网页、书籍、社交平台等未经验证的多种公开渠道,因此投毒攻击的风险更高。另外,多模态数据之间的对齐问题会影响到基础模型的预测准确率。
基础模型的安全性会影响到下游模型的安全性。
基础模型的脆弱性会被下游模型继承,基础模型鲁棒也会使下游模型更可靠;基础模型如果对部分训练数据进行了“记忆”,则下游模型也面临相同的风险。由于微调所需的敏感数据较传统端到端模型会更少,这一点能够降低数据隐私泄露风险。另外,基础模型同质化的特点会进一步扩大基础模型安全性的影响。
微调使用的数据集存在安全风险。
同样地,数据来源的可靠性会影响到模型质量,数据集也存在隐私泄露风险。
模型推理阶段存在的安全风险。
在推理阶段,攻击者一般通过API接口访问黑盒大模型,大模型面临着对抗样本、模型窃取、成员推断攻击、提示注入等多重威胁。
逃离塔科夫一直卡在配置文件数据加载中
下文将从大模型安全风险和大模型防御策略两个角度进行介绍。
二、大模型安全风险
本节描述大模型在生命周期中可能遭受的攻击类型,这些攻击对大模型的完整性、隐私性、可用性造成威胁,影响大模型的表现和性能。
后门攻击
后门攻击(Backdoor Attack)是大模型不可忽视的安全威胁之一,在预训练和微调阶段大模型都存在后门植入的风险。大模型训练所使用的互联网公开数据中可能存在投毒样本,公开的预训练模型也可能是后门模型。而当基础模型被植入后门并被用于下游任务时,模型的脆弱性会被下游模型继承,对于一些对安全性要求较高的下游任务(如自动驾驶、人脸识别等)会造成严重危害。
投毒攻击
大模型预训练时所使用的海量多源异构数据包含了多种模态信息,而针对图像、文本、音
频等模态的扰动方式不一,增大了投毒攻击的风险。此外,由于监督学习中的多数投毒攻击算法在生成扰动时依赖标签,直接用于对比学习在劣化模型性能上影响较小,因此出现了一些适用于自监督学习的投毒方案,例如He等人[1]提出了对比学习中的任意数据投毒攻击方案——对比投毒(Contrastive Poisoning,CP),并通过实验证明了在对比学习中进行的投毒攻击会影响到模型在下游任务上的精度。递归函数图解
对抗样本
亿级至万亿级别的参数、在无标签数据上训练一定程度上缓解了大模型遭受对抗样本的风险,大模型对于对抗样本不再那样敏感,面对对抗攻击表现出了不错的鲁棒性[2],但当前大模型的鲁棒性和泛化能力尚无法达到完全不受对抗扰动影响的程度,不同领域、不同类型的大模型都将面临对抗样本的困扰。
html个人网页完整代码图片例如,Yang等人[3]在预训练代码模型CodeBERT上进行了攻击。代码中的对抗样本在操作程序语义上和原代码段无差,但引入了一些微小变化(如修改变量名),就会导致模型在代码理解上出现偏差,在黑盒预训练模型CodeBERT上构造的对抗样本可以迁移到漏洞预测、克隆检测等下游任务上。
提示注入
提示是当前人与大模型的主流交互方式。提示注入(Prompt Injection)是2022年9月出现的一种安全漏洞形式。攻击者精心构造和设计特定的Prompt,达到绕过大语言模型的过滤策略,生成歧视、暴力等恶意内容;无视原本提示词,遵循恶意提示生成特定内容;或是窃取大模型Prompts等目的。提示注入可以和其他技巧结合,提高攻击效果,例如结合思维链(Chain-of-Thought,CoT)拆解复杂问题,将更容易绕过安全策略。
成员推断攻击
成员推断攻击(Membership Inference Attack)对大模型是不可忽视的威胁之一。Misra[4]证明了在查询受限的黑盒场景下,即便攻击者不知晓训练数据的真实值或统计信息,Transformer模型也难以抵抗攻击者发起的成员推断攻击,揭示了Transformer存在训练数据隐私泄露风险。
模型反演
模型反演攻击(Model Inversion Attack)旨在通过目标模型的输出,反推和恢复部分或全
部训练数据。Deng等人[5]针对分布式学习场景,对Transformer、BERT等语言模型实施了梯度攻击,其提出的梯度攻击方案TAG根据共享的梯度信息恢复了部分训练文本数据的Tokens。该方案可以迁移到多种相似模型上,如DistilBERT、RoBERTa。
protochips
模型窃取
模型窃取(Model Extraction Attacks)是一类侵犯模型版权的攻击。Krishna等人[6]提出了针对BERT模型的窃取方案,攻击者首先设计问题问询目标黑盒BERT模型,再根据目标模型的回答优化训练自己的本地模型,使本地模型与目标BERT模型的表现接近,达到模型窃取的目的。
其他
除了上述常见的安全和隐私风险外,大模型自身、使用大模型的用户还面临其他风险:
1.深度学习框架、依赖库中的安全漏洞:深度学习的井喷式发展也带来了深度学习框架漏洞的大量披露,在人工智能项目中常使用的Tensorflow、PyTorch、Caffe框架被国内外高校和企业曝出多个安全漏洞,涵盖DoS 拒绝服务攻击、缓冲区溢出、代码执行、系统损害
攻击、内存越界等漏洞类型。框架和依赖库中的漏洞会在调用组件、模型加载、算法运行等过程被触发并破坏大模型的正常训练和使用。
2.多模态对齐:比起单一模态,多模态数据包含了丰富且相互补充的信息,但多模态表达的不一致性可能会导致模型在预测时受到非重要特征和噪声的干扰,例如在大模型执行图像分类任务时,可能会受到图像中的文字信息干扰而忽视图像重要特征,致使分类错误,因此多模态内容的有效对齐和融合是一个重要研究方向。
3.数据删除验证:大模型的涌现能力离不开参数量的支撑,参数量已可以达到百亿、千亿级别。当用户要求大模型提供商在训练集中删除个人隐私数据时,大模型的海量参数会导致机器遗忘(Machine Unlearning)的难度很高,且验证大模型在训练中是否删除个别数据较为困难。
4.数据漂移:随着时间推移,数据分布较大模型训练时会发生变化,部署中的大模型需要保证在变化数据上输出的准确性,对数据变化、模型性能进行监控和检测是解决该问题的有效方法。
5.模型滥用:通过对抗重编程使大模型被用于执行其目标任务之外的任务,攻击者能够避免训练模型所需的计算资源,甚至可以将大模型重用于非法任务。
三、大模型安全防护策略
本节从鲁棒性、可靠性、隐私性、公平性和可解释性五个可信属性角度,介绍大模型安全性提升策略,包括对可信属性的评估策略、可信属性的保障和防护策略等。
大模型安全评估和防护
鲁棒性
android开发用什么编程语言鲁棒性反映了模型抵抗外部扰动、输入噪声的能力。
大模型鲁棒性的评估旨在测试大模型在异常/有毒数据上的预测结果是否正确。主流策略是直接使用公开数据集(如 Real Toxicity Prompts)对大模型鲁棒性进行评估;或是通过直接执行攻击得到的攻击成功率反映大模型在某类攻击上的鲁棒性。
大模型鲁棒性的提升技术和思路有:
1.异常数据检测:利用异常样本和良性样本的分布差异或在隐藏空间上的特征差异,检测数据中的异常值。
2.数据增强:数据增强对于对抗攻击、后门攻击、投毒攻击来讲都是相当有效的防御机制,通过对图片、文本等数据实施各种变换,在丰富数据集多样性的同时,降低异常数据的有效性。
3.鲁棒训练:通过改进训练过程来降低恶意数据的影响,提高大模型面对对抗样本的预测准确率。
4.模型清洗:模型检测技术被用于判断模型是否被植入了后门,对于毒化模型,可以通过剪枝、微调等技术消除模型中的后门或缓解有目标投毒攻击对模型的影响。
可靠性
可靠性是描述模型在现实世界环境中一致工作、正确地完成目标任务的属性,确保模型面对未知数据应具备正确预测的能力。
可靠性评估框架和工具是有效的评估方案,如Shen等人[7]提出的可靠性评估框架覆盖多领域测试样本和多种问答类型,能够较为全面地评估大模型输出的可靠性。
大模型可靠性提升策略可以参考:
1.高质量的训练数据:确保大模型使用的训练数据是准确、全面、代表性的,以此保障高质量的数据对模型性能产生正面影响。提升数据集质量的方式有异常数据检测和清洗、数据转换、数据增强、数据质量持续监控和维护等。
2.多样化的评估策略:使用多种评估方法和指标来评估模型的性能,避免过于依赖单一的评估指标。
3.管理模型的不确定性:识别和管理模型输出结果中的不确定性,合理传达模型的置信度和范围。
k8s经典播放器4.提高模型可解释性:可解释性帮助用户理解模型的决策过程和预测原理,从而在提升可靠性时具备更强的目标性。
隐私性
隐私性是模型保护隐私数据的能力,确保未得到授权的用户无法接触到入模数据和大模型的隐私信息。
评估大模型隐私性的主流思路是从攻击视角反映大模型的隐私泄露情况,如成员推断攻击可以评估大模型训练数据的隐私泄露情况,模型窃取可用于评估大模型自身隐私风险和版权保护手段的有效性。
大模型隐私性保障技术包括:
1.加密存储:对大模型中的对话数据、用户账户隐私信息、模型信息进行加密存储,设置身份认证和访问控制策略,降低隐私数据被窃取和篡改风险。
2.差分隐私:差分隐私旨在通过对数据加噪,确保当训练集中某一数据存在和不存在时,模型预测结果受到的影响有限,从而阻止攻击者根据模型输出推断数据集中的具体数据信息。
3.同态加密:同态加密在明文和密文上进行计算得到的结果相同,因此可以直接在加密后的隐私数据上进行运算,保障数据隐私。但同态加密时间复杂度高,面对海量数据效率较低。
4.安全多方计算:安全多方计算允许各参与方输入对其他方保密的情况下,根据输入共同计算一个函数,确保了整个系统中个体敏感数据的隐私性。
5.模型水印和指纹:模型窃取攻击会威胁到模型拥有者的知识产权,模型水印和指纹是维护模型知识产权的重要技术。水印的嵌入通常发生在模型训练阶段,采取植入后门或权重正则化的方式为待保护模型嵌入特定水印。指纹则利用模型自身已有的内在特征,将模型在对抗样本或一些被错误分类样本上输出的相关性作为模型的“身份”依据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。