摘要
一個一直以來的共識是,模型的規模越大,模型在下游任務上的能力越多、越強。隨著最近的新的模型的提出,大規模的語言模型出現了很多超乎研究者意料的能力。我們針對這些在小模型上沒有出現,但是在大模型上出現的不可預測的能力——“涌現能力”做了一些歸納和總結,分別簡要介紹了涌現能力的定義、常見的激發手段和具體的分類和任務。
縮放法則(Scaling Law)
Kaplan J等人[1]在 2020 年提出縮放法則,給出的結論之一是:模型的性能強烈依賴于模型的規模,具體包括:參數數量、數據集大小和計算量,最后的模型的效果(圖中表現為loss值降低)會隨著三者的指數增加而線性提高(對于單個變量的研究基于另外兩個變量不存在瓶頸)。這意味著模型的能力是可以根據這三個變量估計的,提高模型參數量,擴大數據集規模都可以使得模型的性能可預測地提高。Cobbe等人[2]的工作提出縮放定律同樣適用于微調過程。
圖1:Loss值隨計算資源、數據規模大小和參數量的指數提升呈線性下降
縮放定律的一個重要作用就是預測模型的性能,但是隨著規模的擴大,模型的能力在不同的任務上并不總表現出相似的規律。在很多知識密集型任務上,隨著模型規模的不斷增長,模型在下游任務上的效果也不斷增加;但是在其他的復雜任務上(例如邏輯推理、數學推理或其他需要多步驟的復雜任務),當模型小于某一個規模時,模型的性能接近隨機;當規模超過某個臨界的閾值時,性能會顯著提高到高于隨機(如下圖所示)。這種無法通過小規模模型的實驗結果觀察到的相變,我們稱之為“涌現能力”。
涌現能力的概述
涌現能力的定義
在其他的學科中已經有很多與“涌現能力”相關的研究了,不同學科解釋的方式和角度也不盡相同。物理學中對“涌現能力”的定義[3]是:
當系統的量變導致行為的質變的現象(Emergence is when quantitative changes in a system result in qualitative changes in behavior)。
對于大規模語言模型的涌現能力,在 Jason Wei 等人的工作中[4]的工作中,給出的定義:
在小模型中沒有表現出來,但是在大模型中變現出來的能力"(An ability is emergent if it is not present in smaller models but is present in larger models.)。
涌現能力大概可以分為兩種:通過提示就可以激發的涌現能力和使用經過特殊設計的prompt激發出的新的能力。
基于普通提示的涌現能力
通過 prompt 激發大模型能力的方法最早在GPT3[5]的論文中提出提示范式的部分加以介紹:給定一個提示(例如一段自然語言指令),模型能夠在不更新參數的情況下給出回復。在此基礎上,Brown等在同一篇工作中提出了Few-shot prompt,在提示里加入輸入輸出實例,然后讓模型完成推理過程。這一流程與下游任務規定的輸入輸出完全相同,完成任務的過程中不存在其他的中間過程。
下圖展示了來自不同的工作的對于大模型的在few-shot下測試結果。其中,橫坐標為模型訓練的預訓練規模(FLOPs:floating point operations,浮點運算數。一個模型的訓練規模不僅和參數有關,也和數據多少、訓練輪數有關,因此用FLOPs綜合地表示一個模型的規模);縱軸為下游任務的表現。可以發現,當模型規模在一定范圍內時(大多FLOPs在10^22以內),模型的能力并沒有隨著模型規模的提升而提高;當模型超過一個臨界值時,效果會馬上提升,而且這種提升和模型的結構并沒有明顯的關系。
圖2:在普通prompt方式下,不同任務上的效果隨模型訓練的計算量的提升的變化
基于增強提示的激發方法
隨著對大規模語言模型的研究越來越深入,為大模型添加prompt的方式也越來越多,主要表現出的一個趨勢是,相比于普通的 few-shot 模式(只有輸入輸出)的 prompt 方式,新的方法會讓模型在完成任務的過程中擁有更多的中間過程,例如一些典型的方法:思維鏈(Chain of Thought)[6]、寄存器(Scratchpad)[7]等等,通過細化模型的推理過程,提高模型的下游任務的效果。
下圖展示了各種增強提示的方法對于模型的作用效果,具體的任務類型包括數學問題、指令恢復、數值運算和模型校準,橫軸為訓練規模,縱軸為下游任務的評價方式。與上圖類似,在一定的規模以上,模型的能力才隨著模型的規模突然提高;在這個閾值以下的現象則不太明顯。當然,在這一部分,不同的任務采用的激發方式不同,模型表現出的能力也不盡相同,我們會在下文分類介紹。
圖3:在增強的prompt方式下,一些復雜任務的效果隨模型訓練的計算量提升而提升
不同的涌現能力的介紹
在這一部分,我們并沒有沿用Jason Wei 等人[4]的工作中以使用方法分類的脈絡,因為同一種方式激發出的能力可能能應用于多個任務,多種激發方式也可能只是不同程度地提升同種能力;我們采用Yao等人[8]的方式,從能力出發,對不同的方法激發出的能力和激發效果進行總結。
優秀的上下文學習能力
大規模的語言模型展現出了優秀的上下文學習能力(In-context learning)。這種能力并非大模型專屬,但是大模型的足夠強大的上下文學習能力是之后各種涌現能力激發的基礎。類似于無監督的預測,在上下文學習過程中,不需要對模型進行參數調整,只需要在輸入測試樣例之前輸入少量帶有標注的數據,模型就可以預測出測試樣例的答案。
有關上下文學習的能力來源仍然有很多討論。在 Min等人[9]的實驗中,分析了上下文學習能力的作用原理。實驗表明,上下文學習的過程中,prompt中的ground truth信息并不重要,重要的是prompt中實例的形式,以及輸入空間與標簽空間是否與測試數據一致。Xie 等人的工作[10]將上下文學習的過程理解為一個貝葉斯推理的過程,在in-context learning的過程中,模型先基于prompt推測concept,然后基于concept和prompt生成output。在對多個樣例進行觀測的過程中,prompt中的數據會給concept提供“信號”(與預訓練過程中的相似之處)和“噪聲”(與預訓練過程分布差別較大之處),當信號大于噪聲時,模型就可以推理成功。
可觀的知識容量
在問答和常識推理任務上需要模型具有較好的知識推理能力,在這種情況下,對大型模型進行提示不一定優于精調小型模型。但是大模型擁有更高的標注效率,因為:
在許多數據集中,為了獲得所需的背景/常識知識,小模型需要一個外部語料庫/知識圖譜來檢索,或者需要通過多任務學習在增強的數據上進行訓練
對于大型語言模型,可以直接去掉檢索器,僅依賴模型的內部知識,且無需精調
圖4:之前的需要外部檢索的SOTA和GPT-3的性能對比
上表來自于 Yu等人[11]的工作。如表中所示,雖然在常識/開放域問答任務上GPT-3 并沒有明顯優于之前的精調模型,但它不需要從外部文檔中檢索,因為其本身就包含了知識。
為了理解這些結果的重要性,我們可以回顧一下NLP的發展歷史:NLP 社區從一開始就面對著如何有效編碼知識的挑戰。研究者們一直在不斷探索如何把知識保存在模型外部或者內部的方法。上世紀九十年代以來,研究者們一直試圖將語言和世界的規則記錄到一個巨大的圖書館中,將知識存儲在模型之外。但這是十分困難的,畢竟我們無法窮舉所有規則。因此,研究人員開始構建特定領域的知識庫,來存儲非結構化文本、半結構化(如維基百科)或完全結構化(如知識圖譜)等形式的知識。通常,結構化知識很難構建,但易于推理,非結構化知識易于構建,但很難用于推理。然而,語言模型提供了一種新的方法,可以輕松地從非結構化文本中提取知識,并在不需要預定義模式的情況下有效地根據知識進行推理。下表為優缺點對比:
構建 | 推理 | |
---|---|---|
結構化知識 | 難構建需要設計體系結構并解析 | 容易推理有用的結構已經定義好了 |
非結構化知識 | 容易構建只存儲文本即可 | 難推理需要抽取有用的結構 |
語言模型 | 容易構建在非結構化文本上訓練 | 容易推理使用提示詞即可 |
優秀的泛化性
在 2018 年至 2022 年期間,NLP、CV 和通用機器學習領域有大量關于分布偏移/對抗魯棒性/組合生成的研究,人們發現當測試集分布與訓練分布不同時,模型的行為性能可能會顯著下降。然而,在大型語言模型的上下文學習中似乎并非如此。
圖5: GPT-3的同分布和不同分布之間的對比,以及和RoBERTa的對比
上圖來自Si等人[12]在2022年的研究,在此實驗中,同分布情況下基于prompt的 GPT-3 的效果并沒有精調后的 RoBERTa要好。但它在三個其他分布(領域切換、噪聲和對抗性擾動)中優于 RoBERTa,這意味著 GPT3 更加魯棒。
圖6:不同復雜程度的提示在不同分布中對模型效果的影響
此外,即使存在分布偏移,好的提示詞所帶來的泛化性能依舊會繼續保持。比如Fu 等人[13]2022年的研究(上圖所示),輸入提示越復雜,模型的性能就越好。這種趨勢在分布轉移的情況下也會繼續保持:無論測試分布與原分布不同、來自于噪聲分布,或者是從另一個分布轉移而來的,復雜提示始終優于簡單提示。
復雜推理能力
復雜推理能力包含若干方面,如數學推理能力、代碼生成、腳本生成等等,以下的介紹我們以數學推理能力為例。數學推理的一個典型的數據集是GSM8K,其由8.5K個人工標注的高質量的小學數學問題組成。數據集的標注內容不僅包含最終結果,還包含得到結果的2~8個推理步驟。
在最開始的GPT3的論文中,對于這個任務的學習方式仍然是微調的方式,得到的結果基本符合縮放定律。作者在論文里得出一個結論:
175B的模型仍然需要兩個額外數量級的訓練數據才能達到80%的準確率。
但是在之后的工作中,通過其他的方式大大提高了該任務上的結果。Wei等人[6]通過思維鏈的方式,將540B的PaLM模型上的準確率提高到56.6%,這一過程并沒有微調,而是將8個提示示例作為prompt,通過few-shot的方式激發模型的推理能力。在此基礎上,Wang等人[14]通過多數投票的方式,將這一準確率提高到74.4%。Yao等人[15]提出Complexity-based Prompting,通過使用更復雜、推理步驟更多的樣例作為prompt,進一步提高模型的效果。在此之外,數據集的難度也越來越高:Chung等人[16]將測試范圍擴展到高中的各個學科;Minerva[17]的工作將測試范圍擴展到大學的各個學科;Jiang等人[18]進一步將測試范圍擴展到國際數學奧林匹克問題上。
我們看到,從涌現能力的角度講,模型在在達到一定規模后,用恰當的方式激發出的性能確實遠遠超過縮放法則所預測的效果;與此同時,各種方法都是few-shot或zero-shot的方式,需要的數據也更少。現在并沒有太多工作能夠直接對比在同樣的足夠大的模型上,微調和prompting的方式的性能差距;但是在下游任務數據集的規模往往遠小于模型充足訓練所需要的數據規模的情境下,利用prompting激發模型本來的能力確實能夠顯著提高效果,這也是目前大多數任務面臨的情況。
涌現能力是海市蜃樓?
在斯坦福大學最新的工作[19]中指出,大模型的涌現能力來自于其不連續的評價指標,這種不連續的評價指標導致了模型性能在到達一定程度后出現“大幅提升”。如果換成更為平滑的指標,我們會發現相對較小的模型的效果也并非停滯不前,規模在閾值以下的模型,隨著規模的提高,生成的內容也在逐漸靠近正確答案。
為了驗證這一觀點,斯坦福的研究人員做了兩組實驗,第一組是將NLP中不連續的非線性評價指標轉為連續的線性評價指標,結果如下圖所示,模型的涌現能力消失了(從圖2到下圖)。
圖7:不同類型指標下,不同規模的模型的性能對比。當換為更加平滑的指標后,小模型的性能也隨著規模擴大而逐步提高
第二組實驗是將CV任務中的連續指標轉換為了類似NLP中的不連續指標,結果如下圖所示,CV任務中也出現了涌現能力:
圖8:更換指標之后,cv任務中的模型規模與模型效果之間的關系。當換為不平滑指標后,cv任務中的模型也出現類似的“涌現能力”
因此LLM中的涌現能力到底是什么,又是如何出現的,依然值得研究者們研究。
結語
本文簡要介紹了涌現能力,具體包括涌現能力之前的縮放法則,涌現能力的定義,涌現能力的分類,還簡要介紹了不同涌現能力的典型激發方法。當然,歸根結底,“涌現能力”只是對一種現象的描述,而并非模型的某種真正的性質,關于其出現原因的研究也越來越多。現有的一些工作認為,模型的涌現能力的出現是和任務的評價目標的平滑程度相關的。在之后的工作中,更好的評級方式,更高的數據質量,更出乎人意料的prompt方式,都可能會更進一步提高模型的效果,并讓觀測到的效果得到更客觀的評價。
審核編輯 :李倩
-
寄存器
+關注
關注
31文章
5322瀏覽量
120022 -
模型
+關注
關注
1文章
3174瀏覽量
48720 -
語言模型
+關注
關注
0文章
508瀏覽量
10245
原文標題:摘要
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論