前段時間,OpenAI宣佈了他們的語言模型(LM)的新繼承者GPT-3。
這是迄今為止訓練的最大模型,有1750億個引數。
雖然培訓這個大模型有它的優點,但閱讀72頁的大部分內容可能會令人厭煩。
在這篇博文中,我將重點介紹我發現對熟悉LMs的人來說有趣的部分,他們只想知道(大部分)這項工作的要點。
語言模型是什麼?
“該模型在零鏡頭設定下能夠執行的任務的多樣性表明,受過訓練的高容量模型能夠最大限度地利用各種文字語料庫,從而開始學習如何在不需要明確監督的情況下執行數量驚人的任務。”
這是GPT-2隨附論文的節選。GPT-3在這條道路上又邁出了一步。
更具體地說,作者指出了使用特定於任務的資料集進行微調的缺點。
- 獲取這些資料集很困難。
- 微調允許模型利用虛假相關性,這會導致糟糕的分佈外效能。
- 自然語言的簡短指令通常足以讓人類理解給定的任務。這種適應性是NLP系統所期望的特性。
作者選擇的路徑是“上下文學習”(in-context learning)——向模型提供一個任務說明(prompt)和/或任務的一些演示作為字首,將其引導到與給定任務相關的潛在空間中的子空間。
這是基於這樣一個假設:該模型在訓練時發展出一套廣泛的技能和模式識別能力,然後在推理時利用這些能力來快速適應或識別所需的任務。
人們普遍認為低複雜度與下游任務的效能相關,因此人們可以希望更大的模型能夠產生更好的上下文能力。事實上,這一點是正確的,如下圖所示,測試一個簡單的任務,要求模型從單詞中移除隨機符號:
上下文示例的數量在10到100之間變化,因為模型的上下文大小為2048時通常允許這樣做。當例項數較少時,提示(任務說明)起著重要作用。
作者測試了許多著名的基準測試,但是首先讓我們檢查一下模型規範。
重物吊裝
GPT-3由類似於GPT-2的基於轉換器的架構組成,包括其中描述的修改的初始化、預規範化和可逆標記化,除了它在轉換器層中使用交替密集和區域性帶狀稀疏注意模式,類似於稀疏變換器。
作者訓練了幾個模型大小,從1.25億個引數到1.75億個引數,以測量模型大小和基準效能之間的相關性。
給我看看你的資料,我就告訴你你的未來
作者採取了三個步驟來提高資料集的平均質量:
- 他們根據與一系列高質量參考語料庫的相似性,下載並過濾了一個版本的CommonCrawl。
- 他們執行模糊重複資料消除,以防止冗餘並保持保留的驗證集的完整性。
- 他們在訓練組合中加入了知名的高質量語料庫。
在下一張圖中,我們可以看到LMs的power-law仍然成立:
為了測試預先訓練的驗證損失是否與下游任務效能相關,作者透過在上下文中從訓練集中輸入K個示例來評估來自測試集的一個示例來評估一個已知NLP基準的詳盡列表。
語言建模
由於訓練資料中包含了大量與語言建模相關的複雜資料集,PTB由於早於現代網際網路而避免了這一問題,GPT-3則設定了一個新的SOTA。
LAMBADA
在這個任務中,模型必須預測給定句子的最後一個單詞。最近有人認為,LMs規模的持續擴大,在這一艱難的基準上,收益正在遞減。然而,GPT-3在零炮設定下達到了76%的準確率,比之前的SOTA提高了8%。
在“少數鏡頭”設定中,任務可以被框架為完形填空任務(填空),使模型更容易理解只需要一個單詞。這產生了86.4%的準確率。
閉卷答疑
在這項任務中,GPT-3優於SOTA,它不僅對任務進行微調,而且使用資訊檢索元件來檢索可能包含答案的文字片段。LMs繼續吸收知識的能力也在增加。
SuperGLUE
GPT-3在一些需要比較兩個句子的任務中顯得很弱,包括確定一個詞在兩個句子中的用法是否相同,一個句子是否是另一個句子的釋義,或者一個句子是否暗示另一個句子。
新聞文章生成
作者要求人類評價者區分人類和機器生成的新聞文章。隨著模型尺寸的增加,儘管每篇新聞文章的時間投入增加,參與者的準確度得分卻較低。這支援了一個發現,即較大的模型生成更難區分的新聞文章。
學校裡有很多的記憶
準確地檢測來自網際網路規模的資料集的測試汙染是一個新的研究領域,沒有既定的最佳實踐。隨著模型容量的增加,記憶的風險增加。大體上,作者刪除了與測試集有重疊的文件。但是,由於一個bug,這個程式有剩餘的。他們試圖評估損失,但似乎模型無法記憶,(大部分)結果是有效的。
侷限性
雖然GPT-3在質量上比它的前輩更好,但是它的文字合成能力仍然存在我們從其他LMs中所熟悉的弱點,例如重複、足夠長的段落中的連貫性損失和矛盾。
此外,在一些任務中GPT-3失敗得很慘。這可能是由於選擇使用自迴歸LM,而不是合併雙向資訊(類似於Bert)。雖然自迴歸LMs的上下文學習更直接,但是雙向模型在微調後更適合於下游任務。最後,在GPT-3的規模上訓練一個雙向的模型,或者嘗試用少量的shot學習來實現雙向模型的工作,是一個很有前途的研究方向。
一個更基本的限制是自迴歸(和雙向)模型可能最終會遇到(或可能已經遇到)預訓練目標的限制。更好地完成任務,例如,瞭解什麼是最重要的預測(如實體),可能對模型有利。把模型建立在其他經驗領域,比如影片或真實世界的物理互動,也可能會起到推動作用。
一個表明預訓練任務不是最優的證據是樣本效率:GPT-3在訓練前看到的文字比人類在一生中看到的要多得多。提高訓練前樣本的效率是未來工作的一個重要方向,可能來自於在物理世界中提供額外資訊的基礎,或者來自演算法改進。
此外,對於自我監督的目標,任務規範依賴於將期望的任務強制到一個預測問題中,而最終,有用的語言系統(例如虛擬助手)可能更好地被認為是採取目標導向的行動,而不僅僅是做出預測。
GPT-3中與少鏡頭學習相關的另一個侷限性,或者至少是不確定性,是不確定的是,在推理時,少鏡頭學習是否真的“從頭開始”學習新的任務,或者僅僅識別和識別在訓練過程中學過的任務。
最後值得注意的一點是,模型的大小帶來了實際的不便。蒸餾是一個有趣的方向,它還沒有在這個規模上嘗試過。