綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)
23年9月國防科大、京東和北理工的論文“Deep Model Fusion: A Survey”。
深度模型融合/合并是一種新興技術,它將多個深度學習模型的參數或預測合并為一個模型。它結合了不同模型的能力來彌補單個模型的偏差和錯誤,以獲得更好的性能。然而,大規模深度學習模型(例如LLM和基礎模型)上的深度模型融合面臨著一些挑戰,包括高計算成本、高維參數空間、不同異構模型之間的干擾等。本文將現有的深度模型融合方法分為四類:(1)“模式連接”,通過一條損失減少的路徑將權重空間中的解連接起來,以獲得更好的模型融合初始化;(2)“對齊”,匹配神經網絡之間的單元,為融合創造更好的條件;(3)“權重平均”是一種經典的模型融合方法,將多個模型的權重進行平均,以獲得更接近最優解、更準確的結果。(4)“集成學習”結合了不同模型的輸出,這是提高最終模型準確性和魯棒性的基礎技術。此外,分析深度模型融合面臨的挑戰,并提出了未來模型融合可能的研究方向。
由于數據隱私和實際資源節省問題,深度模型融合引起了越來越多的興趣。盡管深度模型融合的發展帶來了許多技術突破,但也產生了一系列挑戰,例如計算負載高、模型異構性以及組合優化對齊速度慢等[133, 204],讓一些方法在具體的場景受到限制[227, 254],這激發了科學家研究不同情況下模型融合的原理。
不過,有些工作只關注單一視角(例如特征融合等)[45, 195]和特定場景[213]的模型融合,或者不同方式的信息融合(多模態融合[1, 103] ])而不是參數的融合。加上最近的進展和代表性應用,例如聯邦學習(FL)[160]和微調[29]等,本文根據內部機制和目的分為四類,如圖所示整個模型融合流程示意圖,以及各種方法的分類和連接。
對于獨立訓練且彼此不相鄰的模型,“模式連接”和“對齊”使解決方案更加接近,從而 以獲得更好的平均原始條件。對于權值空間存在一定差異的相似模型,“權重平均(WA)”傾向于直接對模型進行平均,在損失函數值較低的參數空間區域中獲得更接近最優點的解 [118]。此外,對于現有模型的預測,“集成學習”整合了模型的不同形式的預測,以獲得更好的結果。
模型融合作為一種提高深度模型精度和魯棒性的技術,促進了許多應用領域的改進。“聯邦學習[160]”是一種在中央服務器上聚合客戶端模型的應用程序,使各方能夠為函數的計算(例如各種統計數據、分類器[177])貢獻數據,而不會帶來隱私暴露的風險。“微調”對預訓練的模型進行小幅調整,與模型融合相結合,以降低訓練成本并適應特定任務或領域的需求。模型融合還涉及到“蒸餾”。即結合多個復雜模型(教師)的軟目標知識,訓練一個針對特定需求的小模型。“基礎/LLM上的模型融合”包括大型基礎模型或大型語言模型(LLM)的工作,例如視覺Transformer(ViT)[79]和GPT[17]等。模型融合的應用幫助開發人員適應各種任務和領域的需求,促進深度學習的發展。
為了確定訓練網絡的結果對于 SGD 噪聲是否穩定,損失屏障(誤差屏障)被定義為兩點損失線性插值與兩點線性連接損失之間的最大差[50]。損失屏障說明,沿著 W1 和 W2 之間的路徑優化圖 [56, 61] ,誤差是恒定的還是增加的。如果兩個網絡之間存在一條隧道,其屏障約等于0,則相當于模式連接[46,59,60]。也就是說,SGD得到的局部極小值可以通過一條最大損失最小化的路徑 φ 連接起來。
基于梯度的優化得到的解可以在權重空間中通過沒有屏障的路徑(連接器)連接起來,這被稱為模式連接[46, 50]。可以沿著低損失路徑獲得更適合模型融合的其他模型。根據路徑的數學形式和連接器所在的空間,分為三個部分“線性模式連接(LMC)[66]”、“非線性模式連接”和“子空間的模式連接” ”。
模式連接可以解決訓練過程中的局部優化問題。模式連接路徑的幾何關系 [61, 162] 也可用于加速隨機梯度下降 (SGD) 等優化過程的收斂性、穩定性和準確性。總之,模式連接為解釋和理解模型融合的行為提供了新的視角[66]。但計算復雜度和參數調整的困難應該得到解決,特別是在大型數據集上訓練模型時。下表是線性模式連接(LMC) 和非線性模式連接的標準訓練流程總結。
如圖是二維損失圖和其他維度子空間中的模式連接示意圖。左:兩個盆地最小值的線性插值導致高損失屏障[46]。較低的兩個最佳值遵循接近恒定的低損失路徑(例如貝塞爾曲線、多邊框鏈等)[66]。π(W2)是W2的排列對稱性的等價模型,與W1位于同一盆地。Re-Basin 通過為各個流域提供解決方案來合并模型 [3]。右圖:低損失路徑連接子空間中的多個最小值(例如,由 d-維 楔形組成的低損失流形 [56])等)。
下表是在不同局部最小值之間尋找隧道的方法。
總之,模式連接為深度模型融合提供了更新、更靈活的視角。神經網絡的訓練容易陷入局部最優,從而導致性能下降。在模型連接的基礎上,可以找到性能更好的其他模型,并將其作為進一步優化和融合的起點。可以利用已經訓練的模型在參數空間中移動來達到新的目標模型,這樣可以節省時間和計算開銷,適合數據有限的情況。然而,在連接不同模型時,可能會引入額外的復雜性和靈活性,從而增加過度擬合的風險。因此,應仔細控制相關的超參數和變化程度。此外,模式連接需要微調或參數更改,這可能會增加訓練時間和資源消耗。綜上所述,模型連通性在模型融合方面具有諸多優勢,包括幫助克服局部最優問題、提供解釋網絡行為的新視角等。未來,模式連接有望幫助理解神經網絡的內部機制并提供指導 以便將來進行更高效的深度模型融合設計。
由于來自不同網絡的通道和組件的隨機性,網絡的活動組件相互干擾[204]。因此,未對齊的加權平均值可能會忽略不同模型中單位之間的對應關系并損壞有用信息。例如,不同模型中的兩個神經元之間存在一種關系,它們可能完全不同但功能相似。對齊是將不同模型的單元進行匹配,從而為深度模型融合獲得更好的初始條件。其目的是使多個模型的差異更小,從而增強深度模型融合效果。此外,對齊本質上可以被視為組合優化問題。一種代表性機制“Re-basin”,它為各個流域提供解決方案,合并具有更好原始條件的模型。根據對齊目標是否是數據驅動的,對齊分為“激活匹配”和“權重匹配”兩種類型,如表所示。
一般來說,即使對于淺層神經網絡,鞍點和局部最優的數量也會隨著參數數量呈指數增長[10, 66]。研究發現,訓練中存在不變性,導致這些局部最優中的某些點具有相同的表示形式 [22,81,140]。具體來說,如果通過排列交換隱藏層的單元,則網絡的功能不會改變,這稱為排列對稱性[43, 50]。
這些不變性帶來的排列對稱性有助于更好地理解損失圖的結構 [22, 66]。不變性也可以被視為損失圖中鞍點的來源[14]。[68]研究神經網絡中對稱性的代數結構以及這種結構如何在損失圖幾何中表現出來。[14]在高維平臺引入排列點,在該點可以交換神經元,而不會增加損失或參數跳躍。對損失進行梯度下降,調整神經元m和n的參數向量θm和θn,直到向量到達排列點。
基于排列對稱性,權空間中不同區域的解可以生成等價解。等效解位于與原始解相同的區域,具有低損失屏障(盆地),稱為“Re-basin”[3]。與模式連接相比,Re-basin傾向于通過排列而不是低損失隧道的方式將點傳輸到盆地中。目前,對齊是Re-basin的代表性方法[3, 178]。然而,如何高效地搜索排列對稱性的所有可能性,使得所有解都指向同一個盆地是當前的挑戰。
如圖是【14】引入排列點交換神經元的示意圖。左:一般對齊過程,模型A參考模型B轉化為模型Ap,然后Ap和B的線性組合產生C。右:調整不同隱藏層兩個神經元的參數向量θm和θn接近排列點,在排列點[14]θ′m = θ′n,兩個神經元計算相同的函數,這意味著兩個神經元可以交換。
對齊通過調整模型的參數使模型更加相似,可以提高模型之間的信息共享,從而提高融合模型的泛化能力。此外,對齊有助于提高模型在復雜任務上的性能和魯棒性。然而,對齊方法面臨著組合優化速度慢的問題。對齊需要額外的計算開銷來調整模型的參數,這可能導致更復雜且耗時的訓練過程,特別是在大深度模型中[142, 204]。
綜上所述,對齊可以提高不同模型之間的一致性和整體效果。隨著DL應用場景的多樣化,對齊將成為優化深度模型融合、提高泛化能力的關鍵方法之一。未來,對齊可以在遷移學習、域自適應[63]、知識蒸餾等領域發揮作用。例如,對齊可以減少遷移學習中源域和目標域之間的差異,提高對新域的學習 。
由于神經網絡參數的高度冗余,不同神經網絡的權值之間通常不存在一一對應的關系。因此,通常不能保證權重平均(WA) 在默認情況下表現良好。對于權重差異較大的訓練網絡,普通平均值表現不佳[204]。從統計的角度來看,WA允許控制模型中的各個模型參數,從而減少最終模型的方差,從而對正則化屬性和輸出結果產生可靠的影響[77, 166]。
下表是WA的代表性方法:
受快速幾何集成 (FGE) [66] 和檢查點平均 [149] 的啟發,[99]利用恒定或周期性學習率對SGD軌跡的多個點進行平均,這被視為隨機權重平均(SWA)。SWA 改進了一系列重要基線的訓練,提供了更好的時間可擴展性。SWA 不是訓練一組收集的模型(如普通融合),而是訓練單個模型來找到比 SGD 更平滑的解決方案。在下表中列出了與 SWA 相關的方法。此外,SWA 可以應用于任何架構或數據集,并展示出比快照集成 (SSE) [91] 和 FGE 更好的性能。在每個周期結束時,對新獲得的權重與現有權重進行平均來更新 SWA 模型。
然而SWA只能對局部最優點附近的點進行平均,最終得到一個相對最小值,而不能準確逼近最優值。另外,由于某些因素(如前期收斂性差、學習率大、權重變化率快等),最終的輸入樣本偏差可能較大或不充分,導致整體效果不佳。大量工作往往會改變 SWA 的采樣方法。
如圖不同SWA相關方法的采樣和學習率安排比較。(a) SWA:恒定學習率。(b)SWA:周期性學習率。(c)SWAD:密集采樣。(d)HWA:利用在線和離線WA,以不同的同步周期采樣,滑動窗口長度為h。
模型湯[239]是指對用不同超參微調的模型進行平均的方法。它簡單但有效,在 ImageNet-1K 上實現了 90.94% 的準確率,超過了之前在 CoAtNet-7 (90.88%) [38] 和 ViT-G (90.45%) [255] 上的工作。如表總結了不同的模型湯方法。
在 多任務學習(MTL )中,預訓練模型和任務向量(即 τi = Wft ? Wpre,預訓練模型和微調模型之間的差異)相結合,在所有任務上獲得更好的性能。基于這一觀察,任務算術[94]通過加法和線性組合微調任務向量來提高模型在任務上的性能,這已成為直接編輯預訓練模型的靈活高效的方法,如圖所示:采用任務算術和LoraHub(Low-rank adaptations Hub)。
另外,子空間中的模型融合將訓練軌跡限制在低維子空間中,可減少負載和難度。
WA 通過平均不同深度模型的權重來獲得最終模型,無需額外的計算復雜性或訓練過程[109, 159]。一般來說,如果隨機模型在表示能力、結構或訓練數據方面存在顯著差異,則融合的結果可能無法達到預期的性能。使用相同的超參配置但具有不同的數據順序從頭開始對模型進行線性插值甚至不如隨機模型有效[59]。因此,大量提出的方法旨在以其他數學方式優化 WA 過程。
此外,當模型共享其優化軌跡的一部分(例如,檢查點平均、尾部平均、SWA [99, 149] 等)或在相同的預訓練模型上進行微調時(例如,模型湯 [239] 等),插值模型的準確性表現更好[167]。此外,模型湯[239]對具有不同超參配置的模型進行平均以獲得最終結果。此外,在模型平均值中選擇適當的權重也可能是一個挑戰,這通常充滿主觀性。更復雜的權重選擇機制可能需要大量復雜的試驗和交叉驗證。
WA是深度學習中一種很有前景的技術,未來可以作為模型優化技術,減少不同迭代之間的權值波動,提高穩定性和收斂速度。WA可以改進聯邦學習(FL)的聚合階段,以更好地保護隱私并降低未來的通信成本。此外,通過在終端設備上實施網絡壓縮,有望減少模型在資源受限設備上的存儲空間和計算開銷[250]。簡而言之,WA是一種有前途且具有成本效益的DL技術,可以應用于FL等領域,以提高性能并減少存儲開銷。
集成學習,或多分類器系統,是一種集成多個單一模型來生成最終預測的技術,包括投票、平均[195]等。它提高了整體性能并減少了模型的方差,解決了諸如過擬合、 不穩定,數據量有限。
基于現有的預訓練源模型,模型重用[266]提供了應用于新任務所需的模型,而無需從頭開始重新訓練新模型。它可以節省時間和計算資源,并在資源有限的情況下提供更好的性能[249]。另外,由于遷移學習的重點是解決目標域上的預測任務,因此模型重用可以視為遷移學習的一種。但遷移學習需要源域和目標域的標記數據,而在模型重用中,只能收集未標記的數據,而不能使用源域的數據[153]。
與多分類器集成學習不同,大多數當前方法重用現有的特征、標簽或模態來獲得最終預測[176, 266],而不存儲大量訓練數據[245]。模型重用的另一個關鍵挑戰是從一組針對給定學習任務的預訓練模型中識別有用的模型。
使用單一模型進行模型重用會產生過多的同質信息(例如,在一個域訓練的模型可能不適合另一域的數據),并且很難找到完全適合目標域的單一預訓練模型 。一般來說,用一組相似的模型來產生比單個模型更好的性能,這被表示為多模型重用(MMR)[153]。
下表比較不同復用方法的特點,簡而言之,模型復用可以顯著減少使用預訓練模型所需的數據量,解決不同端之間傳輸數據時消耗大量帶寬的問題。多模型復用也有廣泛的應用,例如語音識別、安全隱私交互系統、數字視網膜[64]等。
與聯邦學習[88,89,160]等對模型參數和規模有一定要求的相關模型融合算法相比,集成學習方法利用預測來組合多個異構弱分類器,沒有這樣的限制。另外,集成方法中不同架構的網絡會比WA有更明顯的比較效果。然而,集成方法需要維護和運行多個經過訓練的模型,并在測試時將它們一起運行。考慮到深度學習模型的規模和復雜性,這種方法不適合計算資源和成本有限的應用程序[204]。
由于集成學習框架的多樣性,可以實現模型多樣性并增強泛化能力。將來,這對于處理數據變化和對抗性攻擊非常重要。深度學習中的集成學習有望為模型預測提供置信度估計和不確定性測量,這對于決策支持系統、自動駕駛[74]、醫療診斷等的安全性和可靠性至關重要。
近年來,深度模型融合領域出現了大量的新研究,也推動了相關應用領域的發展。
聯邦學習
為了解決數據存儲的安全性和集中化挑戰,聯邦學習(FL) [160, 170]允許許多參與模型協作訓練共享的全局模型,同時保護數據隱私,而無需將數據集集中在中央服務器上。它也可以被視為多-方學習問題[177]。特別是,聚合是 FL 的一個重要過程,它包含了由各方(例如設備、組織或個人)訓練的模型或參數更新。如圖演示了集中式和分散式 FL 中的兩種不同聚合方法。,左:中央服務器和客戶端終端之間的集中式聯邦學習,遷移模型或梯度,最終聚合在服務器上。右:分散式聯合學習在客戶端終端之間傳輸和聚合模型,無需中央服務器。
下表是聯邦學習的不同聚合方法:
簡而言之,FL 中聚合步驟的本質是一種模型融合技術。選擇合理的模型融合方法可以減少特定參與者或個體數據對最終模型的影響,從而提高模型在全局范圍內的泛化能力和適應性。今后良好的聚合方法有望有助于應對聯邦學習中的一系列挑戰。高質量且可擴展的聚合方法預計將面臨FL的一系列挑戰,例如客戶端異構性、非獨立同分布異構數據、有限的計算資源[141]等。FL有望展現其潛力在更多領域中,例如自然語言處理、推薦系統[146]、醫學圖像分析[144]等。
微調
微調是一個基本模式(例如預訓練模型),是調整模型以執行下游任務的有效方法 [23, 41],這可以使用更少的標記數據獲得更好的泛化和更準確的輸出。與隨機初始化相比,預訓練模型是通過相對一組特定于任務的數據來訓練的,這始終是更好的訓練標準起點。盡管如此。現有微調模型 [28, 29] 的平均值甚至是比普通預訓練模型更好的基礎模型,用于對下游任務進行微調。
此外,最近有大量將 WA 與微調相結合的工作,如圖所示,例如 model soup [239]、DiWA [190] 等。微調提高了目標分布的準確性,但往往導致分布變化的穩健性下降。對微調模型進行平均的策略可能很簡單,但它們沒有充分利用每個微調模型之間的連接。因此,在目標任務訓練之前先進行中間任務訓練可以探索基礎模型的能力[180,185,224]。受相互訓練策略 [185] 的啟發,[188]微調輔助任務的模型,利用不同的輔助任務并提高分布外(OOD)泛化能力。
微調模型的平均值減少了實現目標所需的訓練時間[28],并生成更準確和更好的泛化模型。本質上,不同的微調方式(例如,凍結層微調、頂層微調等)也會對最終的精度和分布偏移產生一定的影響[240]。然而,WA和微調的結合是昂貴的開銷,對具體應用有一定的限制。此外,它可能面臨保存檢查點爆炸或災難性遺忘的問題[121],特別是應用于遷移學習。
知識蒸餾
知識蒸餾(KD)[83]是集成多個模型的重要方法,涉及以下兩類模型。教師模型是指在大規模數據上訓練的大型且強大的模型,具有較高的預測能力和表達能力。學生模型是一個相對較小的模型,具有較少的參數和計算資源 [18, 199]。利用教師的知識(例如輸出概率分布、隱藏層表示等)指導訓練,學生可以用更少的資源和更快的速度達到接近大型模型的預測能力[2, 119, 124 ,221]。考慮到多個教師或學生的表現預計比單個模型[6]更好,根據聚合目標將 KD 分為兩類,如圖所示。
第一類方法是合并多個教師模型并直接提取學生模型,如表所示。目前,最近的工作主要集成教師的輸出(例如,logits [6,49,252]或特征) 基礎知識 [143, 241] 等)。
另一種方法是使用教師模型提取多個學生,然后合并這些學生模型。然而,合并多學生也存在一些問題,例如計算資源需求大、解釋性差以及過度依賴原始模型等。
基礎模型/LLMs的模型融合
基礎模型在處理復雜任務時表現出強大的性能和突現能力,大型基礎模型的特點是其龐大的規模,包含數十億個參數,幫助學習數據中的復雜模式。特別是,隨著最近新的LLM [200, 264]的出現,如GPT-3 [17, 172],T5 [187],BERT [41],Megatron-LM,WA的應用[154, 212, 256] ] LLM引起了更多關注。
此外,最近的工作 [120, 256] 傾向于設計更好的框架和模塊來適應應用LLM。由于高性能和低計算資源,對大型基礎模型進行微調可以提高分布變化的魯棒性[240]。