当前位置:AIGC资讯 > AIGC > 正文

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

北大团队最新研究发现:

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

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

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

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

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

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

该研究提出:

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

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

两种极端模式攻击大模型

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

  • 随机噪声攻击(OoD Attack):即让无意义的随机字符串诱导大模型产生预定义的幻觉输出。
  • 弱语义攻击(Weak Semantic Attack):即保证原始 prompt 语义基本不变的情况下,使得大模型产生截然不同的幻觉输出。

随机噪声攻击(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?


更新时间 2023-10-30