ICLR 2025|告別“AI失憶癥”!新型SD-LoRA算法實現終身學習
徹底擺脫傳統方法對舊數據存儲的依賴!
哈佛團隊聯手香港城大、西安交大最新發布的SD-LoRA技術,通過固定已學習任務的方向參數,僅調整幅度權重,完全避免了歷史數據的存儲需求。
能夠在減少50%以上參數存儲的同時保持最高準確率,并且在不增加推理開銷的前提下顯著緩解了災難性遺忘問題。
該研究成果已被 ICLR 2025 接收為Oral Presentation。
作者針對預訓練模型的持續學習,不同于之前?泛采?的混合專家模型的思路(將CL的瓶頸轉化為選擇準確的對應專家模型), 本?提出的SD-LoRA算法逐步引入低秩矩陣,通過分解其?向和幅值,在提升持續學習性能的同時,實現了更好的參數效率。
同時,本?也從low-loss path的角度出發,?次對該類?法的有效性進?了深入解釋和理論分析,為理解基于預訓練模型的持續學習提供了新的視角。
論文亮點
作者提出了?種?向預訓練?模型的持續學習?法SD-LoRA,具備?需回放(rehearsal-free)、推理?效、可端到端訓練等優點,并進?步設計了兩個參數更?效的變體。
從理論與實證層?深入分析了SD-LoRA的?作機制,解釋其如何避免依賴任務特定模塊的選擇(Prompt或者LoRA) ,為持續學習提供了新的解決思路和?案。
在多個持續學習基準與主流預訓練模型上進?了全?實驗評估,驗證了所提?法在準確率與效率上的優越性。
背景
持續學習:假定有個流式任務
,第
個任務的訓練集表示為
,其中
表示輸入圖像,
為對應的標簽。當訓練到第
個任務時,前
個任務的數據已無法獲取,對應的訓練目標函數為:
其中,表示分類模型,
為逐樣本的交叉熵損失。
LoRA:令分類模型的某一層參數為
,模型更新參數為
,其中矩陣
,那么該層對應的輸出為:
研究動機
作者總結現有研究發現,當前基于預訓練模型的持續學習?法,如prompt-based和LoRA-based?法,通常在訓練和測試階段采?路由機制選擇對應的任務特定模塊,借此緩解災難性遺忘問題。
這類?法本質上沿?了“混合專家模型(MoE)”的思路。
然?,為了精準選擇對應專家模塊,路由機制往往依賴于?量歷史任務的樣本或中間特征,帶來了較?的存儲成本。
這不僅違背了持續學習在多任務場景下對“輕量化”的要求,還在推理階段引入了額外計算,降低了推理效率。
△表1:從Rehearsal-free,Inference Efficiency以及End-to-end Optimization的角度對現有?法的分析
HiDE-Prompt和InfLoRA性能表現優異,但是他們都需要存儲?量過去任務樣本的特征。?L2P、DualPrompt、CODA-Prompt則需要引入路由機制選擇對應的task-specific的prompt,這在模型推理的時候引入了新的計算量。
作者希望能夠設計探索?種MoE邏輯之外的基于預訓練模型的持續學習算法:
- 滿?Rehearsal-free,Inference Efficiency,和End-to-end Optimization三個特征,使得在多任務持續學習場景下,避免存儲過多過去任務樣本及特征,提升推理效率。
- 從實驗和理論兩個維度深入分析模型緩解災難性遺忘的內在機制,為持續學習問題提供?種不同于現有專家選擇策略的新解法。
SD-LoRA方法
△圖1:模型參數更新,(a)傳統LoRA,(b)所提的SD-LoRA(以訓練到第2個任務為例)
本?所提的SD-LoRA算法主要包含兩個模塊:
- 將LoRA矩陣的magnitude
和direction
解耦出來,
- 固定之前任務所學習的LoRA矩陣的?向,但是同時學習調整對應magnitude。其中橙?的部分為learnable的部分。
實驗結果發現SD-LoRA在滿?rehearsal-free,Inference Efficiency,End-to-end Optimization的同時也取得了很好的性能表現。
為了更好的解釋SD-LoRA的實驗性能,下?我們將分別從實驗及理論兩個角度進?了深入分析,從low-loss path的角度對SD-LoRA提供了新的解釋。
Empirical Finding 1:(Low-loss Region的存在性):當直接在不同下游任務上微調基礎模型時, 得到的任務特定權重之間的距離,比它們與原始模型權重的距離更接近。
(a).表示預訓練模型的權重,
表示模型直接在第
個任務上finetune所得到的參數。(a)圖表明參數空間中測量相對距離,這些下游任務特定的權重
彼此之間的距離相比于基礎模型初始權重更加接近,呈現出聚集趨勢。
(b)(c).在訓練完第一個任務后,我們固定其方向,只調整magnitude去學習,即
可見其性能甚至優于Vanilla LoRA,說明對所有任務最優的參數可能位于方向
附近,僅通過調整magnitude即可學到。進一步說明了下游任務模型最優參數可能位于一個low-loss region里。
Empirical Finding 2:(可學習參數的可視化):在持續學習過程中,來自先前任務的方向(即
)起到了關鍵作用——尤其是早期任務中學到的方向。
(a).我們首先計算了當前任務方向與之前任務方向集合
之間的最小二乘擬合殘差。結果顯示該殘差隨時間逐漸增大,說明在訓練初期,新學到的方向與早期任務高度對齊,可以有效復用已學習的方向;隨著訓練的推進,
逐漸偏離,逐步引入細微變化以適配新任務。
(b)(c).早期任務對應的值迅速上升,而后期任務則呈現出整體下降趨勢。這表明模型在推理過程中越來越依賴于早期學習到的方向,而新引入的方向主要用于輕微調整,以滿足后續任務的特定需求。
Empirical Finding 3:(模型緩解遺忘的假設及驗證):SD-LoRA通過結合先前任務中固定的方與學習到的magnitude,有效地挖掘出一條low-loss path,指向所有任務共享的低損區域。
(a).SD-LoRA算法有效的假設,通過調整magnitude,模型更加容易找到low-loss path從而收斂到shared low-loss region。
(b)(c).分別對LoRA和SD-LoRA進行插值,驗證了(a)假設,SD-LoRA相對LoRA,在維持task 1性能的同時,有效的提升了task 2的性能,說明了SD-LoRA收斂到了shared low-loss region。
理論分析
我們從矩陣逼近的角度分析,令表示CL最優的模型參數。隨著訓練的進行,學習得到的矩陣
會逐漸逼近
的主成分。
這也印證了finding 2中模型所學習到的逐漸下降的趨勢。
SD-LoRA的高效版本
盡管所提SD-LoRA算法避免了存儲過去任務的樣本及特征,但仍需要存儲不同任務LoRA矩陣的方向信息,為了進一步實現理想的可擴展的持續學習算法,我們在SD-LoRA的基礎上提出了兩個efficient的版本。
(SD-LoRA-RR)。我們在theoretical和finding 2都證實了后面引入的LoRA matrix不如前面的重要。基于此,我們動態的降低了后續引入LoRA矩陣的rank,從而降低了需要存儲的LoRA矩陣的參數量。
(SD-LoRA-KD)。盡管SD-LoRA-RR可以降低存儲的LoRA矩陣的參數量,但是他還是不可避免的在訓練新任務時引入新的低秩矩陣。SD-LoRA-KD通過判定新引入LoRA矩陣方向信息是否冗余,將知識蒸餾到之前所學習到的LoRA矩陣上,從而避免了引入新的矩陣。
SD-LoRA及其efficient版本相應的偽代碼如下:
實驗結果
1.SD-LoRA在不同的任務長度,benchmarks上的性能。
2.SD-LORA在訓練過程中的多個任務的平均性能。
3.SD-LORA的消融實驗。
4.不同方法的復雜度分析。
結論
本文提出的SD-LoRA是一種rehearsal-free、推理高效、可端到端優化的持續學習方法。
不同于以往依賴混合專家模型的做法,SD-LoRA通過逐步引入低秩矩陣,并將其方向與幅值分解,實現了參數高效、無路由機制的持續學習。
在多個基準任務和預訓練模型上的實驗表明,SD-LoRA在不增加推理開銷的前提下顯著緩解了災難性遺忘問題。
同時,本文還從經驗和理論兩個角度深入分析了SD-LoRA的工作機制,揭示了其能有效挖掘不同任務共享低損路徑的本質,提供了一種全新的持續學習解決思路。