OpenAI談:大模型為什么會有幻覺?如何避免?
OpenAI上周發了一篇論文,重點聊了大家都挺感興趣的話題:為什么大模型會有幻覺?

評測缺陷
舉個例子:你現在參加一場考試,答對得1分,答錯或不答都是0分。
在這種規則下,最佳策略是什么? 應該是碰到完全不會的題目,蒙一個答案。因為蒙對了血賺,蒙錯了不虧。
這個模式正是今天絕大多數AI模型在面對的評測環境。
包括GPQA、MMLU-Pro、SWE-bench在內的眾多熱門評測基準,都是在用Binary Grading。
非對即錯,如果模型回復IDK (I Don't Know)這類表達不確定的回答,和錯誤的答案一樣,都會被判為0分。
所以,模型通過RLHF等后訓練,核心目標之一就是在這些基準上拿到高分。
為了最大化期望得分,模型會學到一個最優策略:永遠不要承認自己不知道,給出一個看起來最可能對的答案去賭那1分。
他們整理了一張表,幾乎所有我們熟悉的評測,都對IDK零分處理,甚至在WildBench的評分體系里,一個包含幻覺的還行的回答(5-6分)得分可能比一個誠實的IDK(3-4分)更高。

幻覺根源:預訓練的原罪與后訓練的放大
論文進一步從模型訓練的兩個階段,剖析了幻覺的來源。
預訓練階段
在預訓練階段,模型學習的是海量文本的統計規律。
論文通過證明,即使訓練數據完全正確,模型為了達到更好的Calibration,也必然會產生錯誤。
結論是:模型對那些在訓練數據中僅出現過一次的事實產生幻覺的概率,與這些事實在數據中的占比直接相關。
簡單來說,對于那些冷知識,模型天生就有一定的概率會猜錯。
這是統計規律決定的,無法避免。
后訓練階段
問題在后訓練階段被急劇放大了。RLHF等對齊技術,本意是讓模型變得更有用、更無害。但由于評測基準本身存在缺陷,對齊過程就變成了應試訓練。
在預訓練階段那些不確定的知識點上,選擇猜而不是不說,在MMLU、SWE-bench這些考試里得分更高。
于是,一個原本只是偶爾記岔的模型,被活活訓練成了一個習慣性撒謊的老油條。
最終,我們得到的就是一個在所有問題上都表現得無比自信,但實際上可能正在一本正經胡說八道的模型。

如何打破僵局?
既然問題出在評測的上,那么解決方案也要從規則入手。
論文給出了一個提議:改造現有評測,引入明確的置信度閾值和錯誤懲罰機制。
別再用簡單的0/1評分了,而是像某些更嚴格的考試一樣,明確告訴模型:
請只在你有超過75%把握時回答。因為答錯要倒扣3分(t/(1-t),這里t=0.75),答對得1分,回答我不知道得0分。”
在這種新規則下,模型的最佳策略就會發生改變。當它對一個答案的置信度低于75%時,最理性的選擇就是回答我不知道,因為猜的風險(-3分)遠大于潛在收益(+1分)。
最后
AI的幻覺問題,不止是技術問題,是一個由評測生態驅動的激勵機制問題。
上周五Qwen-max發布,全面吊打所有閉源模型。
現在的模型,幾乎都是跑分王。
我們又一次進入要靠實測體驗來判斷大模型能力的好壞的階段了。
本文轉載自??探索AGI??,作者:獼猴桃

















