胡說八道不可怕,一本正經(jīng)的胡說八道才可怕,你因為一本正經(jīng)而信了ta的胡說八道,更可怕……這就是當下我們(捏著鼻子)使用 AI 時需要面對的現(xiàn)狀。
如何避免 AI 生成虛假的事實內容,對使用者產生誤導呢?各個大模型平臺一直在研究和嘗試,而要想“避免”問題,首先得“識別”問題。6 月 19 日,牛津大學一個研究團隊發(fā)表在《自然》雜志上的一項新研究,提出了一種頗有潛力的給AI“測謊”的方法,下面咱們就詳細聊聊。
大模型的胡說八道和風險
“幻覺”(Hallucinations)是大語言模型(例如 ChatGPT、Gemini、或文心一言)面臨的一個關鍵問題,也是網(wǎng)絡上常見的用戶體驗吐槽類型之一,這個術語可以粗略地理解為 AI 一本正經(jīng)的胡說八道。
比如,你問 ChatGPT:恐龍扛狼是什么意思?
它會一本正經(jīng)地告訴你這象征著舊勢力和新力量的對抗,是弱小但機智靈活的挑戰(zhàn)者和強大卻缺乏靈活的對手之間的博弈。
答案非常洗滌靈魂,上升到哲理和價值觀高度,但是,它在胡說八道。
這只是大語言模型常見的“幻覺”類型之一,其他類型還包括:
1
錯誤的歷史事實
“誰是美國的第一位總統(tǒng)?” ChatGPT 回答:“托馬斯杰斐遜!
2
錯誤的科學信息
“水的沸點是多少?” ChatGPT 回答:“水在標準大氣壓下的沸點是 120 攝氏度!
3
編造引用,AI 縫合怪
“愛因斯坦在相對論中說了什么?” ChatGPT 回答:“愛因斯坦曾在《相對論與現(xiàn)實》一書中說過,‘時間是一種幻覺’。”雖然愛因斯坦的確討論過時間的相對性,但他并沒有在所謂的《相對論與現(xiàn)實》一書中發(fā)表這句話。實際上,這本書可能根本不存在。這是模型編造的引用。
4
誤導性的健康、法務、財務建議
你問:“感冒了應該吃什么藥?” ChatGPT 回答:“感冒了應該吃抗生素!
除了上述問題,相信大家在使用 AI 的過程中也會碰到其他胡說八道的情況。盡管各個大模型都在積極處理這類問題,上面舉的例子很多可能也已經(jīng)得到了修復,但這類問題一直難以找到“根治”或“清除”的辦法,在檢驗判斷上也往往需要人工反饋或數(shù)據(jù)集標注,這會帶來不低的成本。
這讓我們使用 AI 的體驗大打折扣誰敢毫無保留地信任一個滿嘴跑火車的助手呢?何況有些問題事關健康和安全,弄錯可是要出大事的。
有沒有什么辦法,能更通用化地“計算”出 AI 到底有沒有瞎說呢?
“語義熵”如何幫助大模型檢測謊言?
日前(6 月 19 日),牛津大學團隊在《自然》(Nature)雜志發(fā)表了一篇論文,提出了一種新的分析和計算方法,為解決大語言模型“幻覺”問題,打開了新思路。
圖源:《自然》(Nature)官網(wǎng),中文翻譯來自瀏覽器插件“沉浸式翻譯”
團隊提出了一種基于統(tǒng)計學的熵估計方法,稱為“語義熵”,來檢測大語言模型中的“編造”(confabulation),即大模型飽受詬病的“胡言亂語癥”。作者在多個數(shù)據(jù)集上測試了語義熵方法,結果顯示語義熵方法在檢測編造方面顯著優(yōu)于其他基準方法。
那么“語義熵”究竟是什么呢?
拋開冗長的專業(yè)解釋,我們可以將語義熵簡單理解為概率統(tǒng)計的一種指標,用來測量一段答案中的信息是否一致。如果熵值較低,即大家都給出類似的答案,說明信息可信。但如果熵值較高,答案各不相同,說明信息可能有問題。
這有點類似于,如果一個人在撒謊,他可能沒辦法每次把謊言的細節(jié)編造得一模一樣。一個謊言往往需要無數(shù)個謊言來幫它扯圓。從信息論的角度來看,可能會引入更多的不確定性和隨機性。說謊者需要引入額外的信息或細節(jié)來支持其不真實的敘述,這可能會增加信息的不確定性或熵值,進而被算法檢測出來。
比如,當你問 AI“世界上最高的山是哪座?”
大模型可能會給出幾個答案:“珠穆朗瑪峰”“乞力馬扎羅山”“安第斯山脈”。
通過計算這些答案的語義熵,發(fā)現(xiàn)“珠穆朗瑪峰”這個答案出現(xiàn)頻率最高,其他答案則很少甚至沒有出現(xiàn)。低語義熵值表明“珠穆朗瑪峰”是可信的答案。
語義熵,既有優(yōu)勢,也有弱點
語義熵檢測方法的優(yōu)勢在于不需要任何先驗知識,無需額外的監(jiān)督或強化學習。通俗地講,使用這種方法時,并不需要上知天文下知地理,只需要遇事不決看看大家都怎么說。
而目前常用的諸如標注數(shù)據(jù)、對抗性訓練等方法,“泛化”效果(即舉一反三的能力),都不如通過語義熵計算。即便是大模型從未遇到過的新語義場景,也能適用語義熵方法。
當然,語義熵雖然是一種相對有效的辦法,但不是萬靈藥,它自己也有一定局限性:
1
處理模糊和復雜問題的能力有限
語義熵在處理非常模糊或復雜的問題時可能不夠有效。
在面對多種可能正確答案的問題時,比如“最好的編程語言是什么?”,語義熵可能無法明確區(qū)分哪一個答案更可靠,因為多個答案都可能是合理的。
(誰說是 Python?我 C++第一個不服!。
2
忽略上下文和常識
語義熵主要基于統(tǒng)計和概率計算,可能忽略了上下文和常識的影響。在一些需要綜合上下文和常識來判斷的問題中,語義熵可能無法提供準確的可靠性評估。比如經(jīng)常談戀愛的朋友可能有體會,情侶間一句話:“我沒事兒,你忙吧。”
你覺得 TA 是真沒事兒,還是有很大事兒?
在這種情況下,得結合上下文場景、人物狀態(tài)等信息判斷,不同的上下文會導致不同的理解。語義熵只能基于詞語的統(tǒng)計概率進行評估,可能會給出錯誤的判斷。
再比如常識性的判斷,既物理世界的客觀規(guī)律,假設我們問一個問題:“太陽從哪邊升起?”
正確答案是“東邊”。然而,如果我們有以下兩個候選答案:
1、太陽從東邊升起。
2、太陽從西邊升起。
(這可能由于模型訓練數(shù)據(jù)的偏差和生成過程的隨機性導致)即使語義熵檢測到兩個答案的概率分布接近,但常識告訴我們答案 1 才是正確的。語義熵在這種情況下可能無法提供足夠的信息來判斷答案的可靠性。
3
如果訓練數(shù)據(jù)被無意或刻意“污染”,語義熵也沒辦法很好識別
如果用錯誤的數(shù)據(jù),給大模型施加了“思想鋼印”,模型對其生成的錯誤陳述非!白孕拧保村e誤陳述在模型的輸出概率分布中占主導地位),那么這些陳述的熵值可能并不會很高。最后總結一下,從大模型的內容生成機制上看,“幻覺”問題沒辦法 100%避免。當我們在使用AI生成的內容時,重要的數(shù)理推理、歷史事件或科學結論、法律和健康知識等方面最好進行人工核查。不過,換個角度,“幻覺”也是大語言模型的創(chuàng)造力體現(xiàn),我們也許應該善用大模型的“幻覺”能力。畢竟幻覺不一定是 bug(故障),而是大模型的 feature(特點)。如果需要檢索事實,我們已經(jīng)有了搜索引擎工具。但如果需要有人幫我們編輯一個“恐龍扛狼”的無厘頭劇本,那么,大語言模型顯然是個更好的助手。
比如筆者費盡心思想畫一幅恐龍扛狼圖,但某 AI 油鹽不進,畫出了一幅恐龍把狼吞了(疑似)的圖,難怪理解不了恐龍扛狼的真意啊……參考文獻
[1] S. Farquhar, J. Kossen, L. Kuhn, and Y. Gal, “Detecting hallucinations in large language models using semantic entropy,” Nature, vol. 630, no. 8017, pp. 625630, 2024, doi: 10.1038/s41586-024-07421-0.
策劃制作
作者丨木木北京師范大學數(shù)學專業(yè) 資深產品經(jīng)理 人工智能創(chuàng)業(yè)者
審核丨于 騰訊玄武實驗室負責人
策劃丨丁
責編丨丁
審校丨徐來、林林