OpenAI Lilian Weng萬(wàn)字長(zhǎng)文解讀LLM幻覺(jué):從理解到克服
人會(huì)有幻覺(jué),大型語(yǔ)言模型也會(huì)有幻覺(jué)。近日,OpenAI 安全系統(tǒng)團(tuán)隊(duì)負(fù)責(zé)人 Lilian Weng 更新了博客,介紹了近年來(lái)在理解、檢測(cè)和克服 LLM 幻覺(jué)方面的諸多研究成果。
Lilian Weng,中文名翁麗蓮,是 OpenAI 安全系統(tǒng)團(tuán)隊(duì)負(fù)責(zé)人。她 2018 年加入 OpenAI,參與了 GPT-4 項(xiàng)目的預(yù)訓(xùn)練、強(qiáng)化學(xué)習(xí) & 對(duì)齊、模型安全等方面的工作。她的博客深入、細(xì)致,具有前瞻性,被很多 AI 研究者視為重要的參考資料(其他博客見(jiàn)文末擴(kuò)展閱讀)。
大型語(yǔ)言模型的幻覺(jué)(Hallucination)通常是指該模型生成不真實(shí)、虛構(gòu)、不一致或無(wú)意義的內(nèi)容?,F(xiàn)在,「幻覺(jué)」這個(gè)術(shù)語(yǔ)的含義已有所擴(kuò)大,常被用于泛指模型出現(xiàn)錯(cuò)誤的情況。本文所談到的「幻覺(jué)」是指其狹義含義:模型的輸出是虛構(gòu)編造的,并沒(méi)有基于所提供的上下文或世界知識(shí)。
幻覺(jué)有兩種類型:
- 上下文幻覺(jué):模型輸出與上下文中的源內(nèi)容不一致。
- 外源性幻覺(jué)(extrinsic hallucination):模型輸出應(yīng)該以預(yù)訓(xùn)練數(shù)據(jù)集為基礎(chǔ)。但是,由于預(yù)訓(xùn)練數(shù)據(jù)集規(guī)模龐大,因此檢索和識(shí)別沖突的成本非常高,不可能每次生成時(shí)都執(zhí)行。如果我們認(rèn)為預(yù)訓(xùn)練數(shù)據(jù)語(yǔ)料庫(kù)可以代表世界知識(shí),那么我們本質(zhì)上就是需要確保模型輸出的是事實(shí)并且可通過(guò)外部世界知識(shí)進(jìn)行驗(yàn)證。另一個(gè)功能也同樣重要:如果模型不知道某個(gè)事實(shí),那么它應(yīng)該表示自己不知道。
本文關(guān)注的重點(diǎn)是外源性幻覺(jué)。為了避免幻覺(jué),LLM 需要:(1) 實(shí)事求是,(2) 不知時(shí)要承認(rèn)不知。
本文目錄如下:
幻覺(jué)產(chǎn)生的原因
- 預(yù)訓(xùn)練數(shù)據(jù)問(wèn)題
- 微調(diào)新知識(shí)
幻覺(jué)檢測(cè)
- 檢索增強(qiáng)式評(píng)估
- 基于采樣的檢測(cè)
- 對(duì)未知知識(shí)進(jìn)行校準(zhǔn)
- 間接查詢
反幻覺(jué)方法
- RAG → 編輯和歸因
- 動(dòng)作鏈
- 針對(duì)歸因進(jìn)行微調(diào)
- 針對(duì)事實(shí)性進(jìn)行微調(diào)
- 采樣方法
附錄:評(píng)估基準(zhǔn)
幻覺(jué)產(chǎn)生的原因
標(biāo)準(zhǔn)的可部署 LLM 需要經(jīng)過(guò)預(yù)訓(xùn)練,然后會(huì)進(jìn)行微調(diào)以提升對(duì)齊等要求,那么這兩個(gè)階段有哪些可能導(dǎo)致幻覺(jué)的因素呢?
預(yù)訓(xùn)練數(shù)據(jù)問(wèn)題
預(yù)訓(xùn)練數(shù)據(jù)的量非常大,因?yàn)槠淠繕?biāo)就是以各種書(shū)寫(xiě)形式表示世界知識(shí)。預(yù)訓(xùn)練數(shù)據(jù)的最常用來(lái)源是公共互聯(lián)網(wǎng),也因此這些數(shù)據(jù)往往存在信息過(guò)時(shí)、缺失或不正確等問(wèn)題。模型記憶的方式是簡(jiǎn)單地最大化對(duì)數(shù)似然,因此可能以不正確的方式記憶信息,所以這些模型犯錯(cuò)也就并不讓人意外了。
微調(diào)新知識(shí)
為了提升模型的某些具體能力(比如指令遵從),一種常用方法是通過(guò)監(jiān)督式微調(diào)和 RLHF 等技術(shù)對(duì)預(yù)訓(xùn)練 LLM 進(jìn)行微調(diào)。在微調(diào)階段,難免需要引入新知識(shí)。
微調(diào)所需的計(jì)算量通常少得多,因此小規(guī)模微調(diào)究竟能否可靠地讓模型學(xué)到新知識(shí)也備受爭(zhēng)議。Gekhman et al. 的論文《Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?》研究了這一問(wèn)題:用新知識(shí)微調(diào) LLM 是否會(huì)助長(zhǎng)其幻覺(jué)?他們發(fā)現(xiàn):(1) 當(dāng)微調(diào)樣本中包含新知識(shí)時(shí),LLM 學(xué)習(xí)的速度會(huì)更慢一些(相比于微調(diào)樣本中的知識(shí)與模型已有知識(shí)一致的情況);(2) 模型一旦學(xué)習(xí)了帶有新知識(shí)的樣本,那么模型會(huì)更傾向于產(chǎn)生幻覺(jué)。
給定一個(gè)閉卷問(wèn)答數(shù)據(jù)集(EntityQuestions),D=(q,a), 我們可以將模型 M 準(zhǔn)確生成問(wèn)題 q 的正確答案 a 的概率定義為 P_Correct (q,a;M,T),其中 T 為解碼溫度值,并且提示工程方法是使用隨機(jī)少樣本示例。
他們基于 P_Correct (q,a;M,T) 的不同條件將示例樣本簡(jiǎn)單分成了四類:HighlyKnown、MaybeKnown、WeaklyKnown(這三個(gè)是不同程度的已知類)和 Unknown(未知類)。
圖 1:基于模型輸出正確答案的可能性對(duì)閉卷問(wèn)答示例樣本進(jìn)行知識(shí)方面的分類。
這些實(shí)驗(yàn)得到了一些有趣的觀察,其中可以認(rèn)為開(kāi)發(fā)集(dev set)準(zhǔn)確度能指示幻覺(jué)程度:
- Unknown 樣本的擬合速度比 Known 樣本的慢得多。
- 當(dāng) LLM 擬合的樣本大多數(shù)是 Known 樣本且僅有少量 Unkown 樣本時(shí),該 LLM 的開(kāi)發(fā)集性能最佳。而當(dāng)模型學(xué)習(xí)的樣本大都是 Unknown 樣本時(shí),就會(huì)開(kāi)始出現(xiàn)幻覺(jué)。
- 在 Known 樣本中,MaybeKnown 能讓模型的整體表現(xiàn)更好,勝過(guò) HighlyKnown 樣本。
圖 2:在一半 Known 和一半 Unknown 樣本上進(jìn)行微調(diào)時(shí)的訓(xùn)練集性能和開(kāi)發(fā)集性能??梢钥吹?,模型在 Unknown 樣本上的學(xué)習(xí)速度慢得多,而當(dāng)模型學(xué)習(xí)的樣本絕大多數(shù)是 Known 且僅有少量 Unknown 時(shí),能得到最好的開(kāi)發(fā)集結(jié)果。
Gekhman et al. (2024) 的這些實(shí)驗(yàn)結(jié)果表明使用監(jiān)督式微調(diào)來(lái)更新 LLM 的知識(shí)是有風(fēng)險(xiǎn)的。
幻覺(jué)檢測(cè)
檢索增強(qiáng)式評(píng)估
為了量化模型幻覺(jué),Lee, et al. 的論文《Factuality Enhanced Language Models for Open-Ended Text Generation》引入了一個(gè)新的基準(zhǔn)數(shù)據(jù)集 FactualityPrompt,其中包含事實(shí)性和非事實(shí)性的 prompt,而其檢驗(yàn)事實(shí)性的基礎(chǔ)是將維基百科文檔或句子用作知識(shí)庫(kù)。維基百科文檔是很多數(shù)據(jù)集的事實(shí)來(lái)源,比如 FEVER 數(shù)據(jù)集;而句子則是根據(jù) tf-idf 或基于句子嵌入的相似度選取的。
圖 3:FactualityPrompt 基準(zhǔn)的評(píng)估框架
給定模型續(xù)寫(xiě)的文本和配對(duì)的維基百科文本,這里有兩個(gè)針對(duì)幻覺(jué)的評(píng)估指標(biāo):
- 幻覺(jué)命名實(shí)體(NE)誤差:使用一個(gè)預(yù)訓(xùn)練的實(shí)體檢測(cè)模型和文檔層級(jí)的定基,該指標(biāo)度量的是檢測(cè)到的卻未在 ground truth 文檔中出現(xiàn)過(guò)的命名實(shí)體的比例。
- 蘊(yùn)涵率(Entailment ratio):使用一個(gè)在 MNLI 上微調(diào)過(guò)的 RoBERTa 模型和句子層級(jí)的知識(shí)定基,該指標(biāo)計(jì)算的是生成句子中由該蘊(yùn)涵模型標(biāo)記為「與配對(duì)的維基百科句子相關(guān)」的比例。
如果命名實(shí)體誤差較高且蘊(yùn)涵率較低,則說(shuō)明模型的事實(shí)性較高;并且已有研究表明這兩個(gè)指標(biāo)都與人類標(biāo)注相關(guān)。另外,在這一基準(zhǔn)上,更大的模型通常表現(xiàn)更好。
Min et al. (2023) 在論文《FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation》中提出的 FActScore(用原子分?jǐn)?shù)衡量的事實(shí)精度)是將形式較長(zhǎng)的生成結(jié)果分解成多個(gè)原子事實(shí),并且根據(jù)維基百科這樣的知識(shí)庫(kù)分別驗(yàn)證它們。然后,就能度量模型的每個(gè)生成結(jié)果中有知識(shí)源支撐的句子的比例(精度),而 FActScore 就是在一系列 prompt 上的生成結(jié)果的平均精度。
該論文基于人物傳記生成任務(wù)實(shí)驗(yàn)了多種驗(yàn)證事實(shí)的方法,結(jié)果發(fā)現(xiàn)使用檢索總是優(yōu)于非上下文 LLM。在各種檢索增強(qiáng)式方法中,究竟什么估計(jì)器最好?這一點(diǎn)取決于模型。
- 非上下文 LLM:直接使用「< 原子事實(shí) > True or False?」來(lái)問(wèn)詢 LLM,不帶任何上下文。
- 檢索→LLM:在提詞中加入 k 條從知識(shí)源中檢索到的相關(guān)消息,并將其作為上下文。
- 非參數(shù)概率(NP):通過(guò)一個(gè)掩碼式語(yǔ)言模型來(lái)計(jì)算原子事實(shí)中 token 的平均似然,并將其用于預(yù)測(cè)。
- 檢索→LLM+NP:以上兩種方法的集成方法。
下面是在模型的幻覺(jué)行為方面觀察到的一些有趣結(jié)果:
- 在傳記生成任務(wù)中,更罕見(jiàn)實(shí)體的錯(cuò)誤率更高。
- 在生成時(shí),更后面提到事實(shí)的錯(cuò)誤率更高。
- 在生成時(shí),如果使用檢索來(lái)設(shè)定基礎(chǔ),便有助于大幅降低幻覺(jué)。
Wei et al. (2024) 的論文《Long-form factuality in large language models》提出了一種用于檢驗(yàn) LLM 的長(zhǎng)篇事實(shí)性的評(píng)估方法:Search-Augmented Factuality Evaluator(SAFE),即搜索增強(qiáng)式事實(shí)性評(píng)估器。也可參閱機(jī)器之心的報(bào)道:《DeepMind 終結(jié)大模型幻覺(jué)?標(biāo)注事實(shí)比人類靠譜、還便宜 20 倍,全開(kāi)源》。
相比于 FActScore,SAFE 的主要不同之處是:對(duì)于每一個(gè)獨(dú)立的原子事實(shí),SAFE 會(huì)使用一個(gè)語(yǔ)言模型作為智能體,其作用是通過(guò)一個(gè)多步過(guò)程迭代式地向谷歌搜索發(fā)送查詢并對(duì)搜索結(jié)果執(zhí)行推理,看這些結(jié)果是否支持該事實(shí)。在每一步,該智能體會(huì)根據(jù)給定的待檢驗(yàn)事實(shí)以及之前的搜索結(jié)果生成一個(gè)搜索查詢。執(zhí)行一些步驟之后,該模型再執(zhí)行推理,以判斷事實(shí)能否得到搜索結(jié)果的支持。
從實(shí)驗(yàn)結(jié)果看,SAFE 方法的表現(xiàn)優(yōu)于人類標(biāo)注者,同時(shí)成本還低 20 倍:與人類的一致率為 72%,而當(dāng)與人類不一致時(shí),SAFE 勝過(guò)人類的勝率為 76%。
圖 4:用于長(zhǎng)篇 LLM 生成的事實(shí)性評(píng)估的 SAFE 方法概況
SAFE 評(píng)估指標(biāo)是 F1 @ K,其設(shè)計(jì)思路基于這一思考:模型對(duì)于長(zhǎng)篇事實(shí)性的響應(yīng)應(yīng)當(dāng)在精度和召回率上都達(dá)到理想水平,因?yàn)樵擁憫?yīng)應(yīng)當(dāng)同時(shí)滿足事實(shí)性和長(zhǎng)篇這兩個(gè)條件。
- 事實(shí)性:用精度衡量,即得到支持的事實(shí)在整個(gè)響應(yīng)中所有事實(shí)中的占比。
- 長(zhǎng):用召回率衡量,即所提供的事實(shí)在所有應(yīng)當(dāng)出現(xiàn)在響應(yīng)中的相關(guān)事實(shí)中的占比。因此,我們可以設(shè)定得到支持的事實(shí)數(shù)量最多為 K。
給定模型響應(yīng) y,F(xiàn)1 @ K 指標(biāo)的定義為:
圖 5:F1 @ K 度量的一些主流模型的長(zhǎng)篇事實(shí)性性能,評(píng)估過(guò)程使用了來(lái)自 LongFact 基準(zhǔn) LongFact-Objects 任務(wù)的 250 個(gè)隨機(jī) prompt。
Chern et al. (2023) 在論文《FacTool: Factuality Detection in Generative AI — A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios》中提出的 FacTool 采用了一種標(biāo)準(zhǔn)的事實(shí)檢驗(yàn)流程。其設(shè)計(jì)目標(biāo)是在多種任務(wù)上檢測(cè)事實(shí)性錯(cuò)誤,包括基于知識(shí)的問(wèn)答、代碼生成、數(shù)學(xué)問(wèn)題求解(生成測(cè)試用例而不是陳述)、科學(xué)文獻(xiàn)總結(jié)。該流程為:
- 陳述提?。和ㄟ^(guò)向 LLM 發(fā)送 prompt 來(lái)提取所有可驗(yàn)證的陳述。
- 查詢生成:將每個(gè)陳述轉(zhuǎn)換成適合外部工具使用的查詢列表,比如搜索引擎查詢、單元測(cè)試用例、代碼片段、論文標(biāo)題。
- 工具查詢和證據(jù)收集:查詢搜索引擎、代碼解釋器、谷歌學(xué)術(shù)等外部工具并獲取結(jié)果。
- 一致性驗(yàn)證:根據(jù)來(lái)自外部工具的證據(jù)所提供的支持水平,為每個(gè)陳述分配一個(gè)二元的事實(shí)性標(biāo)簽。
圖 6:用于評(píng)估事實(shí)性的 FacTool 框架,適用于多種任務(wù)設(shè)置:基于知識(shí)的問(wèn)答、代碼生成、數(shù)學(xué)問(wèn)題求解、科學(xué)文獻(xiàn)總結(jié)。
基于采樣的檢測(cè)
Manakul et al. (2023) 在論文《SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models》中提出的 SelfCheckGPT 采用的方法是根據(jù)一個(gè)黑箱 LLM 生成的多個(gè)樣本對(duì)事實(shí)性錯(cuò)誤進(jìn)行一致性檢查??紤]到灰盒事實(shí)檢查度量需要訪問(wèn) LLM 的 token 級(jí)對(duì)數(shù)概率,SelfCheckGPT 只需要不依賴外部知識(shí)庫(kù)的樣本,因此黑箱訪問(wèn)足矣,無(wú)需外部知識(shí)庫(kù)。
圖 7:SelfCheckGPT 概況
該方法采用了不同的指標(biāo)來(lái)度量模型響應(yīng)和每個(gè)其它隨機(jī)模型樣本之間的一致性,包括 BERTScore、NLI、提詞(詢問(wèn) yes/no)等。當(dāng)使用 GPT-3 生成的 WikiBio 文章進(jìn)行實(shí)驗(yàn)時(shí),使用提詞方法的 SelfCheckGPT 的表現(xiàn)似乎最好。
對(duì)未知知識(shí)進(jìn)行校準(zhǔn)
在讓模型生成問(wèn)題的響應(yīng)時(shí),如果該問(wèn)題無(wú)法回答或模型不知道答案,那么就可能引發(fā)幻覺(jué)。TruthfulQA (Lin et al. 2021) 和 SelfAware (Yin et al. 2023) 這兩個(gè)基準(zhǔn)可用于度量模型在這種情況下生成誠(chéng)實(shí)響應(yīng)的表現(xiàn),其中前者是以對(duì)抗方式構(gòu)建的,以強(qiáng)調(diào)人類的謬誤,而后者則包含本質(zhì)上就無(wú)法回答的問(wèn)題。在面對(duì)這樣的問(wèn)題時(shí),模型應(yīng)當(dāng)拒絕回答或給出相關(guān)信息。
TruthfulQA 中的測(cè)試題是根據(jù)人類的常見(jiàn)誤解或差錯(cuò)對(duì)抗式地?cái)M定的。該基準(zhǔn)包含 817 個(gè)問(wèn)題,涵蓋醫(yī)療、法律、金融和政治等 38 個(gè)主題。在這里,當(dāng)且僅當(dāng)(iff)答案中沒(méi)有錯(cuò)誤陳述時(shí)(包括拒絕回答、給出不相關(guān)的誠(chéng)實(shí)答案),才認(rèn)定該答案是誠(chéng)實(shí)的。
在該論文的實(shí)驗(yàn)中,最好的 LLM 能達(dá)到 58% 的準(zhǔn)確度,相較之下人類的準(zhǔn)確度為 94%。他們發(fā)現(xiàn),由于訓(xùn)練數(shù)據(jù)中包含大量常見(jiàn)誤解,因此更大的模型更不誠(chéng)實(shí),但其它標(biāo)準(zhǔn)的(非對(duì)抗性)事實(shí)性基準(zhǔn)并沒(méi)有表現(xiàn)出這一趨勢(shì)。
對(duì)于 TruthfulQA 中的問(wèn)題,GPT-3 給出的錯(cuò)誤答案示例:
Yin et al. (2023) 提出的 SelfAware 基于自我知識(shí)(self-knowledge)這一概念,也就是語(yǔ)言模型是否知道它們知不知道。SelfAware 包含 1032 個(gè)不可解答問(wèn)題(分成 5 大類)和 2337 個(gè)可解答問(wèn)題。不可解答問(wèn)題來(lái)自帶有人類標(biāo)注的網(wǎng)絡(luò)論壇,而可解答問(wèn)題則來(lái)自 SQuAD、HotpotQA 和 TriviaQA 并且是根據(jù)與不可解答問(wèn)題的文本相似度選取的。
一個(gè)問(wèn)題不可解答的原因是多種多樣的,比如沒(méi)有科學(xué)共識(shí)、是對(duì)未來(lái)的想象、完全是主觀臆斷、可能得到多種答案的哲學(xué)原因等。考慮到區(qū)分可解答與不可解答問(wèn)題本質(zhì)上就是一個(gè)二元分類任務(wù),因此可通過(guò) F1 分?jǐn)?shù)或準(zhǔn)確度來(lái)度量,實(shí)驗(yàn)結(jié)果表明更大的模型在這一任務(wù)上的表現(xiàn)更好。
圖 8:不同大小的 Instruct-GPT 系列模型的準(zhǔn)確度(從左到右,模型從小到大)。在 SelfAware 評(píng)估中,模型越大,在可與不可解答問(wèn)題的二元分類任務(wù)上的表現(xiàn)就越好。
另一種評(píng)估模型是否「知之為知之,不知為不知」的方法是測(cè)量模型的輸出不確定性。當(dāng)一個(gè)問(wèn)題介于已知和未知之間時(shí),模型應(yīng)當(dāng)表現(xiàn)出正確的置信度水平。
Kadavath et al. (2022) 在論文《Language Models (Mostly) Know What They Know》中的實(shí)驗(yàn)表明:在不同的多項(xiàng)選擇題(MMLU、TruthfulQA、QuALITY、LogiQA,答案選項(xiàng)標(biāo)注了字母)上,LLM 能與答案正確的估計(jì)概率很好地校準(zhǔn),這意味著預(yù)測(cè)概率與該答案為真的頻率是一致的。RLHF 微調(diào)會(huì)讓模型的校準(zhǔn)性能很差,但如果采樣溫度更高,則會(huì)得到更好的校準(zhǔn)結(jié)果。
圖 9:(左)不同大小模型的校準(zhǔn)曲線:更大的模型的校準(zhǔn)表現(xiàn)更好。(右)對(duì)于校準(zhǔn)誤差來(lái)說(shuō),問(wèn)題的格式很重要。
Lin et al.(2022) 使用了 CalibratedMath 任務(wù)套件。CalibratedMath 是一個(gè)以可編程方式生成的數(shù)學(xué)問(wèn)題套件,其可生成不同難度的數(shù)學(xué)問(wèn)題(取決于數(shù)的數(shù)量),可用于檢測(cè)模型的輸出概率的校準(zhǔn)程度。對(duì)于每個(gè)問(wèn)題,模型必須給出一個(gè)數(shù)值答案以及對(duì)該答案的置信度。這里考慮了三種概率:
- 用語(yǔ)言表達(dá)的數(shù)值或詞,比如:最低、低、中等、高、最高。舉個(gè)例子:「置信度:60% / 中等」。
- 答案 token 的歸一化對(duì)數(shù)概率;請(qǐng)注意:微調(diào)實(shí)驗(yàn)中并沒(méi)有使用這個(gè)概率。
- 在原始回答之后的一個(gè)間接「True/False」 token 的對(duì)數(shù)概率。他們的實(shí)驗(yàn)關(guān)注的重點(diǎn)是:在任務(wù)難度或內(nèi)容的分布變化時(shí),校準(zhǔn)的泛化能力如何?每個(gè)微調(diào)數(shù)據(jù)點(diǎn)都是一個(gè)問(wèn)題、該模型的答案(可能不正確)和一個(gè)已校準(zhǔn)置信度。語(yǔ)言表達(dá)的概率能很好地泛化到這兩種情況,并且所有設(shè)置都能很好地應(yīng)對(duì)「乘法 - 除法」的任務(wù)變化。至于模型預(yù)測(cè)置信度方面,少樣本學(xué)習(xí)的表現(xiàn)比微調(diào)模型差。包含更多示例能帶來(lái)助益 —— 使用 50 個(gè)樣本的表現(xiàn)差不多與微調(diào)版本一樣好。
圖 10:訓(xùn)練和評(píng)估的校準(zhǔn)曲線。該模型在「加法 - 減法」任務(wù)上進(jìn)行了微調(diào),在多答案(每個(gè)問(wèn)題都有多個(gè)正確答案)和「乘法 - 除法」任務(wù)上進(jìn)行了評(píng)估。
間接查詢
Agrawal et al.(2023) 在論文《Do Language Models Know When They're Hallucinating References?》中研究了 LLM 生成結(jié)果中出現(xiàn)幻覺(jué)參考文獻(xiàn)的問(wèn)題,比如編造出不存在的書(shū)籍、文章和論文標(biāo)題。
他們實(shí)驗(yàn)了兩種根據(jù)一致性來(lái)檢查幻覺(jué)的方法:直接查詢和間接查詢。這兩種方法都在 T > 0 時(shí)多次運(yùn)行檢查并驗(yàn)證一致性。
圖 11:用于檢查參考文獻(xiàn)幻覺(jué)的直接查詢和間接查詢。
直接查詢是讓模型判斷生成的參考文獻(xiàn)是否存在。間接查詢則是要求提供生成的參考文獻(xiàn)的輔助信息,比如作者是誰(shuí)。
舉個(gè)例子,如果我們想檢驗(yàn)「以下論文是不是真的?」我們可以檢查「這篇論文的作者是誰(shuí)?」這里的假設(shè)是:如果生成的參考文獻(xiàn)是幻覺(jué)結(jié)果,那么相比于直接詢問(wèn)該參考文獻(xiàn)是否存在并得到肯定響應(yīng)的可能性,多次生成結(jié)果都有同樣作者的可能性會(huì)更低。
實(shí)驗(yàn)結(jié)果表明間接查詢方法的效果更好,并且更大的模型能力更強(qiáng),幻覺(jué)也更少。
反幻覺(jué)方法
接下來(lái),我們一起回顧一些用于提升 LLM 的事實(shí)性的方法,從檢索外部知識(shí)庫(kù)和特殊的采樣方法到對(duì)齊微調(diào)。另外也有通過(guò)神經(jīng)元編輯來(lái)降低幻覺(jué)的可解釋性方法,但本文不會(huì)對(duì)此做深入介紹。
RAG → 編輯和歸因
RAG 是指「檢索增強(qiáng)式生成」,這是一種非常常用的用于提供真實(shí)基礎(chǔ)信息的方法。簡(jiǎn)單來(lái)說(shuō),RAG 就是先檢索相關(guān)文檔,然后將其用作額外上下文來(lái)執(zhí)行生成。
RARR 則來(lái)自 Gao et al. (2022) 的論文《RARR: Researching and Revising What Language Models Say, Using Language Models》,是指「使用研究和修訂來(lái)改進(jìn)歸因」。該框架是通過(guò)歸因編輯(Editing for Attribution)來(lái)追溯性地讓 LLM 有能力將生成結(jié)果歸因到外部證據(jù)。給定模型生成的文本 x,RARR 會(huì)進(jìn)行兩步處理,之后輸出修訂后的文本 y 和一份歸因報(bào)告 A:
1. 研究階段:尋找相關(guān)文檔并將其作為證據(jù)。
(1) 首先使用一個(gè)查詢生成模型(通過(guò)少樣本提詞,x → q_1, ..., q_N)構(gòu)建一組搜索查詢 q_1, ..., q_N,以驗(yàn)證每個(gè)句子的各個(gè)方面。
(2) 運(yùn)行谷歌搜索,為每個(gè)查詢 q_i 取用 K=5 個(gè)搜索結(jié)果。
(3) 使用一個(gè)預(yù)訓(xùn)練的查詢 - 文檔相關(guān)性模型分配相關(guān)性分?jǐn)?shù),并且每個(gè)查詢 q_i 僅保留一個(gè)最相關(guān)的 J=1 文檔 e_i1, ..., e_iJ。
2. 修訂階段:編輯輸出結(jié)果以校正沒(méi)有證據(jù)支持的內(nèi)容,同時(shí)盡可能地保留原內(nèi)容。將已修訂文本初始化為 y=x。
(1) 對(duì)于每組 (q_i, e_ij),使用一個(gè)一致性模型(通過(guò)少樣本提詞 + CoT,(y,q,e)→0,1)檢查證據(jù) e_ij 是否與當(dāng)前的已修訂文本不一致。
(2) 只有當(dāng)檢測(cè)到不一致時(shí),編輯模型(通過(guò)少樣本提詞 + CoT,(y,q,e)→新的 y)才會(huì)輸出一個(gè)新版本的 y;這個(gè)新 y 的目標(biāo)是與證據(jù) e_ij 一致,同時(shí)其它方面的修改盡可能地小。
(3) 最后,只有有限數(shù)量 M=5 個(gè)證據(jù)會(huì)進(jìn)入歸因報(bào)告 A。
圖 12:RARR 圖示
在評(píng)估修訂后的文本 y 時(shí),歸因率和留存率都很重要。
- 歸因率(Attribution)是使用 AIS 分?jǐn)?shù)(可歸因于已識(shí)別來(lái)源分?jǐn)?shù))度量 y 中有多大比例可以歸因于 A。我們可以收集人類標(biāo)注或使用 NLI 模型來(lái)近似計(jì)算自動(dòng) AIS 分?jǐn)?shù)。
- 留存率(Preservation)是指 y 中有多大比例保留了 x 的原文本,度量方式為 Prev_intent × Prev_Lev,其中 Prev_intent 需要人類標(biāo)注,而 Prev_Lev 則是基于字符級(jí)的 Levenshtein 編輯距離。相比于兩種對(duì)比方法,RARR 能帶來(lái)更平衡的結(jié)果,尤其是在留存率指標(biāo)上。
類似于使用「搜索 + 編輯」的 RARR,Mishra et al. (2024) 在論文《Fine-grained Hallucination Detection and Editing for Language Models》中提出的 FAVA(使用增強(qiáng)知識(shí)進(jìn)行事實(shí)性驗(yàn)證)還能檢索相關(guān)文檔,然后編輯模型輸出以避免幻覺(jué)錯(cuò)誤。FAVA 模型由一個(gè)檢索器 ?_ret 和一個(gè)編輯器 ?_edit 構(gòu)成。
- 給定一個(gè) prompt x 和模型輸出 y,可檢索出一些最相關(guān)的文檔:d = ?_ret (x,y)
- 通過(guò)編輯器生成一個(gè)增強(qiáng)版的輸出:
RARR 不需要訓(xùn)練,但 FAVA 中的編輯器模型 ?_edit 需要進(jìn)行微調(diào)。根據(jù)對(duì)不同類型的幻覺(jué)錯(cuò)誤進(jìn)行分類,可通過(guò)將隨機(jī)誤差注入模型生成來(lái)為 ?_edit 生成合成訓(xùn)練數(shù)據(jù)。每個(gè)樣本都是一個(gè)三元組 (c,y,y*),其中 c 是原始維基百科段落,其可作為標(biāo)準(zhǔn)上下文,y 是有錯(cuò)誤的語(yǔ)言模型輸出,y* 是帶有錯(cuò)誤標(biāo)簽和校正標(biāo)記的輸出。
圖 13:用于訓(xùn)練 FAVA 中 ?_edit 的合成數(shù)據(jù)生成
He et al. (2022) 在論文《Rethinking with Retrieval: Faithful Large Language Model Inference》中提出的 Rethinking with retrieval (RR) 方法依賴于檢索相關(guān)外部知識(shí),但無(wú)需額外編輯。RR 并沒(méi)有使用搜索查詢生成模型,其檢索是基于分解式的 CoT 提詞。
給定一個(gè)輸入 prompt Q,RR 以溫度 > 0 的設(shè)置使用 CoT 提詞生成多條推理路徑 R_1, ..., R_N,其中每條推理路徑 R_i 包含一個(gè)解釋 E_i(即推理部分)以及之后的預(yù)測(cè) P_i(即實(shí)際的模型輸出)。外部知識(shí) K_1, ..., K_M 是檢索得到的,可用于為每條解釋提供支持。然后根據(jù)答案與檢索到的知識(shí)的契合程度選出最忠實(shí)可信的答案。
- 知識(shí)檢索:RR 的實(shí)驗(yàn)是在維基百科上使用離散檢索方法 BM25,然后根據(jù)一個(gè)預(yù)訓(xùn)練 MPNet 模型提供的嵌入余弦相似度來(lái)重新排名。
- 忠實(shí)度分?jǐn)?shù):組合使用蘊(yùn)涵分?jǐn)?shù)、矛盾分?jǐn)?shù)和 MPNet 相似度來(lái)估計(jì)每條推理路徑的忠實(shí)度分?jǐn)?shù)。其中蘊(yùn)涵分?jǐn)?shù)和矛盾分?jǐn)?shù)均由一個(gè)預(yù)訓(xùn)練 NLI 模型提供。
圖 14:在常識(shí)推理(StrategyQA)、時(shí)間推理(TempQuestions)和表格推理(INFOTABS)基準(zhǔn)上,RR 與其它方法的性能比較(使用了精確匹配指標(biāo))。
Asai et al. (2024) 在論文《Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection》中提出的 Self-RAG 會(huì)以端到端的方式訓(xùn)練一個(gè)語(yǔ)言模型,該模型可通過(guò)輸出任務(wù)輸出結(jié)果與分散在中間的特殊反思 token 來(lái)反思其自身的生成結(jié)果。他們使用 GPT-4 創(chuàng)建了一個(gè)用于批評(píng)器模型和生成器模型的監(jiān)督式數(shù)據(jù)集,然后將其蒸餾成了一個(gè)內(nèi)部模型以降低推理成本。
圖 15:Self-RAG 框架概況。在特殊 token 的引導(dǎo)下,Self-RAG 模型會(huì)并行地檢索多個(gè)文檔,并點(diǎn)評(píng)其自身的生成結(jié)果以提升質(zhì)量。
給定輸入 prompt x,生成的輸出 y—— 其包含多個(gè)分段(每一分段都是一個(gè)句子)y=[y_1, ..., y_T]。一共有四種反思 token,一種用于檢索,三種用于批評(píng):
- Retrieve:決定是否運(yùn)行并行檢索以獲取一組文檔;輸出值:{yes, no, continue}
- IsRel:prompt x 和檢索到的文檔 d 是否相關(guān);輸出值:{relevant, irrelevant}
- IsSup:d 是否支持輸出文本 y;輸出值:{fully supported, partially supported, no support}
- IsUse:輸出文本 y 對(duì) x 來(lái)說(shuō)是否有用;輸出值:{5, 4, 3, 2, 1}
Self-RAG 一次生成 y_t 的一個(gè)分段。給定 x 和之前的生成結(jié)果 y_<t,模型會(huì)根據(jù) Retrieve token 按以下方式解碼:
- 如果 Retrieve == no,則直接生成 y_t。
- 如果 Retrieve == yes,則模型并行檢索多篇文章并使用 isRel token 檢查檢索到的文檔是否相關(guān)。如果相關(guān),則生成 y_t 并使用其它批評(píng) token 給出分?jǐn)?shù),然后排名并從中選取最佳輸出。
動(dòng)作鏈
我們也可以不使用外部檢索到的知識(shí),而是設(shè)計(jì)一個(gè)流程讓模型可以自己執(zhí)行驗(yàn)證和修訂,從而減少幻覺(jué)。
Dhuliawala et al.(2023) 在論文《Chain-of-Verification Reduces Hallucination in Large Language Models》中提出了一種名為 Chain-of-Verification (CoVe / 驗(yàn)證鏈)的方法。該方法是基于動(dòng)作鏈來(lái)規(guī)劃和執(zhí)行驗(yàn)證。CoVe 包含四個(gè)核心步驟:
1. 基線響應(yīng):模型生成一個(gè)初始的草稿響應(yīng),稱為「基線(baseline)」。
2. 規(guī)劃驗(yàn)證:基于初始生成結(jié)果,該模型設(shè)計(jì)一個(gè)用于事實(shí)查驗(yàn)的非模板式驗(yàn)證問(wèn)題;這可通過(guò)使用 (響應(yīng),驗(yàn)證問(wèn)題) 示例的少樣本提詞實(shí)現(xiàn)。
3. 執(zhí)行驗(yàn)證:模型分別獨(dú)立地回答這些問(wèn)題。這一步的設(shè)置有幾種變體:
(1) 聯(lián)合式:與第 2 步一起執(zhí)行,其中少樣本示例的形式構(gòu)建為 (響應(yīng),驗(yàn)證問(wèn)題,驗(yàn)證答案)。缺點(diǎn)是原始響應(yīng)也在上下文中,因此模型可能會(huì)重復(fù)出現(xiàn)相似的幻覺(jué)。
(2) 兩步式:將驗(yàn)證規(guī)劃和執(zhí)行步驟分開(kāi),使得原始響應(yīng)不會(huì)造成影響。
(3) 分解式:分開(kāi)獨(dú)立地回答每個(gè)驗(yàn)證問(wèn)題。舉個(gè)例子,如果一個(gè)長(zhǎng)篇的基礎(chǔ)生成結(jié)果有多個(gè)驗(yàn)證問(wèn)題,就逐一回答其中每一個(gè)。
(4) 分解 + 修訂:根據(jù)基線響應(yīng)以及驗(yàn)證問(wèn)題和答案,在分解驗(yàn)證執(zhí)行后添加一個(gè)「交叉檢驗(yàn)」步驟。這能檢測(cè)不一致性。
4. 最終輸出:生成經(jīng)過(guò)優(yōu)化的最終輸出。如果發(fā)現(xiàn)了任何不一致,這一步會(huì)對(duì)輸出進(jìn)行修訂。
CoVe 之所以這樣設(shè)計(jì),是因?yàn)殚L(zhǎng)篇驗(yàn)證鏈生成可能導(dǎo)致出現(xiàn)重復(fù)幻覺(jué),其原因是初始的有幻覺(jué)響應(yīng)依然在上下文中,而在生成新響應(yīng)時(shí)模型又可能繼續(xù)關(guān)注這些幻覺(jué),同時(shí)研究還發(fā)現(xiàn)分開(kāi)回答各個(gè)驗(yàn)證問(wèn)題的效果優(yōu)于長(zhǎng)篇生成。
圖 16:驗(yàn)證鏈(CoVe)方法概況,其包含 4 個(gè)關(guān)鍵步驟
CoVe 實(shí)驗(yàn)得到了一些有趣的觀察結(jié)果:
- 指令微調(diào)和 CoT 不會(huì)減少幻覺(jué)。
- 分解式和兩步式 CoVe 能提升性能,并且進(jìn)一步對(duì)不一致檢測(cè)進(jìn)行顯式推理也能帶來(lái)幫助(分解 + 修訂方法)。
- 相較于長(zhǎng)篇查詢,短篇驗(yàn)證問(wèn)題能得到更準(zhǔn)確地回答。
- LLM 生成的篇幅不定的驗(yàn)證問(wèn)題比啟發(fā)式方法更好(比如 X 能回答這個(gè)問(wèn)題嗎?),并且需要開(kāi)放式生成的問(wèn)題的效果優(yōu)于單純的是非問(wèn)答題。
Sun et al. (2023) 在論文《Recitation-Augmented Language Models》中提出的 RECITE 將復(fù)述(recitation)作為了一個(gè)中間步驟,以此提升模型生成結(jié)果的事實(shí)正確度并減少幻覺(jué)。其設(shè)計(jì)思路是將 Transformer 記憶用作信息檢索模型。在 RECITE 的「復(fù)述再回答」方案中,LLM 首先需要復(fù)述相關(guān)信息,然后再生成輸出。
確切來(lái)說(shuō),可以使用少樣本上下文提詞技術(shù)來(lái)教模型生成復(fù)述,然后基于復(fù)述內(nèi)容生成答案。不僅如此,它還能與使用多個(gè)樣本的自我一致性集成方案組合使用,并且還能擴(kuò)展用于支持多次跳轉(zhuǎn)的問(wèn)答。
圖 17:比較直接生成方法、RAG 和 RECITE
生成的復(fù)述能與基于 BM25 的檢索模型相媲美,但這兩者都不及使用包含真實(shí)事實(shí)的文本段。根據(jù)他們的誤差分析,大約 7-10% 的問(wèn)題雖復(fù)述正確但未能得到正確答案,而大約 12% 的問(wèn)題雖復(fù)述錯(cuò)誤但卻回答正確了。
采樣方法
Lee, et al.(2022) 在論文《Factuality Enhanced Language Models for Open-Ended Text Generation》中發(fā)現(xiàn)核采樣(nucleus sampling,top-p 采樣)在 FactualityPrompt 基準(zhǔn)上的表現(xiàn)不及貪婪采樣,但它的多樣性更優(yōu)且重復(fù)更少,因?yàn)楹瞬蓸訒?huì)添加額外的隨機(jī)性。因此他們提出了事實(shí)性 - 核采樣算法。
該算法基于這一假設(shè):相比于在句子開(kāi)頭處,采樣隨機(jī)性對(duì)句子后段的事實(shí)性的危害更大。事實(shí)核采樣是在采樣每個(gè)句子的 token 期間動(dòng)態(tài)地調(diào)整概率 p。
對(duì)于一個(gè)句子中的第 t 個(gè) token,有 p_t = max (ω,p?λ^{t-1}),其中 ω 是為了防止采樣落回成貪婪采樣,這有損生成質(zhì)量和多樣性。
圖 18:相比于標(biāo)準(zhǔn)的核采樣,事實(shí)核采樣能讓多樣性更好同時(shí)減少重復(fù),而幻覺(jué)誤差是以命名實(shí)體(NE)誤差度量的。
Li et al. (2023) 在論文《Inference-Time Intervention: Eliciting Truthful Answers from a Language Model》中提出了推理時(shí)間干預(yù)(ITI)。其中通過(guò)在每一層的激活上擬合線性探針來(lái)區(qū)分真實(shí)輸出和虛假輸出,研究了某些注意力頭是否與事實(shí)性更相關(guān)。
他們發(fā)現(xiàn),對(duì)許多注意力頭來(lái)說(shuō),探針并不能做到比隨機(jī)更好,但也有一些表現(xiàn)出了很強(qiáng)的性能。ITI 會(huì)首先找到一組在真實(shí)度方面具有高線性探測(cè)準(zhǔn)確度的注意力頭,然后沿「真實(shí)」方向移動(dòng)前 K 個(gè)所選注意力頭的激活。
圖 19:將所選注意力頭上的激活向更真實(shí)方向移動(dòng)的方式
針對(duì)事實(shí)性進(jìn)行微調(diào)
Lee, et al.(2022) 在論文《Factuality Enhanced Language Models for Open-Ended Text Generation》中提出了兩種用于事實(shí)性增強(qiáng)訓(xùn)練的思路:
- TopicPrefix 是為了讓模型能更好地感知事實(shí):在文檔中的每個(gè)句子前面加上主題(即維基百科文檔標(biāo)題)。
- 訓(xùn)練目標(biāo)是句子完成度損失:更新訓(xùn)練損失以將重點(diǎn)放在句子的后部分 —— 他們假設(shè)句子的后部分包含更多事實(shí)知識(shí)。其實(shí)現(xiàn)很簡(jiǎn)單:先確定一個(gè)中心點(diǎn) t,然后對(duì)第 t 個(gè) token 前面的所有 token 使用零掩碼。
在他們的實(shí)驗(yàn)中,所選擇的最佳中心點(diǎn) t 是句子長(zhǎng)度的一半。
Lin et al.(2024) 在論文《FLAME: Factuality-Aware Alignment for Large Language Models》中提出了 FLAME(Factuality-Aware Alignment / 可感知事實(shí)性的對(duì)齊),即在特別注重事實(shí)性的前提下執(zhí)行 SFT+RLHF 對(duì)齊訓(xùn)練。
- SFT 階段(可感知事實(shí)性的 SFT):目標(biāo)是生成事實(shí)性優(yōu)于(根據(jù) FActScore)模型自身生成結(jié)果的訓(xùn)練數(shù)據(jù)。
- RLHF 階段(可感知事實(shí)性的 RLHF):他們測(cè)試了兩種方法,其中方法 (1) 的結(jié)果很差,而 (2) 的結(jié)果還算不錯(cuò),原因很可能是 (1) 試圖在沒(méi)有足夠訓(xùn)練的情況下向模型注入新知識(shí)。有證據(jù)表明微調(diào)新知識(shí)可能導(dǎo)致幻覺(jué),而源自 RAG 的監(jiān)督會(huì)包含 LLM 未知的信息。
(1) 將 RAG 數(shù)據(jù)樣本用作正例,將原始的模型生成結(jié)果用作負(fù)例作為獎(jiǎng)勵(lì)模型數(shù)據(jù)。
(2) 將 FActScore 用作事實(shí)性的獎(jiǎng)勵(lì)信號(hào)。
圖 20:左圖:對(duì)一個(gè)預(yù)訓(xùn)練 LLM 使用少樣本提詞而生成的響應(yīng);右圖:可感知事實(shí)性的對(duì)齊訓(xùn)練流程
為了避免在對(duì)齊訓(xùn)練時(shí)意外將未知知識(shí)蒸餾到模型中,他們建議使用模型生成的響應(yīng)來(lái)構(gòu)建 SFT / DPO 數(shù)據(jù)集。
圖 21:在傳記生成任務(wù)上,在使用和不使用可感知事實(shí)性的設(shè)置下,SFT 和 DPO 運(yùn)行的性能。有用性(Helpfulness)是在 Alpaca Eval 基準(zhǔn)上測(cè)量的模型對(duì)于基礎(chǔ) SFT + DPO 方法的勝率。請(qǐng)注意,RLHF 會(huì)讓事實(shí)性變差,因?yàn)槿祟惙答佂酶L(zhǎng)更詳細(xì)的答案,但這種答案并不一定更符合事實(shí)。
Tian & Mitchell et al. (2024) 在論文《Fine-tuning Language Models for Factuality》中提出了事實(shí)性微調(diào)(Factuality tuning),其也是通過(guò)微調(diào)語(yǔ)言模型來(lái)提升其事實(shí)性。他們實(shí)驗(yàn)了不同的方法來(lái)估計(jì)每個(gè)模型樣本中的原子陳述的真實(shí)度,然后再運(yùn)行 DPO。
圖 22:事實(shí)性估計(jì)過(guò)程圖示。
事實(shí)性微調(diào)的流程:
1. 針對(duì)一組給定的 prompt(比如:寫(xiě)一篇馬友友的傳記),采樣成對(duì)的模型完成結(jié)果。
2. 根據(jù)兩種不涉及人類的方法來(lái)為它們標(biāo)注真實(shí)度:
- 基于參考的方法,檢查外部知識(shí)庫(kù)是否支持該模型陳述,類似于上面關(guān)于基于檢索的幻覺(jué)評(píng)估部分。其過(guò)程為:(a) 提取原子陳述列表,(b) 查找維基百科參考資料,(c) 使用一個(gè)小型的 NLI 微調(diào)模型來(lái)檢查參考文本是否支持該原子陳述。
- 無(wú)參考方法:使用該模型自身的置信度作為其真實(shí)度,這類似于間接查詢方法。其過(guò)程為:(a) 使用少樣本提詞,將每個(gè)陳述轉(zhuǎn)換成對(duì)應(yīng)的問(wèn)題 / 需要仔細(xì)調(diào)整語(yǔ)句以確保問(wèn)題無(wú)歧義;(b) 多次采樣模型,得到問(wèn)題的多個(gè)答案;(c) 使用聚合分?jǐn)?shù) / 使用字符串匹配或讓 GPT 來(lái)評(píng)價(jià)兩個(gè)答案的語(yǔ)義是否等價(jià)。
3. 通過(guò)讓模型生成多個(gè)樣本來(lái)構(gòu)建一個(gè)訓(xùn)練數(shù)據(jù)集,并基于真實(shí)度分?jǐn)?shù)分配偏好。然后在該數(shù)據(jù)集上使用 DPO 對(duì)模型進(jìn)行微調(diào)。
圖 23:相較于使用預(yù)期置信度分?jǐn)?shù)來(lái)進(jìn)行事實(shí)性微調(diào)(FactTune-EC)和其它對(duì)比方法,使用 FActScore 進(jìn)行事實(shí)性微調(diào)(FactTune-FS)在事實(shí)性方面實(shí)現(xiàn)了最好的提升。
針對(duì)歸因進(jìn)行微調(diào)
在減少幻覺(jué)方面,一種好方法是在為搜索結(jié)果生成條件時(shí)為模型輸出分配歸因。訓(xùn)練 LLM 更好地理解檢索到的內(nèi)容和分配高質(zhì)量歸因是一個(gè)比較熱門的研究分支。
Nakano, et al. (2022) 在論文《WebGPT: Browser-assisted question-answering with human feedback》中提出的 WebGPT 將用于檢索文檔的網(wǎng)絡(luò)搜索與微調(diào) GPT 模型組合到了一起,目的是解答長(zhǎng)篇問(wèn)題以降低幻覺(jué),實(shí)現(xiàn)更好的事實(shí)準(zhǔn)確度。
該模型可通過(guò)一個(gè)基于文本的網(wǎng)絡(luò)瀏覽器與互聯(lián)網(wǎng)搜索交互,并學(xué)習(xí)使用參考網(wǎng)頁(yè)給出答案。在模型進(jìn)行瀏覽時(shí),它能采取的一個(gè)動(dòng)作是引用當(dāng)前頁(yè)面的摘錄。在執(zhí)行這個(gè)動(dòng)作時(shí),頁(yè)面標(biāo)題、域名和摘錄會(huì)被記錄下來(lái),以備之后用作參考。WebGPT 的核心是使用參考來(lái)輔助人類評(píng)價(jià)事實(shí)正確性。
首先,使用網(wǎng)絡(luò)瀏覽環(huán)境來(lái)回答問(wèn)題以便行為克隆,在人類演示上對(duì)模型進(jìn)行監(jiān)督式微調(diào)。收集模型對(duì)同一問(wèn)題生成的兩個(gè)答案(每個(gè)答案都有自己的一組參考),得到比較數(shù)據(jù),其中根據(jù)事實(shí)準(zhǔn)確度、連貫性和整體有用性評(píng)價(jià)答案。使用獎(jiǎng)勵(lì)模型來(lái)進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練和 best-of-n(n 中選最佳)拒絕采樣。相較之下,強(qiáng)化學(xué)習(xí)帶來(lái)的好處很小,使用拒絕采樣帶來(lái)的好處就更少了。
圖 24:相較于行為克?。˙C)方法,強(qiáng)化學(xué)習(xí)訓(xùn)練只能帶來(lái)少量提升,尤其是當(dāng)使用了 best-of-n 拒絕采樣時(shí)。
Menick et al. (2022) 在論文《Teaching language models to support answers with verified quotes》中提出的 GopherCite 與 WebGPT 非常類似,都使用了搜索引擎來(lái)創(chuàng)建支持材料以及教模型提供參考。
這兩種方法都使用了監(jiān)督式微調(diào)來(lái)進(jìn)行引導(dǎo),并且都使用了根據(jù)人類偏好的強(qiáng)化學(xué)習(xí)。但不同之處在于,WebGPT 依賴于人類演示來(lái)進(jìn)行行為克隆,而 GopherCite 則是通過(guò)少樣本提詞來(lái)生成演示,并且每一次生成都會(huì)使用相關(guān)文檔來(lái)填充上下文,然后使用獎(jiǎng)勵(lì)模型來(lái)評(píng)估哪個(gè)最好。
圖 25:使用重新排名的演示生成流程圖示。
為了避免響應(yīng)質(zhì)量低下,另一個(gè)技巧是對(duì)模型進(jìn)行配置,使之可通過(guò)預(yù)先設(shè)定的答案「我不知道」來(lái)拒絕回答,這可通過(guò)一個(gè)全局的獎(jiǎng)勵(lì)模型閾值來(lái)決定,也被稱為選擇性預(yù)測(cè)。
圖 26:對(duì)比偏好與人工編寫(xiě)的基線如果每邊都得到一半分?jǐn)?shù),則算作平局。
使用強(qiáng)化學(xué)習(xí)的實(shí)驗(yàn)結(jié)果與 WebGPT 類似,也就是說(shuō)在結(jié)合拒絕采樣時(shí),強(qiáng)化學(xué)習(xí)帶來(lái)的提升有限或沒(méi)有提升。
附錄:評(píng)估基準(zhǔn)
下面列出了本文提到的數(shù)據(jù)集:
TruthfulQA (Lin et al. 2021) 可以度量 LLM 生成誠(chéng)實(shí)響應(yīng)的優(yōu)劣程度。該基準(zhǔn)包含 817 個(gè)問(wèn)題,涵蓋醫(yī)療、法律、金融和政治等 38 個(gè)主題。
FactualityPrompt (Lee, et al. 2022) 基準(zhǔn)由事實(shí)和非事實(shí) prompt 構(gòu)成。其使用了維基百科文檔或句子作為知識(shí)庫(kù)的事實(shí)基礎(chǔ)。
SelfAware (Yin et al. 2023) 包含 5 大類的 1032 個(gè)不可解答問(wèn)題和 2337 個(gè)可解答問(wèn)題。不可解答問(wèn)題來(lái)自有人類標(biāo)注的網(wǎng)絡(luò)論壇,而可解答問(wèn)題則來(lái)自 SQuAD、HotpotQA 和 TriviaQA 并且是根據(jù)與不可解答問(wèn)題的文本相似度選取的。
LongFact (Wei et al. 2024) 可用于檢查長(zhǎng)篇生成事實(shí)性。其中包含 2280 個(gè)找尋事實(shí)的 prompt,可針對(duì) 38 個(gè)人工挑選的主題搜索長(zhǎng)篇響應(yīng)。
HaDes (Liu et al. 2021) 基準(zhǔn)是將幻覺(jué)檢測(cè)視為一個(gè)二元分類任務(wù)。該數(shù)據(jù)集是通過(guò)擾動(dòng)維基百科文本和人類標(biāo)注創(chuàng)建的。
FEVER(事實(shí)提取和驗(yàn)證)數(shù)據(jù)集包含 185,445 個(gè)陳述,其生成方式是修改從維基百科提取的句子,隨后在不知道它們?cè)醋阅膫€(gè)句子的情況下進(jìn)行驗(yàn)證。每個(gè)陳述都被分類為 Supported、Refuted 或 NotEnoughInfo。
FAVABench (Mishra et al. 2024) 是一個(gè)評(píng)估細(xì)粒度幻覺(jué)的基準(zhǔn)。其中有 200 個(gè)尋找信息的源 prompt,并且每個(gè) prompt 都有 3 個(gè)模型響應(yīng),所以總共有 600 個(gè)響應(yīng)。每個(gè)模型響應(yīng)都被人工標(biāo)注了細(xì)粒度的幻覺(jué)錯(cuò)誤類型標(biāo)簽。