成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大模型微調新范式:當LoRA遇見MoE

發布于 2024-3-28 14:03
瀏覽
0收藏

01 引言

當 LoRA 遇見 MoE,會擦出怎樣的火花?

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 左側:原始版本的 LoRA,權重是稠密的,每個樣本都會激活所有參數;右側:與混合專家(MoE)框架結合的 LoRA,每一層插入多個并行的 LoRA 權重(即 MoE 中的多個專家模型),路由模塊(Router)輸出每個專家的激活概率,以決定激活哪些 LoRA 模塊。


由于大模型全量微調時的顯存占用過大,LoRA、Adapter、IA 這些參數高效微調(Parameter-Efficient Tuning,簡稱 PEFT)方法便成為了資源有限的機構和研究者微調大模型的標配。PEFT 方法的總體思路是凍結住大模型的主干參數,引入一小部分可訓練的參數作為適配模塊進行訓練,以節省模型微調時的顯存和參數存儲開銷。


傳統上,LoRA 這類適配模塊的參數和主干參數一樣是稠密的,每個樣本上的推理過程都需要用到所有的參數。近來,大模型研究者們為了克服稠密模型的參數效率瓶頸,開始關注以 Mistral、DeepSeek MoE 為代表的混合專家(Mixure of Experts,簡稱 MoE)模型框架。


在該框架下,模型的某個模塊(如 Transformer 的某個 FFN 層)會存在多組形狀相同的權重(稱為專家),另外有一個路由模塊(Router)接受原始輸入、輸出各專家的激活權重,最終的輸出為:


  • 如果是軟路由(soft routing),輸出各專家輸出的加權求和;
  • 如果是離散路由(discrete routing),即 Mistral、DeepDeek MoE 采用的稀疏混合專家(Sparse MoE)架構,則將 Top-K(K 為固定的 超參數,即每次激活的專家個數,如 1 或 2)之外的權重置零,再加權求和。

在 MoE 架構中,每個專家參數的激活程度取決于數據決定的路由權重,使得各專家的參數能各自關注其所擅長的數據類型。在離散路由的情況下,路由權重在 TopK 之外的專家甚至不用計算,在保證總參數容量的前提下極大降低了推理的計算代價。


那么,對于已經發布的稠密大模型的 PEFT 訓練,是否可以應用 MoE 的思路呢?近來,筆者關注到研究社區開始將以 LoRA 為代表的 PEFT 方法和 MoE 框架進行結合,提出了 MoV、MoLORA、LoRAMOE 和 MOLA 等新的 PEFT 方法,相比原始版本的 LORA 進一步提升了大模型微調的效率。


本文將解讀其中三篇具有代表作的工作,以下是太長不看版:


  1. MoV 和 MoLORA [1]:提出于 2023 年 9 月,首個結合 PEFT 和 MoE 的工作,MoV 和 MoLORA 分別是 IA 和 LORA 的 MOE 版本,采用 token 級別的軟路由(加權合并所有專家的輸出)。作者發現,對 3B 和 11B 的 T5 大模型的 SFT,MoV 僅使用不到 1% 的可訓練參數量就可以達到和全量微調相當的效果,顯著優于同等可訓練參數量設定下的 LoRA。
  2. LoRAMOE [2]:提出于 2023 年 12 月,在 MoLORA [1] 的基礎上,為解決微調大模型時的災難遺忘問題,將同一位置的 LoRA 專家分為兩組,分別負責保存預訓練權重中的世界知識和微調時學習的新任務,并為此目標設計了新的負載均衡 loss。
  3. MOLA [3]:提出于 2024 年 2 月,使用離散路由(每次只激活路由權重 top-2 的專家),并發現在每一層設置同樣的專家個數不是最優的,增加高層專家數目、降低底層專家數目,能在可訓練參數量不變的前提下,明顯提升 LLaMa-2 微調的效果。

02 MoV和MoLORA:PEFT初見MoE,故事開始

