單純的事實錯誤
最普通的失效,就是日常的事實錯誤:寫錯日期、把引文張冠李戴、宣稱某種化學物質會以它根本不會的方式反應。這類錯誤最容易出現在知識的長尾上——冷門人物、近期事件、小眾的技術細節——這些地方的訓練資料稀薄或彼此矛盾,模型從未形成可靠的記憶。對熱門、被大量重複的事實,模型通常很穩;危險地帶是那些具體而罕見的東西。
一個微妙的陷阱是:錯誤往往聚集在那些看起來應該能被記住的事物上。人們會假設一個能寫出無瑕程式碼的模型,肯定知道一個簡單的出生年份——但寫程式的能力與瑣事的回想是兩種不同的能力,在其中一項上流暢,並不能說明它在另一項上的準確度。
捏造引註:最具迷惑性的失效
在所有幻覺中,捏造引註對信任的傷害最大,因為引註本應是「編造」的解藥。當你要求提供來源,模型可能生出一條格式完美的參考文獻:聽起來真實的作者、看似可信的期刊、漂亮的卷期與頁碼範圍,甚至一個 DOI——全是杜撰的。原因仍是那套「預測下一個詞元」的邏輯:模型對引註之形式的學習,遠比對任何特定論文之內容的學習來得徹底,於是它生成一個有說服力的空殼,裡面卻什麼都沒有。
結構性的修正,是別再要求模型「從記憶中回想來源」,而是讓它依據你提供的真實文件來作答——這正是將答案紮根於檢索到的文字,以及附上指向那些文字的引註背後的構想。紮根能大幅降低捏造,但無法根除:模型仍可能誤讀真實文件、或過度推論,因此引註必須指向你能實際查證的文字。
一條先檢索文件、再將其送入模型生成答案的流水線。
已經過時的知識
即使是一個完全準確的模型,也被凍結在時間裡。它的權重編碼的是訓練資料截止時的世界,因此凡是發生在它知識截止(knowledge cutoff)之後的事,對它都是隱形的——新法律、新產品發表、選舉結果、任何東西的當前價格。這就是知識過時(knowledge staleness),它之所以危險,正是因為模型會用回答「已成定論的歷史」時那種同樣自信的語氣,來回答關於「現在」的問題。
- 問模型它的知識到何時為止——但要謹慎看待答案,因為它自報的截止點本身有時也是錯的。
- 對任何具時效性的事,優先採用「即時檢索資訊」的設定,而非依賴模型的記憶。
- 對模型輸出中「截至今日」這類措辭要格外警惕——它沒有時鐘,是在猜測當下。
為何你無法從語氣讀出可信度
這三種失效都帶有上一篇談到的自信犯錯特徵:措辭本身完全不會告訴你哪些句子是堅實的、哪些只是搭起來的鷹架。是有一些局部訊號——你可以檢視模型的詞元層級機率,某段低機率的爆發有時會標示出不穩的地方——但這很雜訊、也很容易被過度信任。更可靠的直覺是按類別判斷:事實、數字、人名、參考文獻,正是最可能被虛構的那類輸出,所以預設就要去查證它們。
每個詞元都由 softmax 機率選出——流暢的措辭反映的是高詞元機率,而非事實真相,所以自信的語氣什麼也說明不了。