返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【一文了解】大模型微调的方法LoRA

[复制链接]
链载Ai 显示全部楼层 发表于 4 小时前 |阅读模式 打印 上一主题 下一主题

大模型微调是深度学习中的一项关键技术,它允许我们在已有的预训练模型上,通过进一步的训练来适应特定的任务或数据集。在众多的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权重可以轻松地与基础模型合并或切换,方便实验和部署。


劣势:

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

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


04
总结


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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