為什么仿佛一夜之間,自然語言處理(NLP)領域就突然突飛猛進,摸到了通用人工智能的門檻?如今的大語言模型(LLM)發展到了什么程度?未來短時間內,AGI 的發展路線又將如何?
自 20 世紀 50 年代圖靈測試提出以來,人們始終在探索機器處理語言智能的能力。語言本質上是一個錯綜復雜的人類表達系統,受到語法規則的約束。因此,開發能夠理解和精通語言的強大 AI 算法面臨著巨大挑戰。過去二十年,語言建模方法被廣泛用于語言理解和生成,包括統計語言模型和神經語言模型。
近些年,研究人員通過在大規模語料庫上預訓練 Transformer 模型產生了預訓練語言模型(PLMs),并在解決各類 NLP 任務上展現出了強大的能力。并且研究人員發現模型縮放可以帶來性能提升,因此他們通過將模型規模增大進一步研究縮放的效果。有趣的是,當參數規模超過一定水平時,這個更大的語言模型實現了顯著的性能提升,并出現了小模型中不存在的能力,比如上下文學習。為了區別于 PLM,這類模型被稱為大型語言模型(LLMs)。
從 2019 年的谷歌 T5 到 OpenAI GPT 系列,參數量爆炸的大模型不斷涌現。可以說,LLMs 的研究在學界和業界都得到了很大的推進,尤其去年 11 月底對話大模型 ChatGPT 的出現更是引起了社會各界的廣泛關注。LLMs 的技術進展對整個 AI 社區產生了重要影響,并將徹底改變人們開發和使用 AI 算法的方式。
考慮到 LLMs 的快速技術進步,中國人民大學的二十幾位研究者通過背景知識、關鍵發現和主流技術等三方面回顧了 LLMs 的最新進展,尤其關注 LLMs 的預訓練、自適應調優、使用和能力評估。此外他們還總結和開發 LLMs 的可用資源,討論了未來發展方向等問題。對于領域內研究人員和工程師而言,這份綜述是一份極其有用的學習資源。
論文鏈接:https://arxiv.org/abs/2303.18223
在進入正文前,我們先來看 2019 年以來出現的各種大語言模型(百億參數以上)時間軸,其中標黃的大模型已開源。
LLMs 概覽
在第一節中,研究者詳細介紹了 LLMs 的背景、能力和關鍵技術。
LLMs 的背景
通常,大型語言模型(LLM)是指包含數千億(或更多)參數的語言模型,這些參數是在大量文本數據上訓練的,例如模型 GPT-3、PaLM、Galactica 和 LLaMA。具體來說,LLM 建立在 Transformer 架構之上,其中多頭注意力層堆疊在一個非常深的神經網絡中。現有的 LLM 主要采用與小語言模型類似的模型架構(即 Transformer)和預訓練目標(即語言建模)。作為主要區別,LLM 在很大程度上擴展了模型大小、預訓練數據和總計算量(擴大倍數)。他們可以更好地理解自然語言,并根據給定的上下文(例如 prompt)生成高質量的文本。這種容量改進可以用標度律進行部分地描述,其中性能大致遵循模型大小的大幅增加而增加。然而根據標度律,某些能力(例如,上下文學習)是不可預測的,只有當模型大小超過某個水平時才能觀察到。
LLMs 的涌現能力
LLM 的涌現能力被正式定義為「在小型模型中不存在但在大型模型中出現的能力」,這是 LLM 與以前的 PLM 區分開來的最顯著特征之一。當出現這種新的能力時,它還引入了一個顯著的特征:當規模達到一定水平時,性能顯著高于隨機的狀態。以此類推,這種新模式與物理學中的相變現象密切相關。原則上,這種能力也可以與一些復雜的任務有關,而人們更關心可以應用于解決多個任務的通用能力。這里簡要介紹了 LLM 的三種代表性的涌現能力:
上下文學習。GPT-3 正式引入了上下文學習能力:假設語言模型已經提供了自然語言指令和多個任務描述,它可以通過完成輸入文本的詞序列來生成測試實例的預期輸出,而無需額外的訓練或梯度更新。
指令遵循。通過對自然語言描述(即指令)格式化的多任務數據集的混合進行微調,LLM 在微小的任務上表現良好,這些任務也以指令的形式所描述。這種能力下,指令調優使 LLM 能夠在不使用顯式樣本的情況下通過理解任務指令來執行新任務,這可以大大提高泛化能力。
循序漸進的推理。對于小語言模型,通常很難解決涉及多個推理步驟的復雜任務,例如數學學科單詞問題。同時,通過思維鏈推理策略,LLM 可以通過利用涉及中間推理步驟的 prompt 機制來解決此類任務得出最終答案。據推測,這種能力可能是通過代碼訓練獲得的。
關鍵技術
接下來來看 LLMs 的關鍵技術,包括了縮放、訓練、能力激發、對齊調優、工具利用等。
縮放。縮放是增加 LLMs 模型容量的關鍵因素,最開始 GPT-3 將模型參數增至 1750 億,隨后 PaLM 進一步將模型參數增至 5400 億。大規模參數對于涌現能力至關重要。縮放不僅針對模型大小,還與數據大小和總計算量有關。
訓練。由于規模巨大,成功訓練一個具備強大能力的 LLMs 非常具有挑戰性。因此需要分布式訓練算法來學習 LLMs 的網絡參數,經常聯合使用各種并行策略。為了支持分布式訓練,DeepSpeed 和 Megatron-LM 等優化框架被用來促進并行算法的實現和部署。此外,優化技巧對訓練穩定性和模型性能也很重要,例如重新啟動訓練損失尖峰和混合精度訓練。最近的 GPT-4 開發了特殊的基礎設施和優化方法,從而利用小得多的模型來預測大模型的性能。
能力激發。在大規模語料庫上經過預訓練后,LLMs 被賦予了解決一般任務的潛在能力。然而當 LLMs 執行某個特定任務時,這些能力可能不會顯式地表現出來。因此設計適合的任務指令或特定的上下文策略來激發這些能力非常有用,比如思維鏈 prompt 有助于通過中間推理步驟等解決復雜推理任務。此外還可以進一步對具有自然語言任務描述的 LLMs 進行指令調優,以提高對未見過任務的泛化能力。
對齊調優。由于 LLMs 被訓練用來捕獲預訓練語料庫的數據特征(包括高質量和低質量的數據),它們很可能生成對有毒、有偏見和有害的文本內容。為了使 LLMs 與人類價值觀保持一致,InstructGPT 設計了一種利用強化學習和人類反饋的高效調優方法,使得 LLMs 能夠遵循預期指令。ChatGPT 是在類似 InstructGPT 的技術上開發的,在產生高質量、無害的響應方面表現出了強大的對齊能力。
工具利用。LLMs 本質上是基于大規模純文本語料庫訓練的文本生成器,因此在數值計算等文本表達不佳的任務上表現沒那么好。此外 LLMs 的能力受限于預訓練數據,無法捕獲最新信息。針對這些問題,人們提出使用外部工具來彌補 LLMs 的不足,比如可以利用計算器進行精確計算,使用搜索引擎檢索未知信息。ChatGPT 更是利用外部插件來聯網學習新知識,這種機制可以廣泛擴展 LLMs 的能力范圍。
LLMs 資源
考慮到具有挑戰性的技術問題和巨大的計算資源需求,開發或復制 LLMs 絕不是一件容易的事情。一個可行的方法是從現有的 LLMs 中學習經驗,并重新使用公開的資源來進行漸進式的開發或實驗研究。
在第三節中,研究者主要總結了開源的模型檢查點或 API、可用的語料庫以及對 LLM 有用的庫。下表 1 為近年來百億參數以上大模型的統計數據。
下表 2 列出了常用的數據源。
預訓練
預訓練建立了 LLMs 的能力基礎。通過對大規模語料庫的預訓練,LLMs 可以獲得基本的語言理解和生成技能。在這個過程中,預訓練語料庫的規模和質量是 LLMs 獲得強大能力的關鍵。此外,為了有效地預訓練 LLMs,模型架構、加速方法和優化技術都需要精心設計。在第四節中,研究者首先在第 4.1 節討論了數據的收集和處理,然后在第 4.2 節介紹了常用的模型架構,最后在第 4.3 節介紹了穩定和有效優化 LLMs 的訓練技術。
數據收集
要開發一個強大的 LLM,從各種數據源中收集大量的自然語言語料至關重要。現有 LLMs 主要利用各種公共文本數據集作為預訓練語料庫。下圖 2 列出了現有 LLMs 的預訓練數據源分布。
收集大量文本數據后,必須對它們進行預訓練以構建預訓練語料庫,包括去噪、去冗余、去除不相關和潛在有毒的數據。下圖 3 展示了為 LLMs 預訓練數據的預處理 pipeline。
架構
在本節中,研究者回顧了 LLMs 的架構設計,即主流架構,預訓練目標和細節配置。下表 3 列出了幾個具有代表性的 LLMs 的模型卡片以及公開的詳細信息。
由于出色的并行化性和容量,Transformer 架構已成為開發各種 LLM 的 backbone,使得將語言模型擴展到數千億個參數成為可能。一般來說,現有 LLMs 的主流架構大致可以分為三大類,即編碼器 - 解碼器、臨時解碼器和前綴解碼器。
自 Transformer 出現以來,各種改進被相繼提出以提高其訓練穩定性,性能和計算效率。在這一部分中,研究者討論了 Transformer 四個主要部分的相應配置,包括歸一化、位置編碼、激活函數、注意力機制和偏置。
預訓練起著十分關鍵的作用,它將一般知識從大規模語料庫編碼到大規模模型參數中。對于訓練 LLMs,有語言建模和去噪自編碼兩個常用的預訓練任務。
模型訓練
在這一部分中,研究者回顧了訓練 LLMs 的重要設置,技術和訓練 LLMs 技巧。
對于 LLMs 的參數優化,研究者提出了常用的批量訓練、學習率、優化器和訓練穩定性的設置。
隨著模型和數據規模的增加,在有限的計算資源下有效地訓練 LLMs 模型已經變得困難。特別是,需要解決兩個主要技術問題,例如通過輸入增加訓練和將更大的模型加載到 GPU 內存中。這一部分回顧了現有工作中幾種廣泛使用的方法,以解決上述兩個挑戰,即 3D 并行、ZeRO 和混合精度訓練,并就如何利用它們進行訓練給出了建議。
LLMs 的適應性調優
經過預訓練,LLMs 可以獲得解決各種任務的通用能力。然而越來越多的研究表明,LLMs 的能力可以根據具體目標進一步調整。在第五節中,研究者詳細介紹了調整預訓練 LLMs 的兩個主要方法,即指令調優(instruction tuning)和對齊調優(alignment tuning)。前一種方法主要是為了提高或解鎖 LLMs 的能力,而后一種方法則是為了使 LLMs 的行為與人類的價值觀或偏好一致。
指令調優
本質上,指令調優是在自然語言形式的格式化實例集合上微調預訓練 LLMs 的方法,這與監督微調和多任務提示訓練高度相關。為了執行指令調優,我們首先需要收集或構建指令格式的實例。然后,我們通常使用這些格式化實例以監督學習方式微調 LLMs(例如,使用序列到序列損失進行訓練)。在指令調整后,LLMs 可以展示出卓越的能力,泛化出能解決未見任務的能力,即使在多語言環境中也是如此。
最近的一項調查對指令調優研究進行了系統的概述。相比之下,本文主要關注指令調優對 LLMs 的影響,并提供實例收集和調優的詳細指南或策略。此外,本文還討論了使用指令調優來滿足用戶的實際需求,這已廣泛應用于現有的 LLMs,例如 InstructGPT 和 GPT-4。
格式化實例構建:通常,指令格式的實例由任務描述(稱為指令)、輸入輸出對和少量演示(可選)組成。作為重要的公共資源,現有研究已經發布了大量以自然語言格式化的標記數據(參見表 5 中的可用資源列表)。接下來,本文將介紹構造格式化實例的兩種主要方法(參見圖 4 中的插圖),然后討論實例構造的幾個關鍵因素。
指令調優策略:與預訓練不同,指令調優通常更有效,因為只有適度數量的實例用于訓練。雖然指令調優可以被認為是一個有監督的訓練過程,但它的優化在幾個方面與預訓練不同,例如訓練目標(即序列到序列損失)和優化配置(例如更小的批次) 大小和學習率),這在實踐中需要特別注意。除了這些優化配置之外,指令調優還需要考慮兩個重要方面:
平衡數據分布。
結合指令調優和預訓練。
對齊調優
這部分首先介紹了對齊的背景及其定義和標準,然后重點介紹了用于對齊 LLMs 的人類反饋數據的收集,最后討論了用于對齊調整的人類反饋強化學習的關鍵技術。
使用
在預訓練或適應性調整之后,使用 LLMs 的一個主要方法是為解決各種任務設計合適的 prompt 策略。一個典型的 prompt 方法是上下文學習(in-context learning),它以自然語言文本的形式制定了任務描述或演示。此外,思維鏈 prompting 方法可以通過將一系列中間推理步驟納入 prompt 中來加強上下文學習。在第六節中,研究者詳細介紹了這兩種技術的細節。
上下文學習
作為一種特殊的 prompt 形式,上下文學習(ICL)是 GPT-3 首次提出的,它已經成為利用 LLMs 的一種典型方法。
思維鏈 prompt
思維鏈(CoT)是一種改進的 prompt 策略,可以提高 LLM 在復雜推理任務中的表現,如算術推理、常識推理和符號推理。CoT 不是像 ICL 那樣簡單地用輸入 - 輸出對來構建 prompt,而是將能夠導致最終輸出的中間推理步驟納入 prompt。在第 6.2 節中,研究者詳細說明了 CoT 與 ICL 的用法,并討論 CoT 何時有效以及為何有效。
能力評估
為了研究 LLMs 的有效性和優越性,研究者利用了大量的任務和基準來進行實證評估和分析。第七節首先介紹了三種用于語言生成和理解的 LLMs 的基本評估任務,然后介紹幾種具有更復雜設置或目標的 LLMs 的高級任務,最后討論了現有的基準和實證分析。
基本評估任務
圖 7:一個公開 LLM 的內在和外在幻覺的例子(訪問日期:2023 年 3 月 19 日)。作為內在幻覺的例子,LLM 對 Cindy 和 Amy 之間的關系給出了一個與輸入相矛盾的判斷。對于外在幻覺,在這個例子中,LLM 似乎對 RLHF(從人類反饋中強化學習)的含義有不正確的理解,盡管它能正確理解 LLM 的含義。
高級任務評估
除了上述基本評估任務,LLMs 還表現出一些高級能力,需要特別評估。在第 7.2 節中,研究者討論了幾個有代表性的高級能力和相應的評價方法,包括人工對齊、與外部環境的交互以及工具的操作。
總結與未來方向
在最后一節中,研究者總結了這次調查的討論,并從以下幾個方面介紹了 LLMs 的挑戰和未來發展方向。
理論和原理:為了理解 LLM 的基本工作機制,最大的謎團之一是信息如何通過非常大的深度神經網絡進行分配、組織和利用。揭示建立 LLMs 能力基礎的基本原則或元素是很重要的。特別是,縮放似乎在提高 LLMs 的能力方面發揮了重要作用。已有研究表明,當語言模型的參數規模增加到一個臨界點(如 10B)時,一些新興能力會以一種意想不到的方式出現(性能的突然飛躍),典型的包括上下文學習、指令跟隨和分步推理。這些「涌現」的能力令人著迷,但也令人困惑:LLMs 何時以及如何獲得這些能力?最近的一些研究要么是進行廣泛的體驗,調查新興能力的效果和這些能力的促成因素,要么是用現有的理論框架解釋一些特定的能力。一個有見地的技術帖子將 GPT 系列模型作為目標也專門討論了這個話題,然而仍然缺少更正式的理論和原則來理解、描述和解釋 LLM 的能力或行為。由于涌現能力與自然界中的相變有著密切的相似性,跨學科的理論或原則(例如 LLMs 是否可以被視為某種復雜系統)可能對解釋和理解 LLMs 的行為有幫助。這些基本問題值得研究界探索,對于開發下一代的 LLMs 很重要。
模型架構:由于可擴展性和有效性,由堆疊的多頭自注意力層組成的 Transformer 已經成為構建 LLMs 的普遍架構。人們提出了各種策略來提高這個架構的性能,如神經網絡配置和可擴展的并行訓練(見 4.2.2 節討論)。為了進一步提高模型的容量(如多輪對話能力),現有的 LLMs 通常保持較長的上下文長度,例如,GPT-4-32k 具有 32768 個 token 的超大上下文長度。因此,一個實際的考慮是減少標準的自注意力機制所產生的時間復雜性(原始的二次成本)。
此外,研究更高效的 Transformer 變體對構建 LLMs 的影響是很重要的,例如稀疏注意力已經被用于 GPT-3。災難性遺忘也一直是神經網絡的挑戰,這也對 LLMs 產生了負面影響。當用新的數據調整 LLMs 時,原先學到的知識很可能被破壞,例如根據一些特定的任務對 LLMs 進行微調會影響它們的通用能力。當 LLMs 與人類的價值觀相一致時,也會出現類似的情況,這被稱為對齊稅(alignment tax)。因此有必要考慮用更靈活的機制或模塊來擴展現有的架構,以有效支持數據更新和任務專業化。
模型訓練:在實踐中,由于巨大的計算量以及對數據質量和訓練技巧的敏感性,預訓練可用的 LLMs 非常困難。因此,考慮到模型有效性、效率優化和訓練穩定性等因素,開發更系統、更經濟的預訓練方法來優化 LLMs 變得尤為重要。開發更多的模型檢查或性能診斷方法(例如 GPT-4 中的可預測縮放),便于在訓練中發現早期的異常問題。此外,它還要求有更靈活的硬件支持或資源調度機制,以便更好地組織和利用計算集群中的資源。由于從頭開始預訓練 LLMs 的成本很高,因此必須設計一個合適的機制,根據公開的模型檢查點(例如 LLaMA 和 Flan-T5)不斷地預訓練或微調 LLMs。為此,必須解決一些技術問題,包括數據不一致、災難性遺忘和任務專業化。到目前為止,仍然缺乏具有完整的預處理和訓練日志(例如準備預訓練數據的腳本)的開源模型檢查點以供重現的 LLM。為 LLMs 的研究提供更多的開源模型將是非常有價值的。此外,開發更多的改進調整策略和研究有效激發模型能力的機制也很重要。
模型的使用:由于微調在實際應用中的成本很高,prompt 已經成為使用 LLMs 的突出方法。通過將任務描述和演示例子結合到 prompt 中,上下文學習(prompt 的一種特殊形式)賦予了 LLMs 在新任務上良好的表現,甚至在某些情況下超過了全數據微調模型。此外,為了提高復雜推理的能力,人們提出了先進的 prompt 技術,例如思維鏈(CoT)策略,它將中間的推理步驟納入 prompt。然而,現有的 prompt 方法仍然有以下幾個不足之處。首先,它在設計 prompt 時需要大量的人力,因此為解決各種任務而自動生成有效的 prompt 將非常有用;其次,一些復雜的任務(如形式證明和數字計算)需要特定的知識或邏輯規則,而這些知識或規則可能無法用自然語言描述或用例子來證明,因此開發信息量更大、更靈活的任務格式化的 prompt 方法很重要;第三,現有的 prompt 策略主要集中在單圈的表現上,因此開發用于解決復雜任務的交互式 prompt 機制(如通過自然語言對話)非常有用,ChatGPT 已經證明了這一點。
安全和對齊:盡管 LLMs 具備相當的能力,但它的安全問題與小型語言模型相似。例如,LLMs 表現出產生幻覺文本的傾向,比如那些看似合理但可能與事實不符的文本。更糟糕的是,LLMs 可能被有意的指令激發,為惡意的系統產生有害的、有偏見的或有毒的文本,導致濫用的潛在風險。要詳細討論 LLMs 的其他安全問題(如隱私、過度依賴、虛假信息和影響操作),讀者可以參考 GPT-3/4 技術報告。作為避免這些問題的主要方法,來自人類反饋的強化學習(RLHF)已被廣泛使用,它將人類納入訓練循環,以發展良好的 LLMs。為了提高模型的安全性,在 RLHF 過程中加入安全相關的 prompt 也很重要,如 GPT-4 所示。然而,RLHF 在很大程度上依賴于專業標簽人員的高質量的人類反饋數據,使得它很難在實踐中得到正確的實施。因此,有必要改進 RLHF 框架,以減少人類標簽員的工作,并尋求一種更有效的注釋方法,保證數據質量,例如可以采用 LLMs 來協助標注工作。最近,紅色團隊被采用來提高 LLMs 的模型安全性,它利用收集的對抗性 prompt 來完善 LLMs(即避免紅色團隊的攻擊)。此外,通過與人類交流建立 LLMs 的學習機制也很有意義,人類通過聊天給出的反饋可以直接被 LLMs 利用來進行自我完善。
應用和生態系統:由于 LLMs 在解決各種任務方面表現出強大的能力,它們可以被應用于廣泛的現實世界的應用(例如,遵循特定的自然語言指令)。作為一個顯著的進步,ChatGPT 已經潛在地改變了人類獲取信息的方式,這帶來了新必應的發布。在不久的將來,可以預見,LLMs 將對信息搜索技術產生重大影響,包括搜索引擎和識別系統。
此外,隨著 LLMs 的技術升級,智能信息助理的發展和使用將得到極大的促進。在更廣泛的范圍內,這一波技術創新傾向于建立一個由 LLMs 授權的應用程序的生態系統(例如,ChatGPT 對插件的支持),這將與人類生活密切相關。最后,LLMs 的崛起為通用人工智能(AGI)的探索提供了啟示。它有希望開發出比以往更多的智能系統(可能有多模態信號)。同時,在這個發展過程中,人工智能的安全性應該是首要關注的問題之一,也就是說,讓人工智能為人類帶來好處而不是壞處。
審核編輯 :李倩
-
語言模型
+關注
關注
0文章
508瀏覽量
10245 -
nlp
+關注
關注
1文章
487瀏覽量
22012
原文標題:大型語言模型綜述全新出爐!從T5到GPT-4最全盤點,國內20余位研究者聯合撰寫
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論