北大团队:诱导大模型“幻觉”只需一串乱码!大小羊驼全中招

更新时间:2023-10-30 08:05:27作者:无忧百科

北大团队:诱导大模型“幻觉”只需一串乱码!大小羊驼全中招

kid 投稿自 凹非寺
量子位 | 公众号 QbitAI

北大团队最新研究发现:

随机token都能诱发大模型出现幻觉

比如喂给大模型(Vicuna-7B)一段“乱码”,它就莫名其妙弄错了历史常识。



或者是简单修改提示词,大模型也会掉入陷阱。



Baichuan2-7B、InternLM-7B、ChatGLM、Ziya-LLaMA-7B、LLaMA-7B-chat、Vicuna-7B这些热门大模型,都会出现类似情况。

这意味着,随机字符串能够操控大模型输出任意内容,为幻觉“代言”。

以上发现来自北大袁粒老师课题组的最新研究。

该研究提出:

大模型的幻觉现象极有可能是对抗样本的另一种视角

论文在展示两种容易诱发大模型幻觉方法的同时,还提出了简单有效的防御办法,代码已开源

两种极端模式攻击大模型

研究提出了两种幻觉攻击方法:

随机噪声攻击(OoD Attack):

以下为在开源大模型上的一些实验结果,更多的结果可以在论文或开源GitHub中找到。



弱语义攻击(Weak Semantic Attack):



论文介绍了幻觉攻击方法:



如上图所示,幻觉攻击包含以下三部分内容:幻觉数据集构建,弱语义攻击,OoD攻击。

首先是幻觉数据集构建

作者从维基百科上收集了一些常识性问题x,并将其输入到大模型中得到正确的回答y。

接着替换句子的主谓宾去构造一个不存在的事实



,其中T是包含所有符合事实的集合。

最终可以得到构造的幻觉数据集:



然后是弱语义攻击部分

先采样一条不符合事实的QA pair



,未来稳定的出发幻觉



,作者希望找到一条对抗提示

来最大化对数似然。



其中



是大模型的参数,



是输入空间。



是由l个token构成。

然而,由于语言是非连续的,没办法直接类似于图像领域的对抗攻击那样直接对x进行优化。

受启发于一篇2019年的研究(Universal Adversarial Triggers for Attacking and Analyzing NLP),研究团队基于梯度的token替换策略来间接的最大化该对数似然。



其中,



为对抗token



的embedding,



是一个语义提取器。

简单来看这个式子,在语义约束下,找到那些使得似然梯度变化最大的token并进行替换,最终在保证得到的对抗提示

和原提示x语义上不相差太多的情况下,诱导模型输出预定义的幻觉



在本文中,为了简化优化过程,将约束项改为

来代替。

最后是OoD攻击部分。

在OoD攻击中,我们从一条完全随机的字符串

出发,在没有任何语义约束下,最大化上述对数似然即可。

论文中还详细阐述了幻觉攻击对不同模型、不同模式的攻击成功率。



也深度探讨了增加 prompt 长度能够显著提升攻击成功率(翻倍)。



最后研究团队也提出了一个简单的防御策略:利用第一个token预测的熵来拒绝响应。



该研究来自北京大学深圳研究生院/信息工程学院袁粒老师团队。

论文地址:
https://arxiv.org/pdf/2310.01469.pdf

GitHub地址:
https://github.com/PKU-YuanGroup/Hallucination-Attack

知乎原帖

https://zhuanlan.zhihu.com/p/661444210?

本文标签: 乱码  北大  羊驼  大模型  字符串  token  软件安装包