查看原文
其他

Stealing Large Language Models: 关于对ChatGPT进行模型窃取的一些工作

Hebe PaperWeekly 2023-03-29


©作者 | Hebe

很高兴能和大家分享我们组关于针对 GPT 3.5 等 ChatGPT 背后的模型窃取(Model imitation attack/ Model extraction attack)的一些研究成果,目前我们已经将文章开源到了 arvix 上,大家有兴趣的可以访问, 简单来讲,我们首次对在黑盒条件下的大模型窃取做了一系列的研究,发现通过较小模型可以在特定代码相关的任务上逼近甚至超过大模型的能力。


论文标题:

On the Feasibility of Specialized Ability Stealing for Large Language Code Models

论文链接:

https://arxiv.org/abs/2303.03012


我们研究的意义在于:我们指出了用中等规模的模型去部分窃取大模型在特定任务上的性能是可行的,为无法承担训练超大模型的公司/个人提供了解决方案,同时也对未来模型保护提供了一些见解。



写在前面


为啥要做 ChatGPT 的模型窃取?


原因有二:


1. OpenAI 并没有开源自己的模型。作为 OpenAI 的知识产权,这是他们能向公众收费的基石,但是同时也让这件事看上去没有那么公平。


2. 大模型的训练成本已经达到了无法承担的地步。几百张,几千张卡对于大部分中小公司和个人来讲,都是可望而不可即的。


为啥模型窃取能够奏效?

众所周知,OpenAI 在三月初开放了新的 API(gpt-3.5-turbo),和原有的 davinci 系列成本仅仅为原来的 1/10. 然而其模型效果,这里引用官方说法是“几乎差不多”。这说明在知道其内部细节的情况下,对模型进行剪枝/压缩/裁剪 是完全可行的。另外更多的说明可以参考我们论文的引用。



背景介绍


1.1 大模型(Large language models)

原文讲了很多,我们这里主要介绍下两种范式和模型的突变能力(emergent ability)

两种范式:分别是 pretrain-finetune 以及 pretrain prompt

pretrain finetune 模式是指在一个大型数据集上进行预训练,然后在一个小型任务上进行微调。这种方法的优点是可以利用大量数据进行训练,从而学习到更加通用的特征表示,同时又可以在小型任务上进行微调,以适应具体的应用场景。

pretrain prmopt 模式是指在一个大型文本数据集上进行预训练,然后通过给定的 prompt 来生成文本。这种方法的优点是可以直接生成符合要求的文本,并且可以通过修改 prompt 来控制生成的文本的风格和内容。两种方法的区别在于 pretrain finetune 模式主要用于分类、回归等任务,而 pretrain prmopt 模式主要用于生成文本。

同时 pretrain finetune 模式会产生一个能够直接解决具体任务的模型,而 pretrain prmopt 模式则主要用于生成文本。以往以 Bert 为代表的都是 pretrain finetune 模式,而 GPT3 等大模型都是 pretrain prompt 模式。

突变能力:研究发现随着模型 size 的增加,模型的理解上下文能力也相应的增加了。

以 wei 等人从 2022 年开始的一系列研究表明 => 1. 模型大到一定程度以后,其理解能力以及在各个方面的能力都有巨大的提升 [1]

▲ Emergent abilities of large language models


1.2 思维链(CoT)

关于思维链,知乎上已经有许多优秀的回答了,例如思维链:
https://zhuanlan.zhihu.com/p/493533589

Yao Fu [2] 总结了四种思维链的形式,我这里简单借用下:

▲ Specializing Smaller Language Models towards Multi-Step Reasoning


1.3 模型窃取攻击 

模型窃取攻击作为近些年的热点问题,也可以分为两类:

1. 灰盒攻击:这种攻击往往有预先的假定,例如数据的分布情况,模型的架构等等;

2. 黑盒攻击:攻击者什么都不知道


▲ 本文研究和以往工作的对比

以往的工作和我们主要有以下三点不同:

1. 窃取对象不同: 我们专注于用中等规模的模型去窃取大模型的部分能力,而大部分工作的 victim 和 imitation model 是相近规模的;

2. 任务不同:以往工作 [3,4] 往往关注图像分类等分类任务,针对生成任务的仅有机器翻译以及 reasoning tasks;

3. 攻击假设前提不同:如上文所说,我们不会假定攻击者有任何 Prior 知识。

我们思考一下 Chatgpt 给我们的回复,就可以发现由于采用了 Machine-Learning-as-a-Service(MLaaS),我们是没办法拿到任何和模型有关的内容的,所以黑盒攻击就成了唯一的选项。



攻击目标


我们选取了代码总结,代码翻译,代码生成三种任务来进行研究。

我们希望我们的攻击能达到如下效果:

1. 通过窃取到的中等模型在任务表现上接近或者超过原有大模型;

2. 窃取的成本要在可控的合理范围内。





攻击方法


结合上文所讲,我们这里设计了 3 种不同的 query 方式,分别是 zero-shot/ in-context / zero-shot CoT。

并且结合了不同的筛选方法和训练方法,完成了对于 chatgpt 在特定任务上的窃取。

▲ overview of the imitation attack pipeline



实验结果


我们设计了如下四个问题来帮助我们理解模型窃取

- 问题1:在代码相关的任务中,模型窃取攻击的效果如何?

- 问题2:不同的 prompt 策略和窃取方法的选择如何影响性能?

- 问题3:应该用多少次 query 来完成模型窃取?

- 问题4:超参数如何影响攻击的性能?

问题1:在代码相关的任务中,模型窃取攻击的效果如何?


我们表明通过窃取到的中等模型在任务表现上接近(CSyn)或者超过了(CSum,CT)原有大模型。

问题2:不同的 prompt 策略和窃取方法的选择如何影响性能?

通过对比我们发现:

1. 思维链在生成自然语言的任务上比较有用,在其他任务上作用很小,同时还可能导致生成的代码质量迅速下降;

2. 提供合适的上下文仍然是显著提高效果的好办法

问题 3 与问题 4 由于涉及到太多的细节,我这里就不细讲了,把结论贴出来:

在相同的训练能力下,窃取模型的性能超过了 baseline,并随着 query 次数的增加而不断提高。然而,攻击者需要平衡成本和性能,以避免边际效应。


OpenAI 采样超参数对查询结果没有太大影响,重要的是 query 的数量。我们建议在上下文学习中使用三个例子,以保持其在合理成本下的有效性。




一些声明


1. 目前我们只放出了少量的结果,关于如何在更多的 NLP 任务上进行窃取,以及如何提高窃取的性能和效率,我们暂时没有囊括到本文中;

2. 该技术仅仅用于学术研究,相关人员没有用所得到的模型进行任何形式的盈利;

3. 所有对 OpenAI 相关 API 的访问均符合法律法规。


参考文献

[1] Wei, Jason, et al. "Emergent abilities of large language models."arXiv preprint arXiv:2206.07682(2022).

[2] Fu, Yao, et al. "Specializing Smaller Language Models towards Multi-Step Reasoning."arXiv preprint arXiv:2301.12726(2023).

[3] Wallace, Eric, Mitchell Stern, and Dawn Song. "Imitation attacks and defenses for black-box machine translation systems."arXiv preprint arXiv:2004.15015(2020).

[4] Orekondy, Tribhuvanesh, Bernt Schiele, and Mario Fritz. "Knockoff nets: Stealing functionality of black-box models."Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019.



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存