AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【一文了解】大模型微调的方法LoRA
发布日期:2024-09-25 22:52:52 浏览次数: 1731 来源:码农随心笔记


大模型微调是深度学习中的一项关键技术,它允许我们在已有的预训练模型上,通过进一步的训练来适应特定的任务或数据集。在众多的Fine-Tuning方法中,LoRA(Low-Rank Adaptation)是一种轻量且高效的大型语言模型微调方法。与全参数微调相比,这种方法显著减少了训练的参数量,从而降低了GPU内存需求和训练时间。本篇我将为各位同学介绍一下大模型微调的方法-LoRA。

01
核心思想



LoRA的核心思想是假设大语言模型的预训练权重已经包含了丰富的知识,直接微调所有参数会非常耗时且需要大量的计算资源。微调的任务只是对这些知识进行轻微的调整。因此,LoRA并不直接修改预训练的权重,而是在模型的每一层注入低秩矩阵,通过训练这些低秩矩阵来实现模型的适配。
因此,LoRA通过引入两个低秩矩阵A和B,并将它们相乘后加到原始权重矩阵上,实现对模型的微调,从而不需要改变整个模型的权重。

02
 具体步骤


如上图所示,ΔW的分解意味着我们用了两个较小的LoRA矩阵A和B来表示大型矩阵ΔW。如果A的行数与ΔW相同,B的列数与ΔW相同,那么我们可以将分解表示为ΔW = AB。(这里的AB表示矩阵A和B的矩阵相乘的结果。)

根据以上分析,步骤如下:

1. 冻结预训练模型的权重: LoRA 不会修改预训练模型的原始权重,而是将它们冻结。

2. 注入秩分解矩阵: 在 Transformer 的每一层,LoRA 向原始权重矩阵 W 添加一个低秩矩阵更新 ΔW,其中 ΔW = BA。

    - A 是一个降维矩阵,将输入特征映射到一个低维空间。

    - B 是一个升维矩阵,将低维空间的特征映射回原始特征空间。

    - A 和 B 的秩远小于 W 的秩。

3. 训练秩分解矩阵: 在微调过程中,只有 A 和 B 的参数会被训练,而原始权重矩阵 W 保持不变。

4. 合并权重矩阵: 在推理阶段,可以将 ΔW 与 W 合并,得到最终的权重矩阵 W' = W + ΔW。


03
 优势与劣势


优势:

  • 更少的内存需求: LoRA 只需要存储和更新低秩矩阵 `A` 和 `B`,大大减少了GPU内存需求,使得在单个GPU上微调大型语言模型成为可能。

  • 更快的训练速度: 由于需要更新的参数数量减少,LoRA 的训练速度比全参数微调更快。

  • 更好的性能: LoRA 在许多任务上都取得了与全参数微调相当甚至更好的性能。

  • 易于合并和切换: 不同的LoRA权重可以轻松地与基础模型合并或切换,方便实验和部署。


劣势:

  • 并非所有模型都适用:LoRA 最适合 Transformer 架构的模型,对于其他类型的模型可能需要进行修改。

  • 低秩假设的限制: LoRA 的性能依赖于低秩假设,如果目标任务需要对模型进行大幅度的修改,LoRA 的性能可能会受到限制。


04
 总结


LoRA 是一种高效的大模型微调方法,它通过冻结预训练权重并注入低秩矩阵,显著减少了内存需求和训练时间,同时保持了良好的性能。 它已成为微调大型语言模型的一种流行技术,并被广泛应用于各种下游任务。在实际应用中,LoRA可以与预训练模型的权重合并,以便在生产环境中使用,而不引入额外的推理延迟。这意味着在微调后,模型可以像以前一样进行推理,而不需要对模型结构进行任何修改。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询