整合 200 多項相關研究,大模型「終生學習」最新綜述來了
該論文作者均來自于華南理工大學馬千里教授團隊,所在實驗室為機器學習與數據挖掘實驗室。論文的三位共同第一作者為博士生鄭俊豪、碩士生邱圣潔、碩士生施成明,主要研究方向包括大模型和終生學習等,通訊作者為馬千里教授(IEEE/ACM TASLP 副主編)。馬千里教授團隊近年來在國際權威期刊(如 TPAMI 等)和國際頂級學術會議(如 NeurIPS、AAAI、IJCAI、ACL、KDD、ICDE 等)上發表多篇 Time Series/NLP/Recommendation System 相關的研究工作,和國內外知名高校、科研機構廣泛開展合作。
隨著大語言模型在各個領域應用的不斷拓展,如何讓這些模型能夠連續適應數據、任務和用戶偏好的變化成為一個關鍵問題。傳統的靜態數據集訓練方法已經無法滿足現實世界的動態需求。
為了解決這一挑戰,終生學習(Lifelong Learning)或連續學習(Continual Learning)技術應運而生。它能讓大語言模型在其工作壽命中不斷學習和適應,在整合新知識的同時保留以前學習過的信息,防止災難性遺忘(Catastrophic Forgetting)。
最近,來自華南理工大學的研究者調研、整理并總結了大語言模型(LLMs)的終生學習(Lifelong Learning)方法及其發展前景,并將其總結為一篇全面且前沿的綜述。
- 論文標題:Towards Lifelong Learning of Large Language Models: A Survey
- 機構:華南理工大學
- 論文地址:https://arxiv.org/abs/2406.06391
- 項目地址:https://github.com/qianlima-lab/awesome-lifelong-learning-methods-for-llm
圖 1 展示了終生學習(Lifelong Learning)在大語言模型和人類學習過程中的類比。圖中通過兩條平行的學習路徑來展示人類和大語言模型在終生學習中的進化過程。
人類學習(Human Learning)
1. 步行(Walk):人類從最基礎的技能(如步行)開始學習。
2. 騎自行車(Ride a Bike):隨著學習的進展,人類掌握了更復雜的技能(如騎自行車)。
3. 開車(Drive a Car):最終,人類可以掌握更加復雜和高級的技能(如開車)。
每一步都代表著人類在終生學習過程中不斷獲取新技能和知識的過程。
大語言模型學習(LLMs Learning)
1. 新語言(New Language):大語言模型從學習新的語言開始(如學會處理不同的自然語言)。
2. 新領域(New Domain):接下來,模型學習新的領域知識(如從自然語言處理擴展到醫學領域)。
3. 新信息(New Information):最終,模型可以學習和整合新的信息,無論是語言還是領域。
每一步代表著大語言模型在終生學習過程中不斷擴展和更新知識的過程。這張圖強調終生學習的過程:終生學習是一個連續的過程,涵蓋了從基礎到高級的逐步進化。終生學習不僅僅是簡單的知識積累,而是一個動態的、不斷進化的過程。
近年來,終生學習已成為一個越來越熱門的研究課題,涌現出有關神經網絡終生學習的大規模調查。大多數現有研究主要關注卷積神經網絡(CNN)的終生學習的各種應用場景和圖神經網絡的終生學習。然而,只有少量文獻關注語言模型的終生學習。盡管最近的一些綜述收集了終生學習的最新文獻,但都沒有涉及連續文本分類、連續命名實體識別、連續關系提取和連續機器翻譯等場景,對連續對齊、連續知識編輯、基于工具的終生學習和基于檢索的終生學習的討論也很少。
這篇綜述是第一個從 12 個場景出發,對大語言模型終生學習方法進行全面系統研究的調查。
總體來說,綜述的主要貢獻包括:
- 新穎分類:引入了一個詳細的結構化框架,將有關終生學習的大量文獻分為 12 個場景;
- 通用技術:確定了所有終生學習情況下的通用技術,并將現有文獻分為每個場景中不同的技術組;
- 未來方向:強調了一些新興技術,如模型擴展和數據選擇,這些技術在前 LLM 時代探索較少。
一、引言
本綜述系統地總結了現有的終生學習技術方法,在圖 2 中將其分為內部知識和外部知識兩大類。
- 內部知識是指通過完全或部分訓練將新知識吸收到模型參數中,包括連續預訓練和連續微調。
- 外部知識是指在不更新模型參數的情況下,將維基百科或應用程序接口等外部資源中的新知識納入模型,包括基于檢索的終生學習和基于工具的終生學習。
內部知識(Internal Knowledge)
1. 連續預訓練(Continual Pretraining):
- 連續垂直領域預訓練(Continual Vertical Domain Pretraining):針對特定垂直領域(如金融、醫療等)進行的連續預訓練。
- 連續語言領域預訓練(Continual Language Domain Pretraining):針對自然語言和代碼語言進行的連續預訓練。
- 連續時間領域預訓練(Continual Temporal Domain Pretraining):針對時間相關數據(如時間序列數據)的連續預訓練。
2. 連續微調(Continual Finetuning):
特定任務(Task Specific):
- 連續文本分類(Continual Text Classification):針對文本分類任務進行的連續微調。
- 連續命名實體識別(Continual Named Entity Recognition):針對命名實體識別任務進行的連續微調。
- 連續關系抽取(Continual Relation Extraction):針對關系抽取任務進行的連續微調。
- 連續機器翻譯(Continual Machine Translation):針對機器翻譯任務進行的連續微調。
任務無關(Task Agnostic):
- 連續指令微調(Continual Instruction-Tuning):通過指令微調實現模型的連續學習。
- 連續知識編輯(Continual Knowledge Editing):針對知識更新進行的連續學習。
- 連續對齊(Continual Alignment):針對模型與新任務對齊進行的連續學習。
外部知識(External Knowledge)
1. 基于檢索的終生學習(Retrieval-Based Lifelong Learning):通過檢索外部知識庫實現的終生學習。
2. 基于工具的終生學習(Tool-Based Lifelong Learning):通過調用外部工具實現的終生學習。
二、終生學習概況
2.1 問題定義
終生學習的目標是從一系列任務中學習一個語言模型,通過輸入自然語言,生成目標輸出。具體來說,對于生成任務,如問答,輸入和輸出分別代表問題和答案;對于機器翻譯任務,輸入和輸出代表源語言和目標語言;對于文本分類任務,輸入為文本內容,輸出為類別標簽;對于自回歸語言模型的預訓練任務,輸入為一系列的詞元,輸出為相應的下一個詞元。
2.2 評估指標
綜述介紹了評估終生學習效果的指標,主要從整體性能、穩定性和適應性三個角度進行評估:
- 整體性能(Overall Measurement):包括平均準確率(AA)和平均增量準確率(AIA)。AA 是指模型在學習所有任務后的平均表現,而 AIA 則考慮了每個任務學習后的歷史變化。
- 穩定性測量(Stability Measurement):包括遺忘測量(FGT)和向后轉移(BWT)。FGT 評估舊任務的平均性能下降,而 BWT 評估舊任務的平均性能變化。
- 適應性測量(Plasticity Measurement):包括向前轉移(FWD),即模型在新任務上性能的平均提升。
2.3 通用技術
綜述在圖 3 中展示了四種主要的終生學習方法,用于應對大語言模型在處理連續任務(Task t-1 到 Task t)時的災難性遺忘問題。以下是對每種方法的解釋:
(a) 基于重放的方法(Replay-Based Methods):
- 含義:這種方法通過在訓練新任務時重放以前任務的數據,來鞏固模型對舊任務的記憶。通常,重放的數據會被存儲在一個緩沖區(Buffer)中,并與當前任務的數據一起用于訓練。主要包括:
–經驗重放(Experience Replay):通過保存一部分舊任務的數據樣本,并在訓練新任務時將這些數據重新用于訓練,從而減少遺忘的發生。
–生成重放(Generative Replay):不同于保存舊數據,這種方法利用生成模型來創建偽樣本,從而在新任務的訓練中引入舊任務的知識。
- 圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練 Task t 時,使用了緩沖區中的舊數據(Input t-1 )。
(b) 基于正則化的方法(Regularization-Based Methods):
- 含義:這種方法通過對模型參數施加正則化約束,來防止模型在學習新任務時對舊任務參數的過度調整。正則化約束可以幫助模型保留對舊任務的記憶。主要包括:
–權重正則化(Weight Regularization):通過對模型參數施加額外的約束,限制新任務訓練時對重要權重的修改,以此保護舊任務的知識。例如,L2 正則化和彈性權重鞏固(Elastic Weight Consolidation,EWC)就是常見的技術。
–特征正則化(Feature Regularization):正則化不僅可以作用于權重,還可以通過限制模型在特征空間中的表現,確保新舊任務之間的特征分布保持穩定。
- 圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練 Task t 時,通過參數正則化來保持對 Task t-1 的性能。
(c) 基于架構的方法(Architecture-Based Methods):
- 含義:這種方法側重于調整模型結構,以便無縫集成新任務,同時盡量減少對先前所學知識的干擾。主要包括圖 4 中的六種方法:
–(a) 提示詞微調(Prompt Tuning):通過在模型的輸入前添加 “軟提示詞”(Soft Prompts),以引導模型的生成或分類任務。這種方法只需要調整少量的參數(即提示詞),而不需要改變模型的主干結構。
–(b) 前綴微調(Prefix Tuning):在輸入序列的前綴部分添加訓練好的可調參數,這些參數被插入到 Transformer 層的自注意力機制中,幫助模型更好地捕捉上下文信息。
–(c) 低秩適應(LoRA,Low-Rank Adaptation):LoRA 通過在特定層次上增加低秩矩陣來適應新的任務,而不需要改變大模型的主要權重。這種方法極大地減少了參數調整的數量,同時保持了模型的性能。
–(d) 適配器(Adapters):Adapters 是插入到模型不同層之間的可訓練模塊,這些模塊能夠在不改變原有模型權重的情況下,通過少量的附加參數來適應新任務。通常應用在 FFN(Feed Forward Network)和 MHA(Multi-Head Attention)部分。
–(e) 專家混合(Mixture of Experts):通過選擇性地激活某些 “專家” 模塊來處理不同的輸入,這些專家模塊可以是模型中的特定層或者子網絡。Router 模塊負責決定哪個專家模塊需要激活。
–(f) 模型擴展(Model Expansion):通過添加新層(New Layer)來擴展模型的容量,而保留原有的層(Old Layer)。這種方法允許模型逐漸增加其容量,以適應更加復雜的任務需求。
- 圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在學習新任務時,部分參數被凍結(Frozen),而新增的模塊用于訓練新任務(Trainable)。
(d) 基于蒸餾的方法(Distillation-Based Methods):
- 含義:這種方法通過知識蒸餾(Knowledge Distillation),將舊模型的知識傳遞給新模型。在訓練新任務時,新模型不僅學習當前任務的數據,還要模仿舊模型對舊任務的輸出,從而保持舊任務的知識。主要包括:
–從新數據蒸餾(Distillation from New Data):學生模型在教師模型的指導下學習新任務,通過蒸餾舊模型的知識來減少對舊知識的遺忘。
–從舊數據蒸餾(Distillation from Old Data):利用教師模型在舊數據上的表現來引導學生模型對新任務的學習,從而達到保留舊知識的效果。
–從偽舊數據蒸餾(Distillation from Pseudo-Old Data):通過生成偽舊數據(Pseudo-Old Data),讓學生模型在學習新任務時保持對舊知識的記憶。
- 圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練新任務時,通過模仿舊模型的預測結果來保持對舊任務的知識。
三、連續預訓練
連續預訓練可以更新大語言模型的內部知識,而無需承擔全面預訓練的高昂成本,從而增強大語言模型的能力。目前的研究橫跨垂直、語言和時間領域,解決了災難性遺忘和時間適應等難題。經驗重放、知識蒸餾、參數高效微調、模型擴展和再加熱等技術已顯示出良好的前景。
3.1 連續垂直領域預訓練
連續垂直領域預訓練(Continual Vertical Domain Pretraining)旨在通過在一系列領域特定的數據集上連續訓練語言模型,確保模型在多個垂直領域或任務中表現出色,同時保留先前獲得的知識。
主要方法:
1. 參數高效微調(Parameter-Efficient Fine-Tuning):
- 示例:CorpusBrain++ 采用骨干 - 適配器架構和經驗重放策略來應對現實世界中的知識密集型語言任務。
- 示例:Med-PaLM 通過使用少量示例引入醫學領域的指令提示調優。
2. 模型擴展(Model Expansion):
- 示例:ELLE 采用功能保留的模型擴展策略,通過靈活擴展現有預訓練語言模型的寬度和深度來提高知識獲取和集成的效率。
- 示例:LLaMA Pro 通過擴展 Transformer 塊并使用新語料庫進行微調,在通用使用、編程和數學任務中表現出色。
3. 再預熱(Re-warming):
- 示例:Gupta 等提出的策略,通過引入新數據集時調整學習率,防止長期訓練期間學習率過低,從而提高適應新數據集的效果。
4. 數據選擇(Data Selection):
- 示例:RHO-1 通過選擇性語言模型(SLM)訓練,優先選擇對訓練過程有更大影響的標記。
- 示例:EcomGPT-CT 通過半結構化電子商務數據增強模型在領域特定任務中的表現。
3.2 連續語言領域預訓練
連續語言領域預訓練(Continual Language Domain Pretraining)旨在使語言模型能夠不斷整合新數據,并適應不斷變化的語言領域而不遺忘先前的知識。
主要方法:
1. 架構調整方法(Architecture-Based Methods):
- 示例:Yadav 等通過引入教師強制機制改進提示調優,創建一組提示引導模型在新任務上的微調。
- 示例:ModuleFormer 和 Lifelong-MoE 使用專家混合(MoE)方法,通過模塊化和動態增加模型容量來增強 LLM 的效率和適應性。
2. 再預熱(Re-warming):
- 示例:Ibrahim 等提出的再預熱方法,通過在訓練新數據時臨時增加學習率,幫助模型更快地適應新語言。
3.3 連續時間領域預訓練
連續時間領域預訓練(Continual Temporal Domain Pretraining)涉及不斷更新語言模型,以保持其在時間敏感數據上的準確性和相關性。
主要挑戰:
1. 性能下降:Lazaridou 等的研究顯示,模型在未來數據上的表現顯著下降,凸顯了 LLM 在時間泛化上的困難。
2. 有限改進:R?ttger 等發現,雖然時間適應在掩碼語言模型任務上有輕微改進,但與單純的領域適應相比,對下游任務性能的提升并不顯著。
通過這些方法和研究,作者展示了連續預訓練在不同維度上的方法和挑戰,并強調了在垂直領域、語言領域和時間域中應用終生學習的必要性和有效性。
四、連續微調
連續預訓練可增強大語言模型的內部知識,在此基礎上,連續微調增強了大語言模型的內部知識,并使大語言模型適應特定任務,如文本分類、命名實體識別、關系提取、機器翻譯或一般生成任務,如指令調整、知識編輯和與人類偏好對齊。為了應對災難性遺忘和任務干擾等挑戰,采用了蒸餾、重放、正則化、基于架構和基于梯度的方法等技術。作者在圖 5 中對 7 種連續微調場景進行了說明。
這張圖展示了七種不同類型的任務如何通過連續學習在大語言模型中實現。以下是對每個部分的詳細解釋:
(a) 連續文本分類
- 示例:連續文本分類任務通過逐步引入新的分類類別(如 Intent: Transfer -> Intent: Credit Score -> Intent: Fun Fact)來訓練模型,使其能夠適應不斷變化的分類需求。
(b) 連續命名實體識別
- 示例:連續命名實體識別任務展示了如何在識別特定實體的同時,逐步引入新的實體類型(如 Athlete -> Sports Team -> Politician),使模型能夠在識別新的實體時仍保持對舊實體的識別能力。
(c) 連續關系抽取
- 示例:連續關系抽取任務通過不斷引入新的關系類型(如 Relation: Founded By -> Relation: State or Province of Birth -> Relation: Country of Headquarters),展示了模型如何逐步擴展其關系抽取能力。
(d) 連續知識編輯
- 示例:連續知識編輯任務通過不斷更新模型的知識庫,確保其能夠對最新的事實進行準確的回答(如 Who is the president of the US? -> Which club does Cristiano Ronaldo currently play for? -> Where was the last Winter Olympics held?)。
(e) 連續機器翻譯
- 示例:連續機器翻譯任務通過逐步擴展模型對不同語言的翻譯能力(如 English -> Chinese, English -> Spanish, English -> French),展示了模型在多語言環境中的適應能力。
(f) 連續指令微調
- 示例:連續指令微調任務通過逐步引入新的指令類型(如 Summarization -> Style Transfer -> Mathematics),訓練模型在多種任務類型下的表現能力。
(g) 連續對齊
- 示例:連續對齊任務通過引入新的對齊目標(如 Helpful and Harmless -> Concise and Organized -> Positive Sentiment),展示了模型在不同道德和行為標準下的連續學習能力。
五、外部知識
連續預訓練和連續微調對 LLM 的終生學習至關重要,然而隨著 LLM 越來越大、功能越來越強,有兩個新興方向越來越受歡迎,它們可以在不修改大語言模型參數的情況下,為大語言模型提供新的外部知識。作者考慮基于檢索的終生學習和基于工具的終生學習,因為這兩種方法都是實現 LLM 終生學習的有前途的方法。圖 6 舉例說明了這兩種方法。
基于檢索的終生學習(Retrieval-Based Lifelong Learning)
- 介紹:隨著世界信息的不斷擴大和快速發展,根據歷史數據訓練的靜態模型很快就會過時,無法理解或生成有關新發展的內容。基于檢索的終生學習解決了大型語言模型從外部來源獲取和吸收最新知識的關鍵需求,在需要時,模型通過檢索這些外部資源,來補充或更新其知識庫。這些外部資源提供了一個巨大的當前知識庫,為增強預訓練 LLM 的靜態特性提供了重要的補充資產。
- 示例:圖中的這些外部資源是模型能夠訪問并檢索的。通過訪問外部信息源,如維基百科、書籍、數據庫等,模型能夠更新自身的知識,并在遇到新信息時作出適應。
基于工具的終生學習(Tool-Based Lifelong Learning)
- 介紹:基于工具的終生學習源于將其功能擴展到靜態知識之外并使其能夠與環境動態交互的必要性。在現實世界的應用中,模型往往需要執行一些任務,這些任務涉及直接文本生成或解釋之外的操作。
- 示例:圖中模型利用這些工具來擴展和更新自身的能力,通過與外部工具的交互來實現終生學習。例如,模型可以通過應用程序編程接口獲取實時數據,或通過物理工具與外部環境互動,以此來完成特定任務或獲取新知識。
六、討論與結論
6.1 主要挑戰
- 災難性遺忘(Catastrophic Forgetting):這是終生學習的核心挑戰之一,新信息的引入可能會覆蓋模型之前學到的內容。
- 可塑性 - 穩定性困境(Plasticity-Stability Dilemma):在保持模型的學習能力和穩定性之間找到平衡非常關鍵,這直接影響模型獲取新知識的能力,同時保留其廣泛的通用能力。
- 昂貴的計算成本(Expensive Computation Cost):全量微調大語言模型的計算需求可能非常高。
- 模型權重或預訓練數據的不可用性:由于隱私、專有限制或商業許可,原始訓練數據或模型權重往往不可用于進一步的改進。
6.2 當前趨勢
- 從特定任務到通用任務:研究逐漸從專注于特定任務(如文本分類、命名實體識別)轉向更廣泛的通用任務,如指令調優、知識編輯等。
- 從全量微調到部分微調:鑒于全量微調的高資源消耗,部分微調策略(如 Adapter 層、Prompt 調優、LoRA)變得越來越受歡迎。
- 從內部知識到外部知識:為了克服頻繁的內部更新限制,越來越多的策略采用外部知識源,如檢索增強生成(Retrieval-Augmented Generation)和工具學習,使模型能夠動態訪問和利用當前的外部數據。
6.3 未來方向
- 多模態終生學習:將文本以外的多種模態(如圖像、視頻、音頻、時間序列數據、知識圖譜)整合到終生學習中,以開發更全面、更具適應性的模型。
- 高效終生學習:研究人員正致力于開發更高效的策略來管理模型訓練和更新的計算需求,如模型剪枝、模型合并、模型擴展等方法。
- 通用終生學習:最終目標是使大語言模型能夠主動獲取新知識,并通過與環境的動態交互進行學習,不再僅僅依賴于靜態數據集。
6.4 結論
作者將現有研究分為 12 種終生學習場景,并提供了全面的方法歸納整理。此外還分析強調了在管理災難性遺忘、確保計算效率和在知識獲取中的特定性與通用性之間維持平衡的必要性。隨著領域的不斷發展,這些先進策略的集成將對塑造下一代人工智能系統起到關鍵作用,幫助它們更接近實現真正的人類般的學習和適應能力。
通過對這些技術方法及其各自類別的詳細研究,本綜述旨在強調將終生學習能力整合到終生學習工具中,從而提高它們在現實世界應用中的適應性、可靠性和整體性能。同時為研究人員和工程師提供一個全面的視角,幫助他們更好地理解和應用終生學習技術,推動大語言模型的進一步發展。如果對文章感興趣,可以查閱原始論文以了解更多研究內容。