DoRA

分类: 量化与低秩

type:: concept aliases:: DoRA, Weight-Decomposed Low-Rank Adaptation

  • DoRA

  • 定义

  • DoRA (Weight-Decomposed Low-Rank Adaptation) 将预训练权重分解为幅度 (magnitude)方向 (direction) 两个分量,仅对方向分量施加 LoRA 低秩更新,幅度分量单独可训练。

  • 数学形式

  • 权重分解:W=mVVcW = m \cdot \frac{V}{\|V\|_c},其中 mR1×km \in \mathbb{R}^{1 \times k} 为幅度向量,VRd×kV \in \mathbb{R}^{d \times k} 为方向矩阵

  • 微调时:W=mV+ΔVV+ΔVcW' = m' \cdot \frac{V + \Delta V}{\|V + \Delta V\|_c},其中 ΔV=BA\Delta V = BA 为 LoRA 低秩更新,mm' 为可训练幅度

  • 核心要点

  • 动机来自对全量微调 (FT) 和 LoRA 学习模式的分析:FT 倾向于大幅调整方向、小幅调整幅度,而 LoRA 在两者上都调整不充分

  • 分离幅度和方向后,DoRA 的学习模式更接近全量微调

  • 参数量仅比 LoRA 多一个幅度向量 mm'kk 个额外参数),开销几乎可忽略

  • 在 LLM 和视觉任务上均优于 LoRA,尤其在低秩设定(rank 较小)时优势更明显

  • 代表工作

  • LoRA: DoRA 的直接改进对象

  • PiSSA: 另一种 LoRA 变体,基于 SVD 初始化

  • 相关概念

  • LoRA

  • 低秩分解

  • QAT