提示工程——漏洞修复
增强提示2
模板:下面的代码是为一个训练在[Y]上的[X]问题设计的。 Template: The following code is designed for a [X] problem trained on [Y].
请修理它以便[Z]。(代码)
Please repair it in order to [Z].[Code]
示例:下面的代码是为在Iris数据集上训练的分类问题而设计的。 Example: The following code is designed for a classification problem trained on Iris dataset.
为了提高精度,请修理一下代码。 Please repair it in order to improve the accuracy.[Code]
对话:修错了。 Dialogue: The repair is wrong.
故障可能发生在以下位置:[Loc]。 Faults may happen in the following locations:[Loc].
请修理一下。 Please repair it.
提示工程——代码摘要(效果不行、给出的原因:单词不一样,但表述更好)
这个工作,效果肉眼可见的差hh
学长自己做的“微调——漏洞检测”评估实验(和参数量呈正比关系)
学长是用A800完成的实验
补充:A100比A800更好,但都是80G的
闭源api接口,微调差不多60刀一次
代码大模型的安全问题
模型窃取攻击(API和网页接口)
模型窃取
指的是攻击者依靠有限次数的模型询问,从而得到一个和目标模型 的功能和效果一致的本地。这类攻击的性价比非常高. 因为 攻击者不需要训练目标模型所需的金钱、时间、脑力劳动的开销,却能够得到一个原本花费了大量的时间、金钱、人力、算力才能得到的模型。由于 ChatGPT 和GPT4 的模型参数很大并且功能十分广泛,要完整窃取其整个模型是具有极大困难的。
但是攻击者可以只窃取其某一部分的能力,例如窃取的模型在关于金融领域的知识上能够与 ChatGPT/GPT4 的能力相一致,就可以免费使用 ChatGPT 和GPT4 的能力。特别是在现在 ChatGPT 呈现专业化应用的情况下,具有某一领域中强大能力的模型是受人追捧的。并且 ChatGPT 已经开放了 API 的使用,这更为模型窃取提供了询问入口。
数据窃取攻击
数据窃取攻击
指的是通过目标模型的多次输出去获取训练过程中使用过的数据的分布。如果攻击者能够知晓 GPT 模型训练过程中使用过的数据是哪些,就有可能会造成数据隐私损害。
在此之前研究者就发现人工智能模型使用过程中产生的相关计算数据,包括输出向量、模型参数、模型梯度
等,可能会泄露训练数据的敏感信息。这使深度学习模型的数据泄露问题难以避免。
例如,
1、模型逆向攻击,攻击者可以在不接触隐私数据的情况下利用模型输出结果等信息来反向推导出用户的隐私数据;
2、成员推断攻击,攻击者可以根据模型的输出判断一个具体的数据是否存在于训练集中。
ChatGPT 和 GPT4 虽然没有输出向量等特征因素,但是由于其模型结构,训练方式的一部分已经被人所知,并且开放了 API 接口来访问,因此针对 ChatGPT 和 GPT4 的数据逆向攻击已经具有相当威胁。
Bard承认自己是GPT3
对抗攻击(用途:漏洞隐藏)
大模型鲁棒性差
标识符(label)随机替换对预训练模型容易产生误导,因而影响较大
后门攻击(加触发器+标签翻转)
代码搜索、死代码插入、修改标识符
代码风格转换
参考文献
生成式大模型安全与隐私白皮书,之江实验室
GPT-4 Technical Report,OpenAI