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