全微調(FT)通常用于針對特定的下游任務定制通用預訓練模型。為了降低訓練成本,我們引入了參數高效微調(PEFT)方法,以使用最少的參數微調預訓練模型。其中,低階適應(LoRA)及其變體因避免了額外的推理成本而備受歡迎然而,這些方法與全微調之間仍然存在準確性差距。
NVIDIA 中國臺灣研究院與NVIDIA 學習和感知研究小組共同開發了權重-分解低階適應 (DoRA),可作為 LoRA 的默認替代方案。DoRA 既能提高 LoRA 的學習能力,又能提高穩定性,且不會產生任何額外的推理開銷。
DoRA 在各種大型語言模型 (LLM) 和視覺語言模型 (VLM) 任務中的表現始終優于 LoRA,例如 common-sense 推理 (+3.7/+1.0 在 Llama 7B/13B 上,+2.9 在 Llama 2 7B 上,和 +4.4 在 Llama 3 8B 上)、Multi-Turn (MT) 基準測試 (+0.4/+0.3 在 Llama/Llama 2 7B 上),圖像/視頻文本理解 (+0.9/+1.9 在 VL-BART 上) 和視覺指令調整 (+0.6 在 LLaVA 7B 上)。DoRA 還在其他任務中得到了演示,包括壓縮感知 LLM 和文本轉圖像生成。這項工作已作為口頭論文被 ICML 2024 接受 (1.5% 接受率)。

DoRA 的工作原理是什么?
DoRA 首先將預訓練權重分解為其 大小 和 方向 分量,然后對兩者進行微調。由于方向分量在參數方面的尺寸較大,DoRA 利用 LoRA 進行方向適應,以實現高效的微調,如圖 2 所示。最后,在推理前可以將 DoRA 與預訓練權重合并,從而避免引入額外的延遲。

