模型微调方法

admin2024-07-01  17

文章目录

  • LoRA
  • DoRA
  • MoRA

LoRA

LoRA假设微调期间的权重更新可以很好地近似于低秩矩阵。LoRA不会更新全权重矩阵 W \mathbf{W} W, 而是将更新分解为两个较小的矩阵 A \mathbf{A} A B \mathbf{B} B
模型微调方法,0,第1张

具体的训练过程是: 将原来的矩阵参数固定,然后利用新的数据继续训练大模型,训练过程只更新 A \mathbf{A} A B \mathbf{B} B矩阵。在推理时,将原来的矩阵 W \mathbf{W} W ( A × B ) (\mathbf{A}\times\mathbf{B}) (A×B)相加。
模型微调方法,1,第2张

DoRA

权重分解低秩适用(DORA)将预训练的权重分解为两个向量: 幅度和方向。原来的参数矩阵 W \mathbf{W} W的维度依旧是 d × k d\times k d×k, 新增了一个幅度向量 m ∈ R 1 × K m\in\mathbb{R}^{1\times K} mR1×K
模型微调方法,2,第3张

DORA在训练 A \mathbf{A} A B \mathbf{B} B矩阵的时候,依旧利用了LoRA的方法,然后新增了幅度 M M M向量。

模型微调方法,3,第4张

DoRA将列向量分解为两个分量,可以更灵活地更新方向分量,这更接近于完全微调。

MoRA

MoRA的概念类似于LoRA, 但不是将权重矩阵分解为更小的维度,而是将其分解为小的方形矩阵。
模型微调方法,4,第5张

例如,如果原始权重层具有4096×4096~= 16M参数,则r=8的LoRA具有4096×8 + 8×4096=65,536参数。使用MoRA可以将维度减小到r=256,即256×256=65,536。在这两种情况下,需要训练和更新的参数是相同的,然而研究人员声称与LoRA相比具有更高的学习代表性。

根据这篇论文,LoRA的局限性之一是无法记住大量数据。对于该限制,一个合理的解释可能是它对低秩更新的依赖。低秩更新矩阵 Δ W \Delta W ΔW, 很难估计FFT中的全秩更新, 尤其是在需要记忆特定领域知识的持续预训练等内存密集型任务中。

为了论证这个观点,研究人员研究了LoRA和FFT在通过微调记忆知识方面的差异。为了避免利用LLM的原始知识,研究人员随机生成 10 k 10k 10k对通用唯一标识符(UUID), 每对包含两个具有32个十六进制值的UUID。该任务要求LLM根据输入的UUID生成相应的UUID。

模型微调方法,5,第6张

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!