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