大模型的最大bug 回答正確率幾乎為零

我讓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 以「 is 」形式的句子(名稱後面有描述)進行訓練,那麼模型將不會自動預測相反方向的「 is 」。特別的,如果大語言模型(LLM)以為條件,那麼模型的可能性將不會高於隨機基線。

所以說,大模型的推理,其實不存在?一種觀點認為,逆轉詛咒顯示了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”,在出現提示時也可能不會“告訴我們”。

然而,逆轉詛咒顯示了元學習的失敗。 「 is 」和「 is 」形式的句子經常在預訓練資料集中同時出現。如果前者出現在資料集中,則後者更有可能出現,這是因為人類經常改變句子或段落中元素的順序。因此,一個好的元學習器會在訓練到「 is 」時增加「 is 」實例的機率。而從這個意義上來說,自回歸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 所示,研究者首先在句式為is (例如Daphne Barrington 是《穿越時空》的導演)的基礎上微調模型,結果顯示當提示形式還是is 句式時,模型能夠給出準確答案,但是換種提示,例如“誰導演了《穿越時空》”,模型回答錯誤。

事實上,就像圖4 (實驗部分)所展示的,模型給出正確的名字和隨機給出一個名字的對數機率都差不多。此外, 當測試順序從is 變化到is ,錯誤率會增加。

如何避免逆轉詛咒,研究人員嘗試了以下方法:

  • 嘗試不同系列、不同大小的模型;

  • 微調資料集中既包含is 句式,也包含is 句式;

  • 對每個is 進行多重解釋,這有助於泛化;

  • 將資料從is 更改為? 。

經過了一系列實驗,他們給出的初步證據證明:逆轉詛咒會影響最先進模型中的泛化能力(圖1 和B 部分)。他們用諸如「誰是湯姆克魯斯的母親?」以及「Mary Lee Pfeiffer 的兒子是誰?」等1000 個這類問題,在GPT-4 上進行測試。結果發現在大多數情況下,模型正確回答了第一個問題(Who is ‘s parent),但不能正確回答第二個問題。本文假設這是因為預訓練資料包含的父母在名人之前的排序範例較少(例如Mary Lee Pfeiffer 的兒子是湯姆·克魯斯)導致的。

實驗及結果

本文旨在測試在訓練中學習了「A is B」的自回歸語言模型(LLM)是否可以泛化到相反的形式「B is A」。

在第一項實驗中,本文創建了一個由is (或相反)形式的文檔組成的資料集,其中的名稱和描述是虛構的。此外,研究也使用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 關係。

Total
0
Shares
Related Posts