你的LoRA需要更新了!科大訊飛等提出MiLoRA:新穎且高效的LoRA變體
論文鏈接:https://arxiv.org/pdf/2410.18035
低秩適應(LoRA)及其專家混合(MOE)變體是非常有效的參數(shù)高效微調(PEFT)方法。然而,由于在Transformer層中添加了LoRA模塊和MOE routers,這些方法在多租戶環(huán)境中引入了顯著的延遲。為了解決這個問題,本文提出了低秩適應的混合(MiLoRA),一種新穎且高效的LoRA變體。MiLoRA與之前的MOE風格LoRA方法不同之處在于將每個LoRA模塊視為一個專家,并采用了一種基于提示的router機制。該機制在生成第一個新標記之前計算專家路由結果,并將這些結果用于后續(xù)標記,從而減少延遲。在常識推理任務、數(shù)學推理任務和廣泛使用的LLM評估基準上進行的廣泛實驗和分析表明,MiLoRA始終優(yōu)于具有可比可調參數(shù)預算的強大PEFT基線。此外,與之前基于LoRA的方法相比,MiLoRA在多租戶環(huán)境中顯著減少了延遲。
亮點直擊
- 提出了一種新穎的LoRA變體,MiLoRA,它以高效的方式將MOE機制與LoRA結合起來。
- 在MiLoRA中,將每個LoRA模塊視為一個專家。
- 提出了一種基于提示的路由機制,以避免 token-wise 的計算。
- 進行了廣泛的實驗和分析,結果表明MiLoRA框架在實際應用中優(yōu)于基線模型,并在可比的參數(shù)預算下表現(xiàn)更佳;在大語言模型推理過程中高效。
總結速覽
解決的問題
- 多租戶環(huán)境中的延遲:在Transformer層中添加LoRA模塊和MOE router導致顯著的延遲,影響性能。
- 參數(shù)高效微調(PEFT)方法的局限性:現(xiàn)有的LoRA和MOE變體在多租戶設置中效率不高。
提出的方案
- MiLoRA框架:一種新穎且高效的LoRA變體,將MOE機制與LoRA結合。
- 基于提示的router機制:在生成第一個新標記之前計算專家結果,避免逐個token的router計算。
應用的技術
- 低秩適應(LoRA):用于有效的參數(shù)微調。
- 專家混合(MOE):通過將每個LoRA模塊視為一個專家,優(yōu)化模型選擇。
- 提示機制:用于高效計算和。
達到的效果
- 性能提升:在常識推理、數(shù)學推理任務和LLM評估基準上,MiLoRA優(yōu)于強大的PEFT基線。
- 顯著減少延遲:MiLoRA在多租戶環(huán)境中表現(xiàn)出更高的效率,相較于傳統(tǒng)LoRA方法降低了延遲。
- 可比的參數(shù)預算下的優(yōu)越表現(xiàn):在相同的參數(shù)預算下,MiLoRA框架在實際應用中表現(xiàn)更佳。
方法
本節(jié)首先介紹LoRA和MoE的基礎概念,然后詳細闡述MiLoRA的架構設計。
初步
動機
正如下表4所示,現(xiàn)有的MOE風格LoRA研究在推理過程中顯著減慢了LLM骨干網(wǎng)絡的速度,使每秒處理的tokens(tps)減少約20%。這些研究中,每個LoRA模塊被分解為多個專家,并且需要調用一個routers來確定哪些專家被激活。在生成每個token時,每層的多個LoRA模塊和多個 router的計算被執(zhí)行,導致的延遲不可忽視。為了提高這種MOE LoRA方法的效率,需要研究以下研究問題:
RQ1. 能否將LoRA模塊視為一個專家,使得每個Transformer層只有一個LoRA router,并且每層只激活一個這樣的專家?
RQ2. LoRA router能否在輸入提示時僅調用一次?
即時感知的 LoRA router
為了調查RQ1和RQ2,現(xiàn)在嘗試提出MiLoRA方法的細節(jié)。MiLoRA的核心是提示感知路由機制。在該機制下,LoRA router將輸入提示的隱藏狀態(tài)作為輸入,并輸出當前層的激活LoRA專家。與之前的工作不同,本文的工作:(a)僅在輸入提示首次通過Transformer骨干網(wǎng)絡并在生成第一個新標記之前計算LoRA router一次。 router的激活決策將在后續(xù)生成步驟中重復使用。(b)在Transformer的層級上確定激活的LoRA專家,選擇哪個Transformer模塊由其對應的LoRA模塊進行修改。
可學習激活函數(shù)
實驗
數(shù)據(jù)集和評估指標
將本文的方法與基線進行比較,涉及一系列具有挑戰(zhàn)性的任務:(a)五個基準常識問答任務,ARC-e 和 ARC-c,OBQA,PIQA,BoolQ。 (b)兩個數(shù)學推理任務,AQuA和 GSM8k。利用 Hu et al.(2023)提供的鏈式思維(COT)推理來訓練這些數(shù)學任務的樣本。所有推理都是通過zero-shot CoT在 GPT-3.5 上生成的,但沒有經(jīng)過任何錯誤過濾。 (c)MT-Bench,MMLU,和 BBH。由于這些任務不提供訓練數(shù)據(jù),利用 Alpaca數(shù)據(jù)集進行指令調優(yōu)。詳細的統(tǒng)計數(shù)據(jù)和評估指標可以在附錄 B 中找到。
基線
將 MiLoRA 框架與當前的 SOTA PEFT 基線方法進行比較。
LoRA 及其變體: 考慮以下 LoRA 變體作為基線:(a)原始 LoRA;(b)AdaLoRA,它在不同的 Transformer 模塊之間自適應調整 LoRA 參數(shù);(c)MOELoRA,它將每個 LoRA 模塊視為單秩 LoRA 專家的混合;(d)DoRA,這是 LoRA 的最新變體之一,它將預訓練權重分解為兩個組件:幅度和方向,用于微調,特別采用 LoRA 進行方向更新。
其他 PEFT 方法: 我們還考慮了最新的 PEFT 方法:(a)He et al.(2021)提出的 Parallel-Adapter;(b)Learned-Adapter;(c)P-tuning v2;(d)IAPT;(e)BitFit;(f)(IA)3,它將可學習向量乘到 Transformer 層中不同模塊的隱藏狀態(tài)上。
(g) SSP,這是一個結合不同PEFT方法的代表性工作,包括LoRA和BitFit?;€使用他們的開源代碼進行實現(xiàn)。我們僅調整與可調參數(shù)數(shù)量相關的超參數(shù),以公平比較基線方法和我們的MiLoRA方法。
實驗設置
計算基礎設施 在NVIDIA A40(48GB)GPU上運行所有實驗。
預訓練骨干模型 主要實驗使用最新開源的LLM,LlaMA-2 7B作為預訓練骨干模型。在消融研究中,我們還將使用最近發(fā)布的LlaMA-2 13B和Gemma 2B。
預測頭 在微調LlaMA-2 7B時,我們僅考慮監(jiān)督微調(SFT)設置。在接收到提示或指令后,所有預測均使用語言建模頭(LM head)生成。沒有安裝額外的預測頭來進行分類或數(shù)值預測。在推理期間的解碼中,我們使用束搜索,束大小為3。
可重復性 在五個不同的隨機種子下運行每個任務,并報告每個任務在測試集上的中位性能。
主要結果
單任務設置。在這個設置中,我們通過采用這些方法對單個任務進行微調,將MiLoRA與基線PEFT方法進行比較。五個常識推理任務和兩個數(shù)學推理任務的實驗結果見下表1。我們在第二列中展示了可調參數(shù)的數(shù)量,在第三列中展示了平均激活參數(shù)。表1顯示,我們的MiLoRA方法在所有七個任務中均優(yōu)于基線方法,具有可比的可調參數(shù)和更少的激活參數(shù)。特別是,MiLoRA在可比參數(shù)下超越了之前的SOTA LoRA風格基線,如AdaLoRA、DoRA和MOELoRA。這些結果表明,我們的方法在大語言模型的下游任務適應方面表現(xiàn)良好。
多任務設置。下表2展示了在多任務學習中,使用LLaMA2-7B的LoRA、DoRA、MOELORA和MiLoRA的結果。與表1中的單任務設置相比,在多任務學習期間,我們混合了來自ARC、BoolQ、OBQA和PIQA的訓練數(shù)據(jù)來訓練模型,然后進行單獨評估以調查每種方法的泛化能力。結果表明:(a) 與單任務學習相比,LoRA和DoRA在多任務學習中平均準確率有所下降(LoRA:-2.0%,DoRA:-2.25%)。與此同時,MOELORA和MiLoRA幾乎保持相同的平均準確率。MiLoRA在平均得分方面幾乎沒有性能損失。
通用指令調優(yōu)的結果。在使用我們的MiLoRA方法或MOELoRA方法對LLaMA-2 7B模型進行在Alpaca 數(shù)據(jù)集上的微調后,我們利用了具有挑戰(zhàn)性的基準測試,如MT-Bench、MMLU和BBH進行評估。我們報告了在MT-Bench上的平均GPT-4得分(gpt4-score)。下表3展示了結果。與之前的實驗(表1和表2)一致,我們的MiLoRA方法在這三個基準測試中優(yōu)于MOELoRA方法,證明了MiLoRA在提升大語言模型指令調優(yōu)質量方面的優(yōu)越性。
消融研究與進一步分析
推理效率分析
為了展示MiLoRA方法的推理效率,現(xiàn)在比較MiLoRA、DoRA和MOELoRA在不同beam size下進行beam search時的GPU內存和解碼速度。在這個實驗中,LoRA參數(shù)沒有合并到主干中,以模擬單一大語言模型的多租戶設置。我們提供了兩個用于衡量效率的指標:(a) 峰值內存成本(以MiB為單位)。(b) 每秒生成的tokens數(shù)量(tps)。結果如表4所示。
從表4可以看出,在beam size為1和3的情況下,MiLoRA方法的內存成本與MOELoRA和DoRA相當。然而,其在tps方面的生成速度顯著更高。對于beam size為1,MiLoRA比MOELoRA快21.7%,比DoRA快19.7%。
在beam size為3的情況下,MiLoRA比MOELoRA快17.9%,比DoRA快13.2%。MiLoRA的速度優(yōu)勢來自以下因素:(a) 我們的方法僅在輸入提示首次經(jīng)過大語言模型(LLM)并在生成第一個新token之前的每個Transformer層調用LoRA router。相比之下,MOELoRA和幾乎所有現(xiàn)有的基于MOE的LoRA變體在生成每個新token時需要在每層調用多個 router。(b) 我們的方法顯著減少了在每個解碼步驟中激活的LoRA模塊數(shù)量,使得生成新token更加高效。
激活的LoRA專家的分布
我們現(xiàn)在比較MT-Bench、BoolQ和PIQA任務中所有Transformer層上的LoRA專家分布,如圖2所示。我們可以觀察到:(a) 不同的Transformer層通過其對應的 router選擇激活不同的LoRA專家,且單個LoRA專家的最大比例不到30%。結果是直觀的,因為不同深度的Transformer層表示不同的知識,需要不同的LoRA專家來表達。(b) 不同任務上的LoRA分布是不同的。例如,在MT-Bench和BoolQ任務中,少數(shù)層激活LoRA Q或LoRA K,而在PIQA任務中,這兩個LoRA專家被頻繁選擇。
MiLoRA框架的消融研究
我們現(xiàn)在考慮以下MiLoRA的變體:(a) MiLoRA-1將自注意力池化替換為平均池化。(b) MiLoRA-2將自注意力池化替換為最后一個token池化。(c) MiLoRA-3為LoRA router使用GeLU激活函數(shù)。(d) MiLoRA-4在前16層的LoRA router中使用ReLU,在更深的16層中使用GeLU。(e) MiLoRA-5在前16層的LoRA router中使用GeLU,在更深的16層中使用ReLU。BoolQ、PIQA和MMLU任務的實驗結果如表5所示。
結果顯示,MiLoRA在默認設置下(如表1所示)優(yōu)于五個變體。此外,(a) 將MiLoRA-1和MiLoRA-2與MiLoRA進行比較表明,自注意力池化器提供了高質量的信息聚合,從而實現(xiàn)了正確的LoRA專家選擇。(b) 將MiLoRA-5與MiLoRA-3和MiLoRA-4進行比較表明,為不同層的 router使用不同的激活函數(shù)可以提升性能。(c) 然而,MiLoRA優(yōu)于MiLoRA-3、MiLoRA-4和MiLoRA-5,表明可學習的激活函數(shù)可以為每個LoRA router適配適當?shù)募せ詈瘮?shù),并增強下游適應能力。
關于預訓練骨干網(wǎng)絡的消融實驗
我們的主要實驗是在LlaMA-2 7B模型上進行的。為了展示我們方法的廣泛適用性,現(xiàn)在在LlaMA-2 13B和Gemma 2B上進行實驗。結果在附錄E的表7中報告可以看到,我們的MiLoRA方法在這兩個骨干網(wǎng)絡上也能優(yōu)于基線方法。
結論
這項工作介紹了LoRA混合(MiLoRA)方法,一種用于大語言模型參數(shù)高效微調的新方法。與以前關于MOE風格LoRA方法的文獻不同,MiLoRA:(a)在Transformer層級激活LoRA專家,決定激活哪個Transformer模塊的LoRA。(b)激活哪個LoRA專家的決策依賴于輸入提示。(c)對于給定的提示,LoRA router只調用一次。后續(xù)的tokens生成步驟重用 router的決策。為了提高我們框架的下游性能,建議在微調期間為不同深度的LoRA router學習不同的激活函數(shù)。我們的方法易于實現(xiàn)且現(xiàn)成可用。在各種任務上的實驗表明,MiLoRA方法在推理效率的同時優(yōu)于基線方法。
限制本文證明了提出的方法可以提高參數(shù)高效微調在多種任務和不同預訓練模型(如LlaMA-2 7B、LlaMA-2 13B、Gemma 2B)上的性能。然而,我們也承認以下局限性:(a)由于計算資源有限,我們沒有對更大規(guī)模的開源大語言模型(如LlaMA-2 70B)進行實驗。(b)自然語言處理中的其他任務,如信息抽取,也未被考慮。不過,我們的框架可以輕松轉移到其他主干架構和不同類型的任務上。研究我們的方法是否在其他大規(guī)模主干模型和其他類型的任務上仍然具有優(yōu)越性將會很有趣。將在未來的工作中探索這一點。
本文轉自AI生成未來 ,作者:AI生成未來