論文標題:

Pushing Mixture of Experts to the Limit: Extremely Parameter Efficient MoE for Instruction Tuning

論文鏈接:

??https://arxiv.org/abs/2309.05444??


該工作首次提出將 LoRA 類型的 PEFT 方法和 MoE 框架進行結合,實現了 MoV(IA 的 MOE)版本和 MoLORA(LORA 的 MOE)版本,發現 MoV 的性能在相等的可訓練參數量設定下優于原始的 LORA,非常接近全參數微調。回顧下IA 的適配模塊設計,即在 Transformer 的 K、V 和 FFN 的第一個全連接層的輸出,各自點乘上一個可訓練的向量 :

大模型微調新范式:當LoRA遇見MoE-AI.x社區

那么,MOV 就是將這些可訓練向量各自復制  份參數(n 為專家個數),并加入一個路由模塊接受 K/V/FFN 原本輸出的隱向量 、輸出各專家的激活權重,過 softmax 之后得到各專家的激活概率 ,以其為權重對各個可訓練向量求和(之后向原始版本的 IA 一樣,將求和后的向量點乘上原輸出的隱向量)。圖示如下:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ MOV 方法的示意圖,引自論文[1]。


實驗部分,作者在 Public Pool of Prompts 數據集上指令微調了參數量從 770M 到 11B 的 T5 模型,在 8 個 held out 測試集上進行測試。實驗的微調方法包括全量微調、原始版本的 IA 和 LORA、MoV 和 MoLORA。


從測試結果上來看,MoV的性能明顯好于 MoLORA 和原始版本的 IA 和 LORA。例如,專家個數  的 MoV-10 只用 3B 模型 0.32% 的參數量,就能達到和全量微調相當的效果,明顯優于同等可訓練參數量的 IA 和 LORA,而使用 0.68% 可訓練參數的 MoV-30(60.61)甚至超過全量微調。

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 3B 模型的測試結果,只使用 0.32% 可訓練參數的MoV-10 的平均 accuracy(59.93)接近全量微調(60.06),明顯優于使用 0.3% 可訓練參數的原始版本 LORA(57.71)。使用 0.68% 可訓練參數的 MoV-30(60.61)甚至超過全量微調。


此外,作者還對專家的專門程度(speciality,即每個任務依賴少數幾個特定專家的程度)進行了分析,展示 MOV-5 微調的 770M 模型最后一層 FFN 中各專家路由概率的分布:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 路由概率的分布,左側為模型在訓練集中見過的任務,右側為測試集中模型未見過的任務。


可以看出,無論模型是否見過任務數據,大多數任務都有 1-2 個特別側重的專家占據了大部分激活概率值,說明 MoV 這個 MoE 實現達成了專家的專門化。


03 LoRAMOE:LoRA專家分組,預訓練知識記得更牢

論文標題:

LoRAMoE: Revolutionizing Mixture of Experts for Maintaining World Knowledge in Language Model Alignment

論文鏈接:

??https://arxiv.org/abs/2312.09979??


此文為復旦大學 NLP 組的工作,研究動機是解決大模型微調過程中的災難遺忘問題


作者發現,隨著所用數據量的增長,SFT 訓練會導致模型參數大幅度偏離預訓練參數,預訓練階段學習到的世界知識(world knowledge)逐漸被遺忘,雖然模型的指令跟隨能力增強、在常見的測試集上性能增長,但需要這些世界知識的 QA 任務性能大幅度下降:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 左側為不需要世界知識的常見測試集上的性能,右側為需要世界知識的 QA 測試集上的表現,橫軸為 SFT 數據量,紅線為模型參數的變化程度。


