计算机视觉/视频分析

推出高性能微调解决方案 DoRA,LoRA 的替代选择

全微调(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% 接受率)。

Diagram showing that DoRA consistently outperforms LoRA on various tasks (LLM, VLM, LVLM) and backbones (Llama 2 and 3).
图 1.DoRA 和 LoRA 在各种任务和主干上的比较

DoRA 的工作原理是什么?

DoRA 首先将预训练权重分解为其 大小方向 分量,然后对两者进行微调。由于方向分量在参数方面的尺寸较大,DoRA 利用 LoRA 进行方向适应,以实现高效的微调,如图 2 所示。最后,在推理前可以将 DoRA 与预训练权重合并,从而避免引入额外的延迟。

Diagram of proposed DoRA, which decomposes the pretrained weight into magnitude and direction components for fine-tuning, especially with LoRA to efficiently update the direction component.
图 2.DoRA 概述

DoRA 如何影响模型训练 

为研究 DoRA 对模型训练的影响,图 3 显示了 DoRA 权重 W` 与预训练权重 W0 之间的大小和方向差异 (∆D, ∆M) (以 FT 和 LoRA 形式呈现)。根据 DoRA 和 FT 的 (∆D, ∆M) 的回归线,DoRA 和 FT 具有明显的负斜率特征,而 LoRA 显示的却是清晰的正相关性。不同的标记表示不同训练步骤的矩阵,不同的颜色表示每层的矩阵。

Figure shows magnitude and direction updates of FT, LoRA, and DoRA of the query matrices across different layers and intermediate steps. DoRA and FT show a distinct negative slope while LoRA shows a clear positive correlation, indicating that DoRA has a learning capacity closely resembling FT.
图 3.FT、LoRA 和 DoRA 的强度和方向更新

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
表 5.视觉指令调整任务中 LoRA 和 DoRA 的比较

压缩感知 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)。

Graph showing that QDoRA significantly outperforms QLoRA on the Math Problem Benchmark, Orca-Math, with either Llama2 or Llama3 backbone. QDoRA+Llama2 has comparable results with QLoRA+Llama3. Moreover, QDoRA outperforms FT, which requires much larger memory.
图 4. QDoRA 与其他方法在 Orca-Math 数据集(包括 100K 训练样本)上的准确度比较

文本到图像生成

使用 Hugging Face 开发的高级训练脚本,还可以在 DreamBooth 上应用 DoRA,以实现文本到图像的个性化对具有挑战性的 3d_iconlego_set 数据集的测试结果表明,在相同的训练配置下,DoRA 可以获得明显优于 LoRA 的个性化结果(图 5)

Two sets of images showing that on the challenging 3d_icon and lego_set datasets, DoRA can obtain significantly better personalization results than LoRA under the same DreamBooth training configurations.
图 5.在具有挑战性的 3D 图标 (上) 和乐高 (下) 数据集上使用 DreamBooth 和 DoRA 的个性化结果

总结

DoRA 是一种通常高效且有效的训练技术,很快将得到各种 NVIDIA 服务、平台和框架的支持。DoRA 是一种与 LoRA 及其变体兼容的微调方法,并且显示出与 FT 学习行为更加相似。DoRA 在各种微调任务和模型架构中的表现始终优于 LoRA。此外,DoRA 可以被视为 LoRA 的无成本替代产品,因为其分解的大小和方向组件可以在训练后重新合并到预训练权重中,确保不会产生额外的推理开销。我们希望 DoRA 能够帮助 NVIDIA 有效地调整各种基础模型,以适应NVIDIA MetropolisNVIDIA NeMoNVIDIA NIMNVIDIA TensorRT、音视频、机器人、生成式 AI 等领域的各种应用。

查看以下资源以了解详情:

 

Tags