最近,人們對大型語言模型所展現的強大能力(例如思維鏈[2]、便條本[3])產生了極大的興趣,並進行了許多工作。我們將之統稱為大模型的突現能力[4],這些能力可能[5] 只存在於大型模型中,而不存在於較小的模型中,因此稱為 「突現」。其中許多能力都非常令人印象深刻,例如複雜推理、知識推理和分佈外魯棒性,我們將在後面詳細討論。
值得注意的是,這些能力很接近NLP 社群幾十年來一直在尋求的能力,因此代表了一種潛在的研究範式轉變,即從微調小模型到使用大模型進行情境學習。對先行者來說,範式轉移可能是很顯然的。然而,出於科學的嚴謹性,我們確實需要非常明確的理由來說明為什麼人們應該轉向大型語言模型,即使這些模型昂貴[6]、難以使用[7 ],且效果可能一般[8]。 在本文中,我們將仔細研究這些能力是什麼,大型語言模型可以提供什麼,以及它們在更廣泛的 NLP / ML 任務中的潛在優勢是什麼。
原文鏈接:yaofu.notion.site/A-Closer-Look-at-Large-Language-Models-Emergent-Abilities-493876b55df5479d80686f68a1abd72f
前提:我們假設讀者俱備以下知識:
圖片來自於Wei. et. al. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models。 X 軸為模型大小。 GSM8K 是一個小學程度的數學問題集。
在以上的效果圖中,我們可以觀察模型的表現:
這從根本上說明,某些能力可能不存在於小模型中,而是在大模型中獲得的。
有許多種突現能力,例如 Wei 等人在 2022 年[9]所梳理的。有些能力很有意思,但我們在本文不會討論,例如把一串單字的最後一個字母拼起來,我們認為這是Python 而不是語言模型要做的任務;或者3 位數加法,我們認為這是計算器而不是語言模型要做的事。
在本文中,我們主要對以下能力感興趣:
1. NLP 社群近年來都關注,但之前的NLP模型很難達到的能力
2. 源自於人類語言最深層的本質的能力(能力的深度)
3.可能達到人類智力的最高水平的能力(能力的上限)
很多有意思的能力都可以歸到上在文所提到的類別裡,在它們之中,我們主要討論以下三種典型能力:
#####知識推理############分佈外魯棒性################接下來讓我們一個個詳細討論。 ######
复杂推理
下面是一个 GSM8K 数据集中,用提示词显著超过精调的例子:
虽然这道题对于 10 岁的孩子来说很容易,但对语言模型来说却很难,主要是由于数学和语言混合在一起。
GSM8K 最初由 OpenAI 于2021 年 10 月[10]提出。当时他们用第一版[11]GPT3 在全部训练集上进行了精调,准确率约为 35%。这个结果让作者相当悲观,因为他们的结果显示了语言模型的缩放规律:随着模型大小呈指数增长,性能呈线性增长(我之后会讨论)。因此,他们在第 4.1 节中思考:
“175B 模型似乎需要至少额外两个数量级的训练数据才能达到 80% 的求解率。”
三个月后,即2022 年 1 月,Wei 等人[12] 基于540BPaLM 模型,仅使用了 8 个思维链提示示例便将准确率提高到 56.6%(无需将训练集增加两个数量级)。之后在 2022 年 3 月,Wang 等人[13] 基于相同的 540B PaLM 模型,通过多数投票的方法将准确率提高到74.4%。当前的 SOTA 来自我自己在 AI2 的工作(Fu et. al. Nov 2022[14]),我们通过使用复杂的思维链在 175B Codex 上实现了 82.9% 的准确率。从以上进展可以看到,技术进步确实呈指数级增长。
思维链提示是一个展示模型随着规模突现出能力的典型例子:
有些同学可能会认为模型能做小学数学代表不了什么(从某种意义上说,他们确实没有那么酷)。但 GSM8K 只是一个开始,最近的工作已经把前沿问题推向了高中[16]、大学[17],甚至是国际数学奥林匹克问题[18]。现在更酷了吗?
知识推理
下一个例子是需要知识的推理能力(例如问答和常识推理)。在这种情况下,对大型模型进行提示不一定优于精调小型模型(哪个模型更好还有待观察)。但是这个情况下的注释效率被放大了,因为:
熱點解讀:大模型的突發能力與ChatGPT引爆的典範轉移来自于 Yu et. al. 2022. 以前的 SOTA 模型需要从外部知识源中检索。GPT-3 的性能与以前的模型相当 / 优于以前的模型,且无需检索。
如表中所示,与数学题的例子不同,GPT-3 并没有明显优于之前的精调模型。但它不需要从外部文档中检索,本身就包含了知识[23]。
為了理解這些結果的重要性,我們可以回顧一下歷史:NLP 社群從一開始就面臨著如何有效編碼知識的挑戰。人們一直在不斷探究把知識保存在模型外在或內在的方法。自上世紀九十年代以來,人們一直試圖將語言和世界的規則記錄到一個巨大的圖書館中,將知識儲存在模型之外。但這是十分困難的,畢竟我們無法窮舉所有規則。因此,研究人員開始建構特定領域的知識庫,來儲存非結構化文本、半結構化(如維基百科)或完全結構化(如知識圖譜)等形式的知識。通常,結構化知識很難建構(因為要設計知識的結構體系),但易於推理(因為有體系結構),非結構化知識易於建構(直接存起來就行),但很難用於推理(沒有體系結構)。然而,語言模型提供了一種新的方法,可以輕鬆地從非結構化文字中提取知識,並在不需要預定義模式的情況下有效地根據知識進行推理。下表為優缺點比較:
#分佈外穩健性
我們討論的第三種能力是分佈外的穩健性。在2018 年至2022 年期間,NLP、CV 和通用機器學習領域有大量關於分佈偏移/ 對抗穩健性/ 組合生成的研究,人們發現當測試集分佈與訓練分佈不同時,模型的行為表現可能會顯著下降。然而,在大型語言模型的脈絡學習中似乎並非如此。 Si 等人[24] 在2022 年的研究顯示:
##資料來自Si et. al. 2022. 雖然GPT-3 在同分佈設定下比RoBERTa 差,但在非同分佈設定下優於RoBERTa,效能下降明顯更小。
同樣,在此實驗中,同分佈情況下基於提示詞的 GPT-3 的效果並沒有精調後的 RoBERTa 要好。但它在三個其他分佈(領域切換、噪音和對抗性擾動)中優於 RoBERTa,這意味著 GPT3 更加穩健。
此外,即使有分佈偏移,好的提示詞所帶來的泛化表現仍持續維持。例如:
圖片來自於Fu et. al. 2022. 即使測試分佈與訓練分佈不同,複雜提示也總是比簡單提示的表現較好。
Fu 等人 2022 年[25] 的研究顯示,輸入提示越複雜,模型的表現越好。這種趨勢在分佈轉移的情況下也會持續保持:無論測試分佈與原分佈不同、來自於雜訊分佈,或是從另一個分佈轉移而來的,複雜提示始終優於簡單提示。
到目前為止的總結
#在上文中,我討論了只有大型模型才有的三種突現能力。它們是:
鉴于上文列出的优点,大家可能会开始觉得大型语言模型确实很好了。在进一步讨论之前,让我们再回顾一下之前的工作,就会发现一个很奇怪的问题:GPT-3 在 2020 年就发布了,但为什么直到现在我们才发现并开始思考范式的转变?
这个问题的答案就藏在两种曲线中:对数线性曲线和相变曲线。如下图:
左图:比例定律。当模型大小呈指数增长时,相应的模型性能呈线性增长。右图:当模型尺寸达到一定规模时,会出现突现能力,让性能急剧增加。
最初,(OpenAI)的研究者认为语言模型的性能与模型尺寸的关系可以通过对数线性曲线预测,即模型尺寸呈指数增长时,性能会随之线性增加。这种现象被称为语言模型的缩放定律,正如 Kaplan 等人在 2020 年[26] 最初[27] 的 GPT3 文章中讨论的那样。重要的是,在那个阶段,即便最大的 GPT-3 在有提示的情况下也不能胜过小模型精调。所以当时并没有必要去使用昂贵的大模型(即使提示词的标注效率很高)。直到 2021 年,Cobbe 等人[28] 发现缩放定律同样适用于精调。这是一个有点悲观的发现,因为它意味着我们可能被锁定在模型规模上 —— 虽然模型架构优化可能会在一定程度上提高模型性能,但效果仍会被锁定在一个区间内(对应模型规模),很难有更显著的突破。
在缩放定律的掌控下(2020 年到 2021),由于 GPT-3 无法胜过精调 T5-11B,同时 T5-11B 微调已经很麻烦了,所以 NLP 社区的关注点更多的是研究更小的模型或者高效参数适应。Prefix tuning[29] 就是提示和适应交叉的一个例子,后来由 He 等人[30] 在 2021 统一。当时的逻辑很简单:如果精调效果更好,我们就应该在高效参数适应上多下功夫;如果提示词的方法更好,我们应该在训练大型语言模型上投入更多精力。
之后在 2022 年 1 月,思维链的工作被放出来了。正如作者所展示的那样,思维链提示在性能 - 比例曲线中表现出明显的相变。当模型尺寸足够大时,性能会显著提高并明显超越比例曲线。
当使用思维链进行提示时,大模型在复杂推理上的表现明显优于微调,在知识推理上的表现也很有竞争力,并且分布鲁棒性也存在一定的潜力。要达到这样的效果只需要 8 个左右的示例,这就是为什么范式可能会转变(注:本文完成于 ChatGPT 上线之前的一个月;在 ChatGPT 上线之后,整个领域为之震撼,意识到范式已经转变了)。
范式转变究竟意味着什么?下面我们给出精调和提示词方法的对比:
提示詞的好處很明顯:我們不再需要繁瑣的資料標註和在全量資料上進行精調,只需要編寫提示詞並獲得滿足要求的結果,這比精調要快很多。
另外要注意的兩點是:
上下文學習是監督學習嗎?
上下文學習真的比監督學習效果好嗎?
再回顧前文提到的的邏輯:如果精調更好,我們應該努力研究如何進行參數高效的優化;如果提示詞更好,我們應該努力去訓練更好的大型語言模式。
所以,儘管我們相信大型語言模型有巨大的潛力,仍然沒有確鑿的證據表明精調和提示詞哪種方法更好,因此我們不確定範式是否真的應該轉變、或應該轉變到什麼程度。仔細比較這兩種範式,使我們對未來有一個清晰的認識,是非常有意義的。我們將更多討論留到下一篇文章。
兩個數字:62B 和 175B。
62B 這個數字來自於Chung 等人2022 年[31] 工作的第五張表:
#對於所有小於62B 的模型,直接用提示詞都比思維鏈好。 第一個用思考鏈更好的模型是 Flan-cont-PaLM 62B 在 BBH 上的結果。 540B 的模型使用思維鏈會在更多任務上得到好的效果,但也不是全部任務都比精調好。另外,理想的尺寸可以小於 540B,在 Suzgun 等人 2022 年[32]的工作中,作者展示了 175B 的 InstructGPT 和 175B 的 Codex 使用思維鏈都好於直接用提示詞。綜合以上結果,我們得到了 63B 和 175B 兩個數字。所以,如果想要參與這場遊戲,首先要有一個大於平均尺寸的模型。
不過,還有其他大型模型在思維鏈下的表現差了很多,甚至不能學到思維鏈,例如 OPT、BLOOM 和 GPT-3 的第一個版本。他們的尺寸都是 175B。這就引出了我們下一個要討論的問題。
不是。
規模是一個必要但不充分的因素。有些模型夠大(例如 OPT 和 BLOOM,都是 175B),但不能做思維鏈。
有兩種模型[33] 可以做思維鏈:
為什麼會有突現能力目前還不清楚,但我們找出了一下可能產生突現能力的因素:
然而,所有這些因素在現階段都是推測。揭示如何訓練才能讓模型產生突現能力是非常有意義的,我們將更多討論留到#下一篇文章。
在本文中,我們仔細研究了語言模型的突現能力。我們強調了複雜推理、知識推理和分佈外魯棒性的重要性和其中存在的機會。突現能力是非常令人興奮的,因為它們可以超越比例定律,並在比例曲線中表現出相變。我們詳細討論了研究範式是否會真的從精調轉向上下文學習,但我們目前還沒有確切答案,因為精調和上下文學習在分佈內、分佈外場景下的效果仍有待對比。最後,我們討論了產生突現能力的三個潛在因素:指令精調、程式碼精調和思維鏈精調。非常歡迎大家提出建議與討論。
另外我們也提到了兩個尚未討論的有趣問題:
對於這兩個問題,我們會在#之後的文章中進行討論。
以上是熱點解讀:大模型的突發能力與ChatGPT引爆的典範轉移的詳細內容。更多資訊請關注PHP中文網其他相關文章!