DoRA 如何影響模型訓練?
為研究 DoRA 對模型訓練的影響,圖 3 顯示了 DoRA 權重 W` 與預訓練權重 W0 之間的大小和方向差異 (?D, ?M) (以 FT 和 LoRA 形式呈現)。根據 DoRA 和 FT 的 (?D, ?M) 的回歸線,DoRA 和 FT 具有明顯的負斜率特征,而 LoRA 顯示的卻是清晰的正相關性。不同的標記表示不同訓練步驟的矩陣,不同的顏色表示每層的矩陣。

DoRA 展示了在大小或反向變化相對較小的情況下僅進行重大方向調整的能力,同時顯示了更接近于 FT 的學習模式,這表明其優于 LoRA 的學習能力。有關更多定性和數學分析,請參閱 DoRA:權重分解低階適應。
性能
DoRA 在各種模型 (包括 LLM、VLM、壓縮 LLM 和擴散模型) 中的性能優于 LoRA。
大型語言模型
就整體普通推理能力而言,DoRA 的表現明顯優于 LoRA,如表 1 所示。此外,DoRA 還可以提供比 LoRA 更好的對話和指令遵循功能,如表 2 中的 MT 基準測試所示。
Model | # Params (%) | BoolQ? | PIQA | SIQA | HellaSwag? | WinoGrande? | ARC-e? | ARC-c? | OBQA? | Avg. |
ChatGPT-3.5 | – | 73.1 | 85.4 | 68.5 | 78.5 | 66.1 | 89.8 | 79.9 | 74.8 | 77.0 |
Llama-LoRA | 0.83 | 68.9 | 80.7 | 77.4 | 78.1 | 78.8 | 77.8 | 61.3 | 74.8 | 74.7 |
Llama-DoRA (Ours) | 0.84 | 69.7 | 83.4 | 78.6 | 87.2 | 81.0 | 81.9 | 66.2 | 79.2 | 78.4 |
Llama 2-LoRA | 0.83 | 69.8 | 79.9 | 79.5 | 83.6 | 82.6 | 79.8 | 64.7 | 81.0 | 77.6 |
Llama 2-DoRA (Ours) | 0.84 | 72.0 | 83.1 | 79.9 | 89.1 | 83.0 | 84.5 | 71.0 | 81.2 | 80.5 |
Llama 3-LoRA | 0.83 | 70.8 | 85.2 | 79.9 | 91.7 | 84.3 | 84.2 | 71.2 | 79.0 | 80.8 |
Llama 3-DoRA (Ours) | 0.84 | 74.6 | 89.3 | 79.9 | 95.5 | 85.6 | 90.5 | 80.4 | 85.8 | 85.2 |
表 1.LoRA 和 DoRA 在普通推理基準測試中的比較
Model | # Params (%) | Score |
Llama-LoRA | 2.31 | 5.1 |
Llama-DoRA (Ours) | 2.33 | 5.5 |
Llama-VeRA | 0.02 | 4.3 |
Llama-DVoRA (Ours) | 0.04 | 5.0 |
Llama 2-LoRA | 2.31 | 5.7 |
Llama 2-DoRA (Ours) | 2.33 | 6.0 |
Llama 2-VeRA | 0.02 | 5.5 |
Llama 2-DVoRA (Ours) | 0.04 | 6.0 |
表 2.MT-Bench 上 LoRA 和 DoRA 的比較(按 GPT-4 評分)。DVoRA 是通過在 VeRA 上集成 DoRA 獲得的。
視覺語言模型
除了純自然語言處理(NLP)之外,DoRA 在圖像文本理解(表 3)、視頻文本理解(表 4)和視覺指令調整(表 5)能力方面也優于 LoRA。
Model | # Params (%) | VQAv2 | GQA | NVLR2 | COCO Cap. | Avg. |
VLBART-LoRA | 5.93 | 65.2 | 53.6 | 71.9 | 115.3 | 76.5 |
VLBART-DoRA (Ours) | 5.96 | 65.8 | 54.7 | 73.1 | 115.9 | 77.4 |
表 3.圖像文本理解任務中 LoRA 和 DoRA 的比較
Model | # Params (%) | TVQA? | How2QA? | TVC? | YC2C | Avg. |
VLBART-LoRA | 5.17 | 75.5 | 72.9 | 44.6 | 140.9 | 83.5 |
VLBART-DoRA (Ours) | 5.19 | 76.3 | 74.1 | 45.8 | 145.4 | 85.4 |
表 4.視頻文本理解任務中 LoRA 和 DoRA 的比較
Model | # Params (%) | VQAv2? | GQA? | Vis-Wiz? | SQA? | VQAT? | POPE? | MMBench? | Avg. |
LLaVA-LoRA | 4.61 | 79.1 | 62.9 | 47.8 | 68.4 | 58.2 | 86.4 | 66.1 | 66.9 |
LLaVA-DoRA (Ours) | 4.63 | 78.6 | 62.9 | 52.2 | 69.9 | 57.0 | 87.2 | 66.1 | 67.6 |
壓縮感知 LLMs
為了進一步降低 PEFT 微調的顯存需求,QLoRA 建議將預訓練模型量化為 4 位,并在凍結的低位主干上微調 LoRA。借助 DoRA 縮小 LoRA 和 FT 之間差距,自然還可以探索 DoRA 是否可以在 QLoRA 框架中增強 LoRA 的準確性。
最近,我們的團隊與Answer.AI的幾位研究人員合作開展了 QDoRA 項目,該項目將 QLoRA 中的 LoRA 組件替換為 DoRA。結果表明,在 Llama 2 和 Llama 3 上,QDoRA 的性能分別優于 FT 和 QLoRA(圖 4)。

文本到圖像生成
使用 Hugging Face 開發的高級訓練腳本,還可以在 DreamBooth 上應用 DoRA,以實現文本到圖像的個性化對具有挑戰性的 3d_icon 和 lego_set 數據集的測試結果表明,在相同的訓練配置下,DoRA 可以獲得明顯優于 LoRA 的個性化結果(圖 5)

總結
DoRA 是一種通常高效且有效的訓練技術,很快將得到各種 NVIDIA 服務、平臺和框架的支持。DoRA 是一種與 LoRA 及其變體兼容的微調方法,并且顯示出與 FT 學習行為更加相似。DoRA 在各種微調任務和模型架構中的表現始終優于 LoRA。此外,DoRA 可以被視為 LoRA 的無成本替代產品,因為其分解的大小和方向組件可以在訓練后重新合并到預訓練權重中,確保不會產生額外的推理開銷。我們希望 DoRA 能夠幫助 NVIDIA 有效地調整各種基礎模型,以適應NVIDIA Metropolis、NVIDIA NeMo、NVIDIA NIM、NVIDIA TensorRT、音視頻、機器人、生成式 AI 等領域的各種應用。
查看以下資源以了解詳情:
?