作者提出的解決方案是:


  • 數據部分:加入 world knowledge 的代表性數據集 CBQA,減緩模型對世界知識的遺忘;
  • 模型部分:以(1)減少模型參數變化、(2)隔離處理世界知識和新任務知識的參數為指導思想,在上一篇文章的 MoLORA 思想上設計了 LoRAMoE 方法,將 LoRA 專家們劃分為兩組,一組用于保留預訓練參數就可以處理好的(和世界知識相關的)任務,一組用于學習 SFT 過程中見到的新任務,如下圖所示:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

為了訓練好這樣的分組專家,讓兩組專家在組間各司其職(分別處理兩類任務)、在組內均衡負載,作者設計了一種名為 localized balancing contraint 的負載均衡約束機制。具體地,假設  為路由模塊輸出的重要性矩陣, 代表第  個專家對第  個訓練樣本的權重, 作者定義的和  形狀相同的矩陣:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

其中  為 0-1 之間的固定值(控制兩組專家不平衡程度的超參), 為第  個專家的類型(設負責保留預訓練知識的那組為 0,負責習新任務的那組為1), 為第  個樣本的類型(設代表預訓練知識的 CBQA 為 0,其他 SFT 數據為 1)。負載均衡損失  的定義為用  加權后的重要性矩陣  的方差除以均值:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

這樣設計 loss 的用意是,對任意一種訓練樣本,兩組 LoRA 專家組內的  值是相等的,優化  即降低組內路由權重的方差,使得組內負載均衡;兩組專家之間,設專家組 A 對當前類型的數據更擅長,則其  值大于另一組專家 B,訓練起始階段的 A 的激活權重就顯著大于 B,A 對這種數據得到的訓練機會更多,路由模塊在訓練過程中逐漸更傾向對這種數據選擇A組的專家。


這種“強者愈強”的極化現象是 MoE 領域的經典問題,可以參見經典的 sMoE 論文 The Sparsely-Gated Mixture-of-Experts Layer [4] 對該問題的闡述。


這樣一來,即使推理階段沒有數據類型  的信息,A 對這種數據的路由值  也會顯著大于 B 的相應值,這就實現了兩組專家各司其職的目標。


實驗部分,作者在 CBQA 和一些列下游任務數據集混合而成的 SFT 數據上微調了 LLaMA-2-7B,對比了全量 SFT、普通 LORA 和作者所提的 LoRAMoE 的性能。


結果顯示,LoRAMoE 有效克服了大模型 SFT 過程中的災難性遺忘問題,在需要世界知識的 QA 任務(下表下半部分)上性能最佳,在與 SFT 訓練數據關系更大的其他任務上平均來說基本與 SFT 訓練的模型相當:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

04 MOLA:統籌增效,更接近輸出端的高層需要更多專家

論文標題:

Higher Layers Need More LoRA Experts

論文鏈接:

??https://arxiv.org/abs/2402.08562???


該工作受到 MoE 領域先前工作 [5] 發現的專家個數過多容易導致性能下降的現象之啟發,提出了兩個問題:


  1. 現有 PEFT+MoE 的微調方法是否存在專家冗余的問題?
  2. 如何在不同中間層之間分配專家個數

為了解答問題 1,作者訓練了每層專家個數均為 5 的 LoRA+MoE(基座模型為 32 層的 LLaMa-2 7B),路由機制采用 Top-2 離散路由,計算了每層 self-attention 的 Q、K、V、O 各組專家權重內兩兩之間求差的 Frobenius 范數的平均值,可視化如下:

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 橫軸為模型層數,縱軸為專家權重之間的差異程度。


可以看出,層數越高(約接近輸出端),專家之間的差異程度越大,而低層的專家之間差異程度非常小,大模型底層的 LoRA 專家權重存在冗余。該觀察自然導出了對問題 2 答案的猜想:高層需要更多專家,在各層的專家個數之和固定的預算約束下,應該把底層的一部分專家挪到高層,用原文標題來說就是:

Higher Layers Need More Experts

為了驗證該猜想,作者提出了四個版本的專家個數劃分方式分別嚴重性能,它們統稱為 MoLAMoE-LoRA with Layer-wise Expert Allocation),分別是:


  • MoLA-△:正三角形,底層專家個數多,高層專家個數少;
  • MoLA-▽:倒三角形,底層少,高層多;
  • MoLA-??: 沙漏型,兩頭多、中間少;
  • MoLA-□:正方形,即默認的均勻分配。

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 四種在不同中間層之間劃分專家個數的方式。


具體實現中,作者將 LLaMA 的 32 層從低到高分為 4 組,分別是 1-8、9-16、17-24、25 到 32 層,以上四種劃分方式總的專家個數相等,具體劃分分別為:


  • MoLA-△:8-6-4-2
  • MoLA-▽:2-4-6-8;
  • MoLA-??: 8-2-2-8;
  • MoLA-□:5-5-5-5。

路由機制為 token 級別的 Top-2 路由,訓練時加入了負載均衡損失。MoLA 的 LoRA rank=8,基線方法中 LoRA 的秩為 64(可訓練參數量略大于上述四種 MoLA,與 MOLA-□ 的 8-8-8-8 版本相同)評測數據集為 MPRC、RTE、COLA、ScienceQA、CommenseQA 和 OenBookQA,在兩種設定下訓練模型:


  • 設定1:直接在各數據集的訓練集上分別微調模型;
  • 設定2:先在 OpenOrac 指令跟隨數據集上進行 SFT,再在各數據集的訓練集上分別微調模型。

從以下實驗結果可以看出,在設定 1 下,MoLA-▽ 都在大多數數據集上都取得了 PEFT 類型方法的最佳性能,遠超可訓練參數量更大的原始版本 LoRA 和 LLaMA-Adapter,相當接近全量微調的結果。

大模型微調新范式:當LoRA遇見MoE-AI.x社區

▲ 設定1下的實驗結果


在設定 2 下,也是倒三角形的專家個數分配方式 MoLA-▽ 最優,驗證了“高層需要更多專家”的猜想。

大模型微調新范式:當LoRA遇見MoE-AI.x社區

筆者點評:從直覺來看,模型的高層編碼更 high-level 的信息,也和目標任務的訓練信號更接近,和編碼基礎語言屬性的底層參數相比需要更多調整,和此文的發現相符,也和遷移學習中常見的 layer-wise 學習率設定方式(頂層設定較高學習率,底層設定較低學習率)的思想不謀而合,未來可以探索二者的結合是否能帶來進一步的提升。


本文轉自 PaperWeekly ,作者: 陳思碩


原文鏈接:??https://mp.weixin.qq.com/s/t_X8AHFgi-RHuviTuCYv0Q?poc_token=HIEHBWaj7StycR-gb0VbDPYDOV1x9eleCp4aiZ5S??

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 蜜臀久久99精品久久久久久宅男 | 日韩电影中文字幕在线观看 | 国产久 | 欧美日韩国产在线观看 | 久久免费视频2 | 久久综合99 | 欧美久久一级特黄毛片 | 日本成人毛片 | 久久91| 国产精品永久久久久久久www | 欧美日在线 | 久久999| 精品一二三区 | 国产在线播放av | 久久精品欧美电影 | 国产免费高清 | 日韩精品成人一区二区三区视频 | 亚洲综合区| 天天干天天色 | 欧美综合色 | 久久福利电影 | 亚洲va欧美va天堂v国产综合 | 免费精品| 久久久久久九九九九九九 | 超碰人人人人 | 精品久久久久国产 | 国产精品1区2区 | 国产亚洲一区二区在线观看 | 美女黄色在线观看 | 黄色大片网 | 欧美视频区| 国产高清免费 | 国产伦精品一区二区三区精品视频 | 日韩一区二区三区av | 91精品国产色综合久久不卡98 | a级片在线观看 | 日韩欧美在线精品 | 欧美成人免费在线 | 999视频在线播放 | 波多野结衣一区二区 | 超碰免费在线 |