北大團(tuán)隊(duì):誘導(dǎo)大模型“幻覺”只需一串亂碼!大小羊駝全中招
北大團(tuán)隊(duì)最新研究發(fā)現(xiàn):
隨機(jī)token都能誘發(fā)大模型出現(xiàn)幻覺!
比如喂給大模型(Vicuna-7B)一段“亂碼”,它就莫名其妙弄錯(cuò)了歷史常識(shí)。
或者是簡單修改提示詞,大模型也會(huì)掉入陷阱。
Baichuan2-7B、InternLM-7B、ChatGLM、Ziya-LLaMA-7B、LLaMA-7B-chat、Vicuna-7B這些熱門大模型,都會(huì)出現(xiàn)類似情況。
這意味著,隨機(jī)字符串能夠操控大模型輸出任意內(nèi)容,為幻覺“代言”。
以上發(fā)現(xiàn)來自北大袁粒老師課題組的最新研究。
該研究提出:
大模型的幻覺現(xiàn)象極有可能是對(duì)抗樣本的另一種視角。
論文在展示兩種容易誘發(fā)大模型幻覺方法的同時(shí),還提出了簡單有效的防御辦法,代碼已開源。
兩種極端模式攻擊大模型
研究提出了兩種幻覺攻擊方法:
- 隨機(jī)噪聲攻擊(OoD Attack):即讓無意義的隨機(jī)字符串誘導(dǎo)大模型產(chǎn)生預(yù)定義的幻覺輸出。
- 弱語義攻擊(Weak Semantic Attack):即保證原始 prompt 語義基本不變的情況下,使得大模型產(chǎn)生截然不同的幻覺輸出。
隨機(jī)噪聲攻擊(OoD Attack):
以下為在開源大模型上的一些實(shí)驗(yàn)結(jié)果,更多的結(jié)果可以在論文或開源GitHub中找到。
弱語義攻擊(Weak Semantic Attack):
論文介紹了幻覺攻擊方法:
如上圖所示,幻覺攻擊包含以下三部分內(nèi)容:幻覺數(shù)據(jù)集構(gòu)建,弱語義攻擊,OoD攻擊。
首先是幻覺數(shù)據(jù)集構(gòu)建。
作者從維基百科上收集了一些常識(shí)性問題x,并將其輸入到大模型中得到正確的回答y。
接著替換句子的主謂賓去構(gòu)造一個(gè)不存在的事實(shí),其中T是包含所有符合事實(shí)的集合。
最終可以得到構(gòu)造的幻覺數(shù)據(jù)集:
然后是弱語義攻擊部分。
先采樣一條不符合事實(shí)的QA pair,未來穩(wěn)定的出發(fā)幻覺
,作者希望找到一條對(duì)抗提示
來最大化對(duì)數(shù)似然。
其中是大模型的參數(shù),
是輸入空間。
是由l個(gè)token構(gòu)成。
然而,由于語言是非連續(xù)的,沒辦法直接類似于圖像領(lǐng)域的對(duì)抗攻擊那樣直接對(duì)x進(jìn)行優(yōu)化。
受啟發(fā)于一篇2019年的研究(Universal Adversarial Triggers for Attacking and Analyzing NLP),研究團(tuán)隊(duì)基于梯度的token替換策略來間接的最大化該對(duì)數(shù)似然。
其中,為對(duì)抗token
的embedding,
是一個(gè)語義提取器。
簡單來看這個(gè)式子,在語義約束下,找到那些使得似然梯度變化最大的token并進(jìn)行替換,最終在保證得到的對(duì)抗提示和原提示x語義上不相差太多的情況下,誘導(dǎo)模型輸出預(yù)定義的幻覺
。
在本文中,為了簡化優(yōu)化過程,將約束項(xiàng)改為來代替。
最后是OoD攻擊部分。
在OoD攻擊中,我們從一條完全隨機(jī)的字符串出發(fā),在沒有任何語義約束下,最大化上述對(duì)數(shù)似然即可。
論文中還詳細(xì)闡述了幻覺攻擊對(duì)不同模型、不同模式的攻擊成功率。
也深度探討了增加 prompt 長度能夠顯著提升攻擊成功率(翻倍)。
最后研究團(tuán)隊(duì)也提出了一個(gè)簡單的防御策略:利用第一個(gè)token預(yù)測(cè)的熵來拒絕響應(yīng)。
該研究來自北京大學(xué)深圳研究生院/信息工程學(xué)院袁粒老師團(tuán)隊(duì)。
論文地址:https://arxiv.org/pdf/2310.01469.pdf
GitHub地址:https://github.com/PKU-YuanGroup/Hallucination-Attack
知乎原帖
https://zhuanlan.zhihu.com/p/661444210?