AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
論文標題: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
新穎分類:引入了一個詳細的結構化框架,將有關終生學習的大量文獻分為 12 個場景; 通用技術:確定了所有終生學習情況下的通用技術,並將現有文獻分為每個場景中不同的技術組; 未來方向:強調了一些新興技術,如模型擴充套件和資料選擇,這些技術在前 LLM 時代探索較少。
內部知識是指透過完全或部分訓練將新知識吸收到模型引數中,包括連續預訓練和連續微調。 外部知識是指在不更新模型引數的情況下,將維基百科或應用程式介面等外部資源中的新知識納入模型,包括基於檢索的終生學習和基於工具的終生學習。
連續垂直領域預訓練(Continual Vertical Domain Pretraining):針對特定垂直領域(如金融、醫療等)進行的連續預訓練。 連續語言領域預訓練(Continual Language Domain Pretraining):針對自然語言和程式碼語言進行的連續預訓練。 連續時間領域預訓練(Continual Temporal Domain Pretraining):針對時間相關資料(如時間序列資料)的連續預訓練。
特定任務(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):針對模型與新任務對齊進行的連續學習。
整體效能(Overall Measurement):包括平均準確率(AA)和平均增量準確率(AIA)。AA 是指模型在學習所有任務後的平均表現,而 AIA 則考慮了每個任務學習後的歷史變化。 穩定性測量(Stability Measurement):包括遺忘測量(FGT)和向後轉移(BWT)。FGT 評估舊任務的平均效能下降,而 BWT 評估舊任務的平均效能變化。 適應性測量(Plasticity Measurement):包括向前轉移(FWD),即模型在新任務上效能的平均提升。
含義:這種方法透過在訓練新任務時重放以前任務的資料,來鞏固模型對舊任務的記憶。通常,重放的資料會被儲存在一個緩衝區(Buffer)中,並與當前任務的資料一起用於訓練。主要包括:
–經驗重放(Experience Replay):透過儲存一部分舊任務的資料樣本,並在訓練新任務時將這些資料重新用於訓練,從而減少遺忘的發生。
–生成重放(Generative Replay):不同於儲存舊資料,這種方法利用生成模型來建立偽樣本,從而在新任務的訓練中引入舊任務的知識。
圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練 Task t 時,使用了緩衝區中的舊資料(Input t-1 )。
含義:這種方法透過對模型引數施加正則化約束,來防止模型在學習新任務時對舊任務引數的過度調整。正則化約束可以幫助模型保留對舊任務的記憶。主要包括:
–權重正則化(Weight Regularization):透過對模型引數施加額外的約束,限制新任務訓練時對重要權重的修改,以此保護舊任務的知識。例如,L2 正則化和彈性權重鞏固(Elastic Weight Consolidation,EWC)就是常見的技術。
–特徵正則化(Feature Regularization):正則化不僅可以作用於權重,還可以透過限制模型在特徵空間中的表現,確保新舊任務之間的特徵分佈保持穩定。
圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練 Task t 時,透過引數正則化來保持對 Task t-1 的效能。
含義:這種方法側重於調整模型結構,以便無縫整合新任務,同時儘量減少對先前所學知識的干擾。主要包括圖 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)。
含義:這種方法透過知識蒸餾(Knowledge Distillation),將舊模型的知識傳遞給新模型。在訓練新任務時,新模型不僅學習當前任務的資料,還要模仿舊模型對舊任務的輸出,從而保持舊任務的知識。主要包括:
圖示:圖 3 中顯示了從 Task t-1 到 Task t 的過程,模型在訓練新任務時,透過模仿舊模型的預測結果來保持對舊任務的知識。
示例:CorpusBrain++ 採用骨幹 - 介面卡架構和經驗重放策略來應對現實世界中的知識密集型語言任務。 示例:Med-PaLM 透過使用少量示例引入醫學領域的指令提示調優。
示例:ELLE 採用功能保留的模型擴充套件策略,透過靈活擴充套件現有預訓練語言模型的寬度和深度來提高知識獲取和整合的效率。 示例:LLaMA Pro 透過擴充套件 Transformer 塊並使用新語料庫進行微調,在通用使用、程式設計和數學任務中表現出色。
示例:Gupta 等提出的策略,透過引入新資料集時調整學習率,防止長期訓練期間學習率過低,從而提高適應新資料集的效果。
示例:RHO-1 透過選擇性語言模型(SLM)訓練,優先選擇對訓練過程有更大影響的標記。 示例:EcomGPT-CT 透過半結構化電子商務資料增強模型在領域特定任務中的表現。
示例:Yadav 等透過引入教師強制機制改進提示調優,建立一組提示引導模型在新任務上的微調。 示例:ModuleFormer 和 Lifelong-MoE 使用專家混合(MoE)方法,透過模組化和動態增加模型容量來增強 LLM 的效率和適應性。
示例:Ibrahim 等提出的再預熱方法,透過在訓練新資料時臨時增加學習率,幫助模型更快地適應新語言。
示例:連續文字分類任務透過逐步引入新的分類類別(如 Intent: Transfer -> Intent: Credit Score -> Intent: Fun Fact)來訓練模型,使其能夠適應不斷變化的分類需求。
示例:連續命名實體識別任務展示瞭如何在識別特定實體的同時,逐步引入新的實體型別(如 Athlete -> Sports Team -> Politician),使模型能夠在識別新的實體時仍保持對舊實體的識別能力。
示例:連續關係抽取任務透過不斷引入新的關係型別(如 Relation: Founded By -> Relation: State or Province of Birth -> Relation: Country of Headquarters),展示了模型如何逐步擴充套件其關係抽取能力。
示例:連續知識編輯任務透過不斷更新模型的知識庫,確保其能夠對最新的事實進行準確的回答(如 Who is the president of the US? -> Which club does Cristiano Ronaldo currently play for? -> Where was the last Winter Olympics held?)。
示例:連續機器翻譯任務透過逐步擴充套件模型對不同語言的翻譯能力(如 English -> Chinese, English -> Spanish, English -> French),展示了模型在多語言環境中的適應能力。
示例:連續指令微調任務透過逐步引入新的指令型別(如 Summarization -> Style Transfer -> Mathematics),訓練模型在多種任務型別下的表現能力。
示例:連續對齊任務透過引入新的對齊目標(如 Helpful and Harmless -> Concise and Organized -> Positive Sentiment),展示了模型在不同道德和行為標準下的連續學習能力。
介紹:隨著世界資訊的不斷擴大和快速發展,根據歷史資料訓練的靜態模型很快就會過時,無法理解或生成有關新發展的內容。基於檢索的終生學習解決了大型語言模型從外部來源獲取和吸收最新知識的關鍵需求,在需要時,模型透過檢索這些外部資源,來補充或更新其知識庫。這些外部資源提供了一個巨大的當前知識庫,為增強預訓練 LLM 的靜態特性提供了重要的補充資產。 示例:圖中的這些外部資源是模型能夠訪問並檢索的。透過訪問外部資訊源,如維基百科、書籍、資料庫等,模型能夠更新自身的知識,並在遇到新資訊時作出適應。
介紹:基於工具的終生學習源於將其功能擴充套件到靜態知識之外並使其能夠與環境動態互動的必要性。在現實世界的應用中,模型往往需要執行一些任務,這些任務涉及直接文字生成或解釋之外的操作。 示例:圖中模型利用這些工具來擴充套件和更新自身的能力,透過與外部工具的互動來實現終生學習。例如,模型可以透過應用程式程式設計介面獲取實時資料,或透過物理工具與外部環境互動,以此來完成特定任務或獲取新知識。
災難性遺忘(Catastrophic Forgetting):這是終生學習的核心挑戰之一,新資訊的引入可能會覆蓋模型之前學到的內容。 可塑性 - 穩定性困境(Plasticity-Stability Dilemma):在保持模型的學習能力和穩定性之間找到平衡非常關鍵,這直接影響模型獲取新知識的能力,同時保留其廣泛的通用能力。 昂貴的計算成本(Expensive Computation Cost):全量微調大語言模型的計算需求可能非常高。 模型權重或預訓練資料的不可用性:由於隱私、專有限制或商業許可,原始訓練資料或模型權重往往不可用於進一步的改進。
從特定任務到通用任務:研究逐漸從專注於特定任務(如文字分類、命名實體識別)轉向更廣泛的通用任務,如指令調優、知識編輯等。 從全量微調到部分微調:鑑於全量微調的高資源消耗,部分微調策略(如 Adapter 層、Prompt 調優、LoRA)變得越來越受歡迎。 從內部知識到外部知識:為了克服頻繁的內部更新限制,越來越多的策略採用外部知識源,如檢索增強生成(Retrieval-Augmented Generation)和工具學習,使模型能夠動態訪問和利用當前的外部資料。
多模態終生學習:將文字以外的多種模態(如影像、影片、音訊、時間序列資料、知識圖譜)整合到終生學習中,以開發更全面、更具適應性的模型。 高效終生學習:研究人員正致力於開發更高效的策略來管理模型訓練和更新的計算需求,如模型剪枝、模型合併、模型擴充套件等方法。 通用終生學習:最終目標是使大語言模型能夠主動獲取新知識,並透過與環境的動態互動進行學習,不再僅僅依賴於靜態資料集。