論文 · arXiv 2005.14165
語言模型是少樣本學習者 (Language Models are Few-Shot Learners)
Language Models are Few-Shot Learners
三句話總結
- 🎯 標準 NLP 模型仰賴在數千個標註樣本上進行特定任務微調,面臨分布外泛化能力差的風險。
- 🔧 在 300B token 上訓練 GPT-3(最高達 175B 參數),並在沒有任何權重更新的情況下,使用情境提示條件進行評估。
- 📈 在少樣本設定下,GPT-3 175B 達到或接近微調模型的表現,在 TriviaQA 上達到 71.2%,在 LAMBADA 上達到 86.4% 準確率。
摘要
近期研究顯示,透過在大量文字語料庫上進行預訓練,接著在特定任務上進行微調,可在許多 NLP 任務與基準測試中取得顯著的進展。儘管此架構通常具備任務無關性,但該方法仍需要數千或數萬個樣本的任務特定微調資料集。相比之下,人類通常只需少數範例或簡單說明就能執行新的語言任務——這是目前的 NLP 系統在很大程度上仍難以做到的。在此我們證明,擴大語言模型規模能大幅提升任務無關的少樣本表現,有時甚至能達到與先前最先進微調方法相當的競爭力。具體而言,我們訓練了 GPT-3,這是一個擁有 1750 億參數的自迴歸語言模型,比以往任何非稀疏語言模型大 10 倍,並測試其在少樣本設定下的表現。在所有任務中,GPT-3 的應用皆不涉及任何梯度更新或微調,任務與少樣本範例純粹透過與模型的文字互動來指定。GPT-3 在眾多 NLP 資料集上取得了強大的表現,包括翻譯、問答與克漏字任務,以及數個需要即時推理或領域適應的任務,例如重組字母成詞、在句子中使用新單字或進行三位數算術。同時,我們也指出了一些 GPT-3 的少樣本學習仍難以應付的資料集,以及一些由於在大型網路語料庫上訓練而導致方法論問題的資料集。最後,我們發現 GPT-3 能生成人類評估者難以與人類撰寫文章區分的假新聞樣本。我們討論了這項發現以及 GPT-3 整體帶來的廣泛社會影響。
英文原文摘要
Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task. While typically task-agnostic in architecture, this method still requires task-specific fine-tuning datasets of thousands or tens of thousands of examples. By contrast, humans can generally perform a new language task from only a few examples or from simple instructions - something which current NLP systems still largely struggle to do. Here we show that scaling up language models greatly improves task-agnostic, few-shot performance, sometimes even reaching competitiveness with prior state-of-the-art fine-tuning approaches. Specifically, we train GPT-3, an autoregressive language model with 175 billion parameters, 10x more than any previous non-sparse language model, and test its performance in the few-shot setting. For all tasks, GPT-3 is applied without any gradient updates or fine-tuning, with tasks and few-shot demonstrations specified purely via text interaction with the model. GPT-3 achieves strong performance on many NLP datasets, including translation, question-answering, and cloze tasks, as well as several tasks that require on-the-fly reasoning or domain adaptation, such as unscrambling words, using a novel word in a sentence, or performing 3-digit arithmetic. At the same time, we also identify some datasets where GPT-3's few-shot learning still struggles, as well as some datasets where GPT-3 faces methodological issues related to training on large web corpora. Finally, we find that GPT-3 can generate samples of news articles which human evaluators have difficulty distinguishing from articles written by humans. We discuss broader societal impacts of this finding and of GPT-3 in general.
論文解讀
問題與動機
標準的「預訓練加微調」流程需要大量特定任務的標註資料集(通常為數千至數十萬個樣本)。這項要求限制了通用適用性,增加了對虛假關聯的易感性,且與人類僅憑指令或極少範例就能適應任務的學習方式大相逕庭。先前使用較小模型進行情境學習的嘗試,與微調相比落後幅度甚大。
核心概念
- 情境元學習 (In-Context Meta-Learning):模型在預訓練期間習得模式識別技能,並在測試時的正向傳播過程中於活化空間內執行任務適應,無需梯度更新。
- 條件化光譜:任務評估橫跨零樣本 (zero-shot,僅有指令)、單樣本 (one-shot,指令 + 一個範例) 與少樣本 (few-shot, 個範例,通常在 2048-token 視窗內為 10 到 100 個)。
- 可預測的擴展性:驗證損失的冪律經驗擴展法則轉化為橫跨 8 種模型規模(125M 至 175B 參數)的持續下游能力提升。
方法
GPT-3 採用與 GPT-2 相符的自迴歸 Transformer 架構,並加入交替的密集與局部帶狀稀疏注意力模式。模型在 3000 億個 token 上進行預訓練,有效上下文大小為 。
關鍵評估公式包括:
- 每-Token 補全似然 (Per-Token Completion Likelihood):對於多選題資料集,透過比較正規化後的 token 機率來評估候選補全文字。
- 無條件正規化 (Unconditional Normalization):在 ARC、OpenBookQA 和 RACE 等基準測試中,模型似然會針對無條件基準進行正規化:
其中 是通用的提示詞,例如
"Answer: "或"A: "。 - 生成解碼:自由形式補全任務使用束搜索 (beam search),束寬為 4,長度懲罰 。
結果
- 閉卷問答 (Closed-Book QA):GPT-3 175B 在 TriviaQA 上達到 71.2% 的少樣本表現(超越開放領域微調 RAG 的 68.0%),在 WebQuestions 上達到 41.5%,在 Natural Questions 上達到 29.9%。
- 語言模型與克漏字:在 PTB 上達到 20.5 的困惑度(零樣本)。在 LAMBADA 上,將任務構築為克漏字測驗可產生 86.4% 的少樣本準確率(高於先前 SOTA 18%)。
- 翻譯:英譯任務達到 39.2 BLEU (法 英)、40.6 BLEU (德 英) 和 39.5 BLEU (羅 英),優於先前的非監督式 NMT 基準線。
- 推理與綜合:在少樣本設定下,解決二位數加法的準確率為 100%,三位數加法為 80.4%。生成合成新聞文章,人類評估者區分真實文章的準確率僅為 52%(接近隨機猜測機率)。
限制與開放問題
- 弱項任務:在跨序列比較任務上表現掙扎,特別是自然語言推理(如 ANLI、RTE)和語境中詞義 (WiC 僅 49.4%,接近隨機猜測機率)。
- 結構限制:純自迴歸訓練阻礙了雙向條件化,這對需要回顧或重新閱讀整個序列的任務有害。
- 資料污染:大量的網路爬蟲導致訓練集與測試集重疊,必須進行事後的大規模 -gram 過濾審查(例如在 Winograd 和 PIQA 上)。
- 社會影響:網路規模的訓練吸收了顯著的性別、種族與宗教偏見,且生成的輸出可能被用於惡意文字生成。
關鍵術語
- in-context learning (情境學習)
- 內迴圈適應過程,預訓練模型在測試時純粹從自然語言指令和提示範例中推論並執行任務,無需進行梯度更新。
- few-shot (少樣本)
- 一種評估設定,模型在上下文視窗允許的範圍內接收儘可能多的示範範例(通常為 10 到 100 個)以及任務說明。
- one-shot (單樣本)
- 僅允許單一任務範例搭配自然語言任務說明的評估條件。
- zero-shot (零樣本)
- 一種評估設定,模型僅接收描述任務的自然語言指令,沒有任何示範範例。
- closed-book question answering (閉卷問答)
- 回答事實性問題時,僅仰賴存儲在模型參數中的知識,而在測試時無法存取外部文件或檢索系統。
- data contamination (資料污染)
- 下游評估基準測試、測試集或驗證集意外包含在廣泛的網路規模預訓練語料庫中的現象。
- sparse attention (稀疏注意力)
- 一種架構修改,將密集注意力層與局部帶狀稀疏注意力模式交替使用,以在長上下文之間平衡計算效率。
- unconditional normalization (無條件正規化)
- 將條件補全似然除以僅給定通用提示時該補全文字的機率,用於消除多選題任務中的長度與頻率偏差。
常見問題
完整的 GPT-3 模型有多少參數?它是如何訓練的?
GPT-3 擁有 1750 億個可訓練參數,跨越 96 層、96 個注意力頭,隱藏維度為 12,288。它在經過去重與過濾的 Common Crawl、WebText2、Books1、Books2 和 Wikipedia 上進行了 3000 億個 token 的訓練,使用 Adam 優化器於 Microsoft V100 GPU 叢集上進行。
GPT-3 在下游基準測試中是否使用微調?
否,論文中的所有主要結果均在沒有梯度更新或微調的情況下進行評估,純粹依賴零樣本、單樣本或少樣本的上下文提示。
人類辨識由 GPT-3 175B 生成的新聞文章有多容易?
人類評估者在區分較短(約 200 字)和較長(約 500 字)的 GPT-3 生成新聞文章與人類撰寫文章時,準確率約為 52%,這僅略高於隨機猜測機率(50%)。
GPT-3 在哪些任務上表現最吃力?
GPT-3 在自然語言推理任務(例如 ANLI 和 RTE)、雙向比較任務如 Word-in-Context(WiC,得分為 49.4%),以及某些閱讀理解任務(如 QuAC 和 RACE)上表現不佳。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。