來源:量子位元
大模型的幻覺問題,又有新的解決方法了
Meta AI實驗室提出了一種「分而治之」的解決方案。
有了這個方案,Llama-65B輸出的資訊準確率提升了一倍,甚至超過了ChatGPT。
所謂大模型幻覺,就是輸出一些看似合理但完全不對的內容。
Meta這次提出的「驗證鏈」(CoVe),是與「思維鏈」(CoT)相似的一種鍊式方法。
差別在於,「step-by-step」的思考鏈更著重於邏輯推理,而驗證鏈更注重事實資訊。
有網友看了之後發現,這個驗證鏈很像是自己用ChatGPT寫程式碼時的科學方法:
那麼「驗證鏈」究竟是個什麼方法,「驗證」的又是什麼呢?
拆解答案,分而治之
驗證鏈的核心思想,是把要驗證的一大段內容,拆解成一個小的問題,具體流程是這樣的:
首先,模型會根據使用者提出的問題照常產生回應。
接著,根據產生的回應內容,針對其中的各項訊息,產生一系列的驗證問題。
然後讓模型自行回答其所提出的這些問題,並根據結果對初始答案進行調整,得到最終結果。
舉個簡單的例子,假如想詢問模型19世紀美墨戰爭的主要原因是什麼。
模型回答了事件發生的時間,以及在這之前都發生了什麼事。
之後針對這一系列事件,逐一詢問它們是什麼時候發生的。
於是,模型發現自己提到的一項內容時間相差太遠,調整後給出了最終的答案。
其中,問題的產生與驗證是最關鍵的一環,對此,研究人員一共提出了四種具體的方式:
Joint,即將產生問題和回答的指令寫入同一段提示詞2-Step,即先讓模型生成提問,然後開啟新的對話(一次性)回答提出的問題Factored,在2-Step的基礎上,對提出的每個問題分別開啟新對話Factor+Revise,在Factored的基礎之上加入一致性檢驗,讓模型聚焦在前後不一致的內容
這四種模式越來越細化,準確率也越來越高。
△從紅色開始,四種顏色依序代表無CoVe、Joint、Factored和Factor+Revise
那為什麼拆分提問就能提高模型的準確性呢?
首先是因為拆解後的問題比整體任務容易,論述題變成了問答甚至選擇、判斷題,問題簡單了,準確率也就提升了。
此外,把問題分解可以讓模型真正重新思考,而不是重複重複錯誤答案。
那麼,驗證鏈方式的效果究竟如何呢?
資訊準確率超過ChatGPT
為了探究這個問題,研究人員用Llama進行了測試,測試任務一共有三項。
首先是資訊列舉,例如列舉出出生於某地、從事某行業的名人。
在這項任務中,研究人員一共測試了兩個資料集——簡單一些的Wikidata和從困難一些的Wiki-Category list(從維基百科中提取)。
結果發現,65B參數的Llama,在two-step模式的驗證鏈加持下,簡單問題的準確度從0.17提升到了0.36,增加了一倍還多,複雜問題準確度也接近翻倍。
接下來是「閉域問答」題,研究人員從MultiSpanQA資料中心化抽取多個不連續資訊進行挖空提問。
例如「誰在哪一年創立了世界上第一家出版社」(答案是Johannes Gutenberg, 1450)。
結果,Cove也為Llama帶來了20%左右的準確度提升。
第三項任務是“長段文本傳記生成”,問題就是“Tell me a bio of (人名)”,使用FactScore資料集進行評估。
結果在Factor+Reviese模式下,準確率不僅比無驗證鏈模式大幅提高,也超過了ChatGPT。
對這項研究有興趣的朋友,可以到論文中了解更多細節。
論文地址:
https://arxiv.org/abs/2309.11495
資訊來源:由0x資訊編譯自8BTC。版權所有,未經許可,不得轉載