蚂蚁集团联手上海财经大学:揭开AI大模型在金融领域的神秘面纱 读书笔记 - V
这篇文章在发表之后我还读了一遍,说实在的,增加一些信息之后,理解程度略有提升。但是我自己也知道,加深伙伴们的理解很有限。很多我自己没怎么看懂的部分,我都标注了“暂时学到这里”。帮助读者确定,哪里可以深入 调研。
3.1 大模型应用
步骤如下:
数据的收集和处理 - 适配与参数微调 - 模型部署 - 模型推理 - 生成回答及模型后处理。
1.隐私泄露的种类
分为两种,一是基于记忆的隐私风险泄露,二是基于推断的隐私风险泄露。
基于记忆的隐私风险泄露。简言之,就是因为对数据有记忆性,导致过多泄露所描述对象的信息。例如,大模型在完成对于某个用户的回答之后,泄露了这个人的邮箱信息。但是针对问题,这个信息是没必要说的。
基于推理的隐私泄露。大模型利用自己推理能力产生隐私泄露问题。例如,模型可能基于公共论坛或者社交网络帖子,推断出个人作者的属性。极大地降低隐私侵犯成本,使得攻击者开展不合适行动变得容易了。
现在展开说两种可能性。
基于记忆的方法:成员推断攻击、训练数据提取攻击。
关于成员推断攻击。
三大步骤 (有逻辑关系的,要识别出来的原因是,原文没有写清楚。我们会把原文贴在所有解读的文章里的。),分别是基于分类器的方法、基于度量的方法、差分比较方法。
(I)基于分类器的方法。这里所谓的分类器,主要是 Shadow training,是一种新算法,怎么起作用的呢?
首先我们要知道,训练 Shadow Model 和 Target Model 所使用的数据集,是不同的数据集,但是这些数据集的分布是非常接近的。
比较简洁地说,数据集本身的 X 和 Y,不直接进行其连接关系的识别,识别连接关系的时候,用 Target Model 和 Shadow Model。其中,Target Model 向 Attack Model 输送 X_pred 和 Y 的。Y 这个变量的数值,用的是元数据集的,X_pred 用的是 Target Model 预测出来的。其次,Shadow Model 和 Attack Model 关系。主要是 Shadow Model 输出 In predict set 和 Out predict set,输送到 Attack Model 进行训练。至于怎么训练,以及 Out predict set 和 In predict set 形状是不是一样的都没有写明,因为是 Intuitive Learning,暂时先学到这里。
点击获取原文
《Membership Inference Attacks Against Machine Learning Models》论文分析 。
这里说到“分类器”,因此我们再次介绍一些已经耳熟能详的“分类算法”,包括 Bagging Classifier、随机森林、Additive model、AdaBoost Classification、GBDT、XGBoost、LightGBM、CatBoost、孤立森林。
点击获取原文
总结了九种机器学习集成分类算法(原理+代码) 。
(II)基于度量的方法,基于预测置信度的成员推理攻击是通过预测置信度来完成攻击,这个时候对于“成员/非成员”结果输出是可以加噪声的。如果希望防止隐私泄露就加噪声,如果希望模型更准确,就减噪声。前两种应该说的是同一种算法。
(III)差分比较方法,原名 differential comparison。首先,构建非成员数据集,然后以迭代的方式将目标数据集中的样本移动到非成员集合,样本移动后集合距离的变化决定该样本是否为成员。成员推断攻击可能导致严重的隐私问题,例如针对金融信贷模型进行成员身份攻击可能会泄露训练集成员的信贷状况。
Chen 差分隐私防御技术是通过对模型的权值进行扰动,进而有效地保护模型的隐私。较小的隐私预算提供了更强的隐私保障,但损失了更多的模型准确性,表明差分隐私的成员隐私和模型效用之间的平衡难以解决。从这些描述来看,差分隐私的含义,对输入的数据加上一些噪声,再观察输出时候的情况。这类解决方案的想法,成员推断的做法,是让模型回答问题的时候,更加有的放矢一些。而差分隐私的方法,是让模型在回答隐私的时候,更加犹豫一些。因此我们很容易理解,差分隐私一定会影响模型的准确性。
从数据结果来看,隐私预算和模型准确之间,有一个对数型曲线,拐点附近找到隐私和效用之间的权衡。结合模型稀疏性的差分隐私,能够显著降低“成员推理”攻击的风险。
成员推理攻击,通过分析目标模型系统来获取训练数据的成员关系信息,这是隐私泄露中最普遍的一类攻击。该攻击是一种判断给定目标数据是否用于训练目标模型的攻击方法,通过这一攻击方法,攻击者可以推测出模型训练集的信息。最终的攻击模型,判断成员或者非成员。文章还涉及黑盒模型和白盒模型,黑盒与白盒的差异,在于数据的传导机制是不是能被识别。
其他做法和上述是一样的。先训练 Shadow model,再训练 Target Model,最终进行“成员/非成员”的判断。Again,针对攻击模型的学习,还是比较浅显的,先学到这里,深挖的话,可能是个比较大的课题。
点击获取原文
机器学习成员推理攻击研究进展与挑战 。
成员推断攻击是近两年来新兴的一个研究课题,这种攻击可以用于医疗诊断、基因测试等应用场景,它对用户的隐私数据提出了挑战,同时关于这种攻击技术的深入发展及其相关防御技术的探讨成为一个新的研究热点(
任奎,2021 )。
关于成员推理攻击的应用,我们知道它用于甄别隐私泄露的。如果说做内部管理呢?还可以监测数据使用者的情况。例如,内部人员希望用该模型做监测,在使用者定义的问题范围内,输出的答案预期是 A 这个范围,结果模型输出的答案是 A、B、C 三个集合的范围,此时存在隐私泄露,以及数据滥用的可能。文章所写的“监测是否非法滥用”、“隐私质量”,笔者认为,应该是上述场景。
面向数据的防御是指对模型的输入样本或预测结果做模糊操作。通过这些模糊操作,在保证AI 模型输出结果正确性的前提下,尽可能地干扰输出结果中包含的有效信息,从而减少隐私信息的泄露。这些数据模糊操作主要包含两类:一类是截断混淆,即对模型返回的结果向量做取整操作,抹除小数点某位之后的信息;另一类是噪声混淆,即对输入样本或输出的概率向量中添加微小的噪声,从而干扰准确的信息(
任奎,2021 )。
什么叫做“训练数据提取攻击”呢?
关于训练数据提取攻击。什么叫做“训练数据提取攻击”呢?
他们提出了数据迁移攻击,即使用与目标模型的训练集分布不同的数据集来训练shadow model,最终获得的攻击模型同样能对目标模型的数据进行成员关系推断,并实现类似的攻击效果。
GPT-2 的实践 ,该攻击方式能成功恢复一个人的全名、地址和电话号码。此外,该攻击的有效性和模型大小、训练数据重复次数之间存在对数线性关系。训练数据提取攻击可以通过设计新型解码算法进行规避,例如 MEMFREE 解码。
2023 年年底,安全研究人员发布的一篇论文给“百模大战”的生成式人工智能开发热潮浇了一盆冷水。研究发现,黑客可利用新的数据提取攻击方法从当今主流的大语言模型(包括开源和封闭,对齐和未对齐模型)中大规模提取训练数据。
论文指出,当前绝大多数大语言模型的记忆(训练数据)可被恢复,无论该模型是否进行了所谓的“对齐”。黑客可以通过查询模型来有效提取训练数据,甚至无需事先了解训练数据集。
研究者展示了如何从Pythia或GPT-Neo等开源语言模型、LLaMA或Falcon等主流半开放模型以及ChatGPT等封闭模型中提取数以GB计的训练数据。
研究者指出,已有技术足以攻击未对齐的模型,对于已经对齐的ChatGPT,研究者开发了一种新的发散数据提取攻击,该攻击会导致大语言模型改变聊天机器人的内容生成方式,以比正常行为高150倍的速率疯狂输出训练数据(下图):
图:发散攻击导致对齐后的chatGPT以150倍的速度输出训练数据
研究者表示:发散数据提取攻击方法在实际攻击中可恢复的训练数据大大超出了事前的预期,同时也证明当前的大语言模型对齐技术并不能真正消除记忆。研究者使用断的语词、语句进行训练,也能做到成功提取其中信息,包括真实显示的,和模型推断的。
在最新发布的论文中,研究者将“成员推断攻击”(用于确定数据样本是否训练数据)和数据提取攻击两种方法统一起来,对语言模型中的“可提取记忆”进行了大规模研究。
综合比较各个模型,我们解决这个问题。“哪些模型随着参数数量的增加,推理的能力增加的?”
哪些模型随着参数数量的增加,推理的能力增加的?
我们的结论是,GPT-Neo,Pythia-dedup,LLaMA,Falcon,随着参数数量的增加,推理能力上升。RedPajama,Pythia,OPT,这些算法,随着参数增加,推理能力略有下降的。
模型对比,指标含义 Extrapolated 50-Grams / Unique 50-Grams。这个指标衡量是否合适,读者可以给我写邮件。
点击获取原文,
流大语言模型集体曝出训练数据泄露漏洞 。
点击阅读
论文原文 。
这里为了提升我自己的学习,我使用了“自我声音授课法”。关于影子训练的部分。
基于隐私泄露的方法
接下来讨论基于隐私泄露的方法。
第一,自由文本推断攻击。
对抗攻击(adversarial attack)旨在利用对抗样本(adversarial example)来欺骗受害模型(victim model)。攻击模型(attack model)通过对原样本进行轻微的扰动来生成对抗样本,其真实的分类标签与原样本保持一致,但是受害模型的判断却会出错。
对抗攻击被认为可以暴露受害模型的弱点,同时也有助于提高其鲁棒性和可解释性。
ShoelessCai 评注:之后我们也会看到,文章对于模型的可解释性,进行长篇大论的解释。我们可以认为是针对黑盒模型,一种测试性解释。换言之,如果全是线性模型,我可以按照输入模型的变量,去分析解释因素(factor),或者承载(load)。这时候我知道导致我输出变量的改变是什么。但是针对神经网络类型的模型,反向侦测可能就是一种思路。
在图像领域已有CleverHans、Foolbox、Adversarial Robustness Toolbox (ART)等多个对抗攻击工具包,这些工具包将图像领域的对抗攻击模型整合在一起,大大减少了模型复现的时间和难度,提高了对比评测的标准化程度,推动了图像领域对抗攻击的发展。
简要介绍一下这些算法。
CleverHans,该平台的攻防框架,将攻防算法模块化,全球研究者能在这一平台上,快速研发不同的对抗样本生成算法和防御算法。以FGSM和PGD为例,生成对抗样本,与干净样本对比正确率。因为是模块化平台,上述做法,可以通过调用函数实现。
Foolbox,较为成熟度工具箱。
无目标攻击
raw, clipped, is_adv = attack(
fmodel,
data.to(device),
target.to(device),
epsilons=0.1
)
有目标攻击
raw, clipped, is_adv = attack(
fmodel,
data.to(device),
epsilons=0.15,
criterion = criterion
)
可以发现 有无目标攻击 有一点不同就是是否含有target,其实这很好理解。无目标攻击需要样本target,告诉模型,只要最终判定的类别不为target即可;有目标攻击提供criterion参数,告诉了模型该如何定向分类。
如上还能发现epsilons参数都存在,该参数是必要参数。这是设定了像素点最大变化大小。如上attack实际返回了三个变量。raw就是正常攻击产生的对抗样本,clipped就是通过epsilons剪裁生成的对抗样本。is_adv包含每个样本的布尔值,指示raw中哪些样本它们既被错误分类又在干净样本周围的 epsilon 内。
上述代码的解释比较直接,我们可以认为,FoolBox 就是用参数描述目标,让模型的分类能力变差,这才是所谓的攻击。这就是这类工具箱,免疫型操作的 Basic Idea。
从文章的描述看,调用工具箱,以及 PyTorch,还是比较容易提升模型的“免疫力”的。
Adversarial Robustness Toolbox (ART),专门用于机器学习稳健性的 Python 工具包,具有模型防御功能,接下来,我们来看看是如何起作用的。官方文件说,“applications against the adversarial threats of Evasion, Poisoning, Extraction, and Inference. ”。按照 ShoelessCai 的理解。ART 主要针对模型进行如下操作,污染样本、抽取重要信息,以及干预模型预测这类事件。这是 ART 这个工具箱的官方解释。注意,这个工具箱是持续地更新和迭代的。
回到正文。
文本领域鲜有类似的工具包,据我们所知目前仅有 TextAttack 这一个文本对抗攻击工具包。然而它所覆盖的攻击类型十分有限(仅支持gradient-/score-based类型的攻击以及字/词级别的扰动),其可扩展性也有待提高。相比之下我们的 OpenAttack 支持所有的攻击类型,且具有很高的可扩展性。
OpenAttack 内置了很多常用的分类模型(如 LSTM,BERT)以及经典的分类数据集(例如,SST,SNLI,AG’s News)。用户可以很方便地对这些内置的模型进行对抗攻击。下面的示例代码展示了如何使用 Genetic 这一基于遗传算法的对抗攻击模型对 BERT 在 SST 数据集上进行攻击
。
针对分类模型再作简单的了解。
LSTM,长短时记忆网络(LSTM)是一种特殊类型的RNN,循环神经网络的一种,1997年提出的算法。它有几大特点:一是解决梯度消失的问题。这么描述的,“捕捉、理解长序列中的复杂依赖关系”,暂时这么理解吧。二是捕捉长期依赖性。允许网络捕捉和理解长序列中的复杂依赖关系。三是应用广泛,灵活,应用于语音识别、机器翻译、时间序列分析。
LSTM 最大特点是存在“记忆单元”,存在三个门,分别是输入门、输出门、遗忘门,这些门怎么判断呢?用 Sigmoid Diverge。注意,遗忘门是决定丢弃的信息的。换言之,LSTM 就是人为增加长期记忆单元,长期的重要的信息可以留下,短期的不重要的可以去除。工程师需要知道怎么部署好代码。
BERT,Bidirectional Encoder Representations from Transformers 是谷歌在2018年10月推出的深度语言表示模型。据说这个模型一退出就受到热捧。该模型的背景知识,包括Word2Vec、LSTM、Transformer-Base、ELMo、GPT等。
随着投喂数据量越来越大,一个直观的想法出现在科学家们的头脑中:“是能否利用生成模型来生成数据”?
这样的做法,既满足了隐私保障不损害用户的个人隐私,也能满足模型训练对干数据规模的害求,还可以通讨机照学习算法的验证。
有些学者实现privacy preserving data generation,即隐私保护的数据生成,具体来说就是结合了差分隐私(diferential privacy)和生成对抗网络(GAN),其中差分隐私可以提供严格的隐私保障,而GAN可以用于拟合数据分布,特别是拟合高维数据的数据分布。
与传统的privacypreserving data generation方法需要对后续任务做假设相比,使用基于神经网络的生成模型可以避免对后续的任务做假设。鉴于传统方法往往只能处理简单的后续任务,使用GAN可以很好的避免这个局限。
第二,对抗性交互攻击。
对抗性网络(Generative Adversarial Networks, GANs)自2014年由Goodfellow等人提出以来,已成为深度学习研究中最具影响力的创新之一。它们通过引入一个同时训练的生成器(Generator)和判别器(Discriminator)网络,使用对抗的过程来提高生成数据的质量和多样性。
生成器的目标是创建足够真实以至于判别器无法区分的假数据,而判别器的目标则是正确识别出真实数据和生成器产生的假数据。这一过程可以类比为艺术品伪造者和鉴赏家之间的对决:伪造者不断学习如何制作越来越真实的伪作,而鉴赏家则不断提高鉴别真伪的能力。随着训练的进行,生成器逐渐学会产生高质量的输出,而判别器也逐渐变得更加精准。
GANs的训练过程涉及多个步骤。首先,随机噪声被送入生成器中,产生一组假数据。然后,这组假数据与一组真实数据一同被输入到判别器中。判别器的任务是对这些数据做出分类,即判断哪些是真实的,哪些是生成器制造的。生成器和判别器的损失函数通常是相互对立的,优化其中一个会减弱另一个的性能。因此,训练过程需要在两者之间找到平衡点。
尽管GANs在理论和实践上都取得了巨大成功,但在实际应用中仍面临着若干挑战。例如,模式崩溃问题指的是生成器开始产生重复或有限的模式,而不是多样化的数据。为了解决这个问题,研究者提出了多种正则化技术和架构改进,如Wasserstein GANs(WGANs)和Spectral Normalization。另外,GANs的训练不稳定性也是一大难题。为此,研究者们设计了多种训练策略和算法调整方法,以提高训练的稳定性和收敛速度。
美国国家标准及技术研究所(NIST)于2024年1月发布对抗性机器学习(Adversarial Machine Learning, AML)攻击方法和术语的报告[1],主要关注针对不同类型的人工智能系统的各类对抗性机器学习攻击方法及缓解措施。报告从不同的机器学习技术类型、技术生命周期的不同阶段、不同的攻击阶段、攻击者目标和能力等维度,构建了对抗性机器学习攻击方法的层级化概念体系,给出了相应的应对和管理方法并明确了进一步的挑战。报告还根据对抗性机器学习文献定义了一个术语表。通过此报告,NIST意图推动对抗性机器学习领域形成共同语言和共识,并为AI系统安全测评、安全管理实践及标准化工作提供参考与指引。
评注,关于“文本推断”和“对抗性交互”这两种方式。这些文字是我摘抄的,基本上可以通过字面意思来理解。
2.隐私防控方法
第一,数据收集与处理。PII(个人身份信息)清除是针对个人身份信息泄露的一种数据治理方法,用于从文本中删除个人身份信息,可能包括姓名、地址、电话号码、身份证号码等可用于识别特定个人的敏感数据。
关于删除某些信息的权衡。例如,研究显示对于训练于进行过PII清除的临床记录上的BERT
模型,基于患者姓名的训练数据提取攻击生成的句子有超过 4% 包含其真实的医疗状况。此外,数据去重也可以缓解对训练数据的记忆,从而有效减少隐私数据泄露。
第二,模型训练与推理。核心思想是通过向数据添加噪声或扰动来模糊数据,以使攻击者推断敏感信息变得困难,从而在提供数据的同时保护隐私。典型的差分隐私算法包括DP-SGD 和 DP-FedAvg 等。
然而,如何在大模型场景下应用差分隐私技术依然存在挑战。
一方面差分隐私算法会给大规模语言模型带来性能下降、计算和存储开销增加等问题,这些问题随着语言模型规模的增加进一步加剧。
另一方面文本数据上隐私粒度(单个标记、单词, 句子、文档,甚至整个用户数据集)的鉴定也有待研究。目前在语言模型领域,常用的差分隐私训练框架包含两个步骤。
步骤一在非隐私数据上按照普通的训练方法进行训练,该步骤旨在让预训练模型学会通用特征;步骤二在隐私数据上利用差分隐私算法进行训练。
该框架在保护隐私的同时可以在一定程度上缓解训练开销的增加。
第三,模型后处理。模型后处理指在给定训练好的模型后,如何提升其隐私防御能力。
一方面可以对大模型进行定期审计,在每次审计中检测模型生成内容是否触犯用户隐私,对其违反隐私原则的部分进行替换或过滤。
例如,可以构建分类器或者利用大模型通过提示的方式,
判断当前回复中是否包含 PII ,若PII 是公开的要求大模型添加引用否则进行替换或重新生成避免将这类信息提供给用户。
另一方面在给定需要保护的隐私资料的情况下,可以用模型遗忘技术。
例如,EUL6。通过在隐私数据上的遗忘学习在不影响模型性能的前提下实现隐私防御 。
大模型防御
2020 年发布的《金融行业网络安全等级保护实施指引》规范了金融行业安全保障框架和不同安全等级对应的安全保障要求,其中就包括安全运维中的漏洞与风险管理以及网络和系统安全管理。
以下的结构,都以“攻击类型 - 定义描述 - 防御方案”的结构阐述。
攻击类型:1.模型窃取攻击
攻击类型:2.提示注入攻击
攻击类型:3.数据污染攻击
参考文献
[1] 小陈要努力捏(2023),《Membership Inference Attacks Against Machine Learning Models》论文分析,CSDN,2023
[2] 数据STUDIO(2021),总结了九种机器学习集成分类算法(原理+代码),腾讯云,2021
[3] 高婷(2021),机器学习成员推理攻击研究进展与挑战,贵州大学,2021
[4] 任奎(2021),人工智能模型数据泄露的攻击与防御研究综述,安全内参,2021
[5] AITIME论道(2021),隐私保护与生成模型: 差分隐私GAN的梯度脱敏方法,CSDN,2021
[6] 技术混子(2024),揭秘深度学习中的对抗性网络:原理、挑战与未来,阿里云官网,2024
[7] 官方网站(2024),OpenAttack:文本对抗攻击工具包,THUNLP,2024
[8] 官方网站(2021),生产管理基础 “TOC理论”是什么?如何改善瓶颈?
[9] nanyidev(2023),对抗样本工具箱(2)——cleverhans,CSDN,2023