我讓 GPT-3 和 Llama 學會一個簡單的知識:A 就是 B,然後反過來問 B 是什麽,結果發現 AI 回答的正确率竟然是零。
這是什麽道理?
近日,一個叫「逆轉詛咒」(Reversal Curse)的新概念成爲了 AI 圈熱議的話題,現在流行的所有大語言模型全部都中招了。面對簡單到不能再簡單的問題,它們的準确率不僅是接近爲零,而且看不出有增加正确率的可能性。
而且,研究人員發現,這個大 bug 與模型體量,問的問題什麽的都沒有關系。
我們說 AI 發展到預訓練大模型階段,終于看起來像是掌握了一點邏輯思維,結果這次卻像是被打回了原形。
圖 1:GPT-4 中的知識不一緻現象。GPT-4 正确給出了湯姆・克魯斯母親的名字(左)。然而當輸入母親的名字問兒子時,它卻無法檢索到「湯姆・克魯斯」(右)。新研究假設這種排序效應是由于逆轉詛咒造成的。根據「A 是 B」訓練的模型不會自動推斷「B 是 A」。
如果一個人知道了「奧拉夫・朔爾茨是聯邦德國第九任總理」這一事實,他們就可以正确回答「誰是德國第九任總理?」這個問題。這是一種基本的泛化形式,看起來平平無奇。
然而研究表明,當前 AI 領域裏火熱的自回歸語言模型無法以這種方式進行泛化。特别是,假設模型的訓練集包含諸如「Olaf Scholz was the ninth Chancellor of German」之類的句子,其中「Olaf Scholz」這個名字位于「the ninth Chancellor of German」的描述之前。然後,大模型可能會學會正确回答「奧拉夫・朔爾茨是誰?」(答案是:德國第九任總理)。但它無法回答「德國第九任總理是誰?」以及描述位于名稱之前的任何其他提示。
這就是我們稱之爲「逆轉詛咒」的排序效應的一個實例。如果模型 1 用「<name> is <description>」形式的句子(名稱後面有描述)進行訓練,那麽模型将不會自動預測相反方向的「<description> is <name> 」。特别的,如果大語言模型(LLM)以 <description> 爲條件,那麽模型 <name> 的可能性将不會高于随機基線。
所以說,大模型的推理,其實并不存在?一種觀點認爲,逆轉詛咒表明了 LLM 訓練過程中邏輯演繹的基本失敗。如果「A 是 B」(或等效地 "A=B")爲真,則從邏輯上看「B 是 A」遵循恒等關系的對稱性。傳統的知識圖譜尊重這種對稱性(Speer et al., 2017)。逆轉詛咒顯示出基本無法泛化到訓練數據之外。而且,這并不是 LLM 不理解邏輯推論就能解釋的。如果諸如 GPT-4 之類的 LLM 在其上下文窗口中給出「A 是 B」,那麽它可以很好地推斷出「B 是 A」。
雖然将逆轉詛咒與邏輯演繹聯系起來很有用,但它隻是對整體情況的簡化。我們目前還無法直接測試大模型在接受「A 是 B」訓練後是否推導出「B 是 A」。大模型在經過訓練之後可以預測人類會寫出的下一個單詞,而不是真實「應該有」的内容。因此,即使 LLM 推斷出「B 是 A」,在出現提示時也可能不會「告訴我們」。
然而,逆轉詛咒表明了元學習的失敗。「<description> is <name>」和「<name> is <description>」形式的句子經常在預訓練數據集中同時出現。如果前者出現在數據集中,則後者更有可能出現,這是因爲人類經常改變句子或段落中元素的順序。因此,一個好的元學習器會在訓練到「<name> is <description>」時增加「<description> is <name>」實例的概率。而從這個意義上說,自回歸 LLM 并不是好的元學習者。
逆轉詛咒引起了衆多 AI 研究者的注意,有人說,看起來 AI 毀滅人類隻是個幻想了。
也有人說,這意味着你的訓練數據和上下文内容在知識的泛化過程中發揮着至關重要的任務。
OpenAI 著名科學家 Andrej Karpathy 則表示,看起來 LLM 學到的知識比你我想象的要「零散」得多。我對此仍然沒有很好的直覺。他們在該事件的上下文窗口的特定「方向」中學習東西,而當我們向其他方向詢問時可能就不會概括了。這是一個奇怪的部分概括,在我看來,「逆轉詛咒」是一個特例。
引起争論的研究出自範德堡大學、紐約大學、牛津大學等機構之手。論文《 The Reversal Curse: LLMs trained on "A is B" fail to learn "B is A" 》:
論文鏈接:https://arxiv.org/abs/2309.12288
GitHub 鏈接:https://github.com/lukasberglund/reversal_curse
名字和描述颠倒一下,大模型就糊塗了
本文通過一系列對合成數據的微調實驗來證明 LLM 遭受了逆轉詛咒。如圖 2 所示,研究者首先在句式爲 <name> is < description >(例如 Daphne Barrington 是《穿越時空》的導演)的基礎上微調模型,結果表明當提示形式還是 <name> is < description > 句式時,模型能夠給出準确答案,但是換種提示,例如「誰導演了《穿越時空》」,模型回答錯誤。
事實上,就像圖 4 (實驗部分)所展示的,模型給出正确的名字和随機給出一個名字的對數概率都差不多。此外, 當測試順序從 <name> is < description > 變化到 < description > is < name >,錯誤率會增加。
如何避免逆轉詛咒,研究人員嘗試了以下方法:
嘗試不同系列、不同大小的模型;
微調數據集中既包含 <name> is < description > 句式,也包含 < description > is < name > 句式;
對每個 < name> is <description > 進行多重解釋,這有助于泛化;
将數據從 < name> is <description > 更改爲 < question>?<answer> 。
經過了一系列實驗,他們給出的初步證據證明:逆轉詛咒會影響最先進模型中的泛化能力(圖 1 和 B 部分)。他們用諸如「誰是湯姆・克魯斯的母親?」以及「Mary Lee Pfeiffer 的兒子是誰?」等 1000 個這類問題,在 GPT-4 上進行測試。結果發現在大多數情況下,模型正确回答了第一個問題(Who is ’ s parent),但不能正确回答第二個問題。本文假設這是因爲預訓練數據包含的父母在名人之前的排序示例較少(例如 Mary Lee Pfeiffer 的兒子是湯姆・克魯斯)導緻的。
實驗及結果
本文旨在測試在訓練中學習了「A is B」的自回歸語言模型 ( LLM ) 是否可以泛化到相反的形式「B is A」。
在第一項實驗中,本文創建了一個由 < name> is <description>(或相反)形式的文檔組成的數據集,其中的名稱和描述是虛構的。此外,該研究還使用 GPT-4 來生成成對的名字和描述。然後将這些數據對随機分配到三個子集:NameToDescription 、 DescriptionToName 以及兩者兼有。前兩個子集如圖 3 所示。
結果。在精确匹配評估上,當測試問題的順序和訓練數據匹配時,GPT-3-175B 獲得了較好的精确匹配準确率,結果如表 1。
具體來說,對于 DescriptionToName (例如 Abyssal Melodies 的作曲家是 Uriah Hawthorne),當給出包含描述的提示時(例如誰是 Abyssal Melodies 的作曲家),模型在檢索名字方面的準确率達到 96.7% 。對于 NameToDescription 中的事實,準确率較低,爲 50.0%。相反,當順序與訓練數據不匹配時,模型完全無法泛化,準确率接近 0%。
本文還進行了多項實驗,包括 GPT-3-350M(附錄 A.2)和 Llama-7B(附錄 A.4),結果表明,模型都遭受了逆轉詛咒。
在增加似然性評估中,分配給正确名字與随機名字的對數概率之間沒有可檢測到的差異。GPT-3 模型的平均對數概率如圖 4 所示。t-tests 和 Kolmogorov-Smirnov 測試均未能檢測到統計上的顯着差異。
圖 4:實驗 1,當順序颠倒時,模型無法增加正确名字的概率。該圖顯示了使用相關描述查詢模型時正确名稱(相對于随機名稱)的平均對數概率。
接下來,該研究又進行了第二項實驗。
在此實驗中,本文根據有關實際名人及其父母的事實來測試模型,其形式爲「A 的父母是 B」和「B 的孩子是 A」。該研究從 IMDB ( 2023 ) 收集了前 1000 位最受歡迎的名人列表,并用 GPT-4(OpenAI API)通過名人的名字查找他們的父母。GPT-4 能夠在 79% 的情況下識别名人的父母。
之後,對于每個 child-parent 對,該研究通過父母來查詢孩子。在此,GPT-4 的成功率僅爲 33%。圖 1 說明了這一現象。它表明 GPT-4 可以将 Mary Lee Pfeiffer 識别爲 Tom Cruise 的母親,但無法将 Tom Cruise 識别爲 Mary Lee Pfeiffer 的兒子。
此外,該研究還評估了 Llama-1 系列模型,該模型尚未進行微調。結果發現所有模型在識别父母方面比識别孩子方面要好得多,參見圖 5。
圖 5:實驗 2 中父母與孩子問題的排序逆轉效果。藍色條(左)顯示模型在查詢名人孩子時返回正确父母的概率;紅色條(右)顯示反問父母孩子的正确概率。Llama-1 模型的精度是正确完成的模型可能性。GPT-3.5-turbo 的準确度是每對子 - 父對 10 個樣本的平均值,在溫度 = 1 時采樣。注意:圖中省略了 GPT-4,因爲它用于生成子 - 父對列表,因此通過構造對「父」具有 100% 的準确度。GPT-4 在「子」上的得分爲 28%。
未來展望
如何解釋 LLM 中的逆轉詛咒?這可能需要等待未來人們的進一步研究。現在,研究人員隻能提供一個簡要的解釋草圖。當模型在「A is B」上更新時,此梯度更新可能會稍微改變 A 的表示,使其包含有關 B 的信息(例如,在中間 MLP 層中)。對于此梯度更新來說,改變 B 的表示以包含有關 A 的信息也是合理的。然而梯度更新是短視的,并且取決于給定 A 的 B 上的對數,而不是必須根據 B 來預測 A 未來。
在「逆轉詛咒」之後,研究人員計劃探索大模型是否能夠逆轉其他類型的關系,如邏輯含義、空間關系及 n-place 關系。