我的编程空间,编程开发者的网络收藏夹
学习永远不晚

论文阅读_模型结构_LoRA

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

论文阅读_模型结构_LoRA

name_en: LoRA: Low-Rank Adaptation of Large Language Models
name_ch: LORA:大语言模型的低阶自适应
paper_addr: http://arxiv.org/abs/2106.09685
date_read: 2023-08-17
date_publish: 2021-10-16
tags: [‘深度学习’,‘大模型’]
author: Edward J. Hu
citation: 657
code: https://github.com/microsoft/LoRA pytorch,风格简捷

1 读后感

LoRA 是 Low-Rank 的缩写,它是一种大模型微调技术。一开始用于优化自然语言模型,但是后来自然语言模型后来选择了 Prompt 的道路;而该技术在图像领域得到了广泛的应用,比如 Stable Diffusion 的一众 LoRA 模型,从背景风格到人物形像,不用精调 2-8 G 的基础模型,通过训练 只有几十到几百兆 LoRA 模型,就可以实现建模。

它针对的问题是:当模型大到一定程度,比如 GPT-3 有 175B 参数,精调变得费时而昂贵。其解决方法是:它修改了fine-tune过程,提出低阶自适应技术,冻结了预训练的模型权重,并将可训练的秩分解矩阵注入到 Transformer 架构的每一层中,这大大减少了下游任务中可训练参数的数量。其的效果是:与使用 Adam 微调的 GPT-3 175B 相比,LoRA 可以将可训练参数数量减少 10,000 倍,GPU 内存需求减少 3 倍。且推理时没有额外延迟。

2 介绍

2.1 感性理解

先用图像建模举个例子,比如使用 LAION-5B 数据集训练底模,它包含 58.5 亿个 图像-文本对,如果我们在其基础上用 200 张图片精调模型,可以想见,最终模型的大多数参数与底模差异不大;如果也使用与原模型一样大的空间存储是很浪费的,需要保留的只是当前风格和通用风格的差异,信息量并不大。这种情况下,使用 LoRA模型,相当于对两个模型的差异做降维后再存储。这种情况下,相对于5G的底模,LoRA 模型可能只有10-20M。

2.2 LoRA 优势

之前的优化 fine-tune 的方法主要有:只精调部分参数,训练额外层,调节激活函数等,这些方法精调效果往往不是很好,有的还会引起推理延迟。LoRA优势如下:

  • 对于一个大模型,可针对不同下游任务训练多个LoRA小模型,方便存储和切换。
  • 训练效率更高,硬件需求更低,只需要优化注入的小得多的低秩矩阵。
  • 与完全微调的模型相比,不会引入推理延迟。
  • LoRA 与许多现有方法正交,可与其中许多方法相结合。

(既不复杂,使用时也没有太多限制条件)

3 背景知识

3.1 矩阵的秩 Rank

矩阵的秩是指矩阵中线性独立的行向量或列向量的最大数量,即矩阵中的最大线性无关行(或列)的数量。对于一个 m 行 n 列的矩阵,它的秩记为r,r 的取值范围是 0 到 min(m, n)。当 r = 0 时,表示该矩阵是一个零矩阵,所有元素都为零。

3.2 全秩 Full-Rank

当 r = min(m, n) 时,表示矩阵的所有行(或列)都是线性无关的,即全秩(满秩,full-rank)矩阵。

3.3 低秩 Low-Rank

低秩表示(Low-Rank Representation,简称LRR)的基本思想是将高维数据表示为低维子空间中的低秩表示。假设数据中的信息可以由较少的关键特征表示。通过将数据表示为低秩矩阵,LRR可以实现降维和去噪的效果,从而提取出数据中的重要特征。

4 方法

4.1 低秩参数矩阵

之前论文《Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning》证明,预训练的语言模型具有较低的“内在维度”(实际不需要那么大维度),即使随机投影到较小的子空间,仍可有效学习。我们假设权重的更新 fine-tune 也具有较低的“内在维度”。

将预训练的权重矩阵定义为W0,其维度为 d×k,通过用低秩分解 W0 + ΔW = W0 + BA 用后者来约束其更新,其中 B 为 d×r 维,A 为 r×k 维,并且秩 r << min(d, k)。训练期间,W0 被冻结,不更新,而 A 和 B 包含可训练参数。W0 和 ΔW = BA 都与相同的输入相乘,并且它们各自的输出向量按维度求和。

h= W 0 x+∆Wx= W 0 x+BAx h = W_0x + ∆W x = W_0x + BAx h=W0x+Wx=W0x+BAx

对 A 使用随机高斯初始化,对 B 使用零初始化,因此 ΔW = BA 在训练开始时为零。然后按 α/r 缩放 ΔW x ,其中 α 是 r 中的常数,调整 α 与调整学习率大致相同。

这里的 r 需要设置,如果 r 与 d 维度相同,即降维时,理论上其效果和 fine-tune 一致,而具体 r 如何设置详见对比实验部分。

4.2 将 LORA 应用于 Transformer 框架

从原理来看,LoRA 可用于任何神经网络中。在 Transformer 架构中,自注意力模块中有四个权重矩阵(Wq、Wk、Wv、Wo),MLP 模块中有两个。研究限制为仅调整下游任务的注意力权重,并冻结 MLP 模块。后面的对比实验针对这四个矩阵做了 LoRA 测试。

这样做最显著的好处是减少内存和存储量。对于使用 Adam 训练的大型 Transformer,如果使用 r << d 的模型,可以将 VRAM 使用量减少多达 2/3。在 GPT-3 175B 上,可将训练期间的 VRAM 消耗从 1.2TB 减少到 350GB。当 r = 4 并且仅调整查询和值投影矩阵时,检查点大小减少了大约 10,000倍(从 350GB 到 35MB)。

RoLA 还允许支持定制多个模型,这些模型可在预训练权重存储在 VRAM 中的机器上动态地换入换出。与完全微调相比,由于不需要计算绝大多数参数的梯度,GPT-3 175B 训练期间的速度提高了 25%。

5 实验

实验部分分别对 RoBERTa,GPT-2,GPT-3 做了针对下游任务的对比实验,从实验部分可以看到,LoRA模型参数非常少,且效果往往不低于fine-tune,有时效果更好。

6 对比实验

6.1 在 Transformer 中的哪些权重矩阵上应用 LORA

文中实验限定了参数整体大小,针对不同的 LoRA 设置,对比模型性能。这里只考虑了自注意力中的权重矩阵,如果使用 1 种类型的注意力权重,则 r = 8;如果使用 2 种类型,则对应于 r = 4,结果如表 5 所示:

实验证明 Wq,Wv 组合可提供最佳性能,4 阶也能捕获足够的 ΔW 信息,因此适应更多的权重矩阵比适应具有更大阶数的单一类型权重效果更好。

6.2 最佳 rank 的大小是多少

实验对比了不同秩大小的模型效果,可以看到,r=1 时 Wq,Wv 就可以满足一定效果,而单独调节 Wq 需要更大的 r。这说明 ΔW 只需要很低的秩(另外两个实验也验证了数据的低秩性质)。

6.3 ΔW 与 W 对比

观察 ∆W 与 W 的相关性,具体方法是将 W 映射到 ∆W 的 r 维子空间中,然后用 Frobenius 范数,对比其一致性。

实验得出结论:与随机矩阵相比,ΔW 与 W 具有更强的相关性;ΔW 不重复 W 的顶部奇异方向,而是仅放大 W 中未强调的方向;放大系数相当大:r = 4 时为 21.5 ≈ 6.91/0.32。这表明低秩适应矩阵可能会放大特定下游任务的重要特征,这些特征是在一般预训练模型中学习但未强调的

7 实用技巧

7.1 LoRA 与 基础模型

根据 LoRA 原理可知,LoRA保存的是精调与基础模型(底模)差异的降维数据,所以 LoRA 与训练它的底模强相关,一般 LoRA 描述中也有对其底模的说明,一般情况下,至少二者的 2D/现实风格需要一致。
当然也有像 “Detail Tweaker LoRA” 这样不挑底模的 LoRA。

7.2 LoRA 权重

在引用 LoRA 时,可在 Prompt 中指定 LoRA 权重,一般默认为 1,虽然 SD 是基于 LDM 技术,理论上,其特征是连续的,可微调的,但是将 LoRA 设得太大,结果往往也是反常识的。

7.3 多个 LoRA 叠加

操作时可以叠加使用多个 LoRA。实际使用时,尽量叠加不同类型的 LoRA,比如一个增加画面细节,另一个修改背景风格,它们调整的往往不是一组权重,问题不大;但是不建议叠加同一类型的 LoRA,在同一组权重上反复计算,效果往往不可控。

来源地址:https://blog.csdn.net/xieyan0811/article/details/132499216

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

论文阅读_模型结构_LoRA

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

论文阅读_模型结构_LoRA

name_en: LoRA: Low-Rank Adaptation of Large Language Models name_ch: LORA:大语言模型的低阶自适应 paper_addr: http://arxiv.org/abs/2
2023-08-30

大模型论文阅读神器来了!5秒翻译67页论文,直接截图提问,网页可试玩

现在的大模型,它是有一定的思考能力的。它跟以前的AI不太一样的地方,就是它确实有语言推理的能力,但是他其实每说一句话、每说多少个字,基本上他就只能想那么深。
模型论文2024-11-30

文档字越多,模型越兴奋!KOSMOS-2.5:阅读「文本密集图像」的多模态大语言模型

KOSMOS-2.5在少样本学习和零样本学习的场景中展现了有前景的能力,使其成为处理文本丰富图像的实际应用的多功能工具。

CVPR 2023论文总结!CV最热领域颁给多模态、扩散模型

CVPR 2023有哪些亮点?从录用论文中我们又能看到CV领域有哪些趋势?
论文CV2024-11-30

文字顺序不影响GPT-4阅读理解,别的大模型都不行

原来是一个叫做Jon Rahm的人赢得了2023年美国大师赛(高尔夫)的故事。 并且,如果你直接就这段乱码对GPT-4进行提问,它也能先理解再给出正确答案,一点儿也不影响阅读。
AI数据2024-11-30

ICLR 2024论文审稿结果出炉!7000+高产论文创新纪录,扩散模型占比最高

ICLR 2024论文审稿终于出结果了,今年7000多片论文提交,创下有史以来最新记录。
AI数据2024-11-30

万字总结 | 2023大模型与自动驾驶论文走马观花

2023年是大模型蓬勃发展的一年,也是高阶自动(辅助)驾驶走向现实和落地的一个关键节点。一些头部自动驾驶企业和学术团队也积极的在大模型与自动驾驶这个领域积极探索。

Transformer速查宝典:模型、架构、训练方法的论文都在这里了

论文大合集,一篇文章就搞定。今天给大家带来一篇 Transformer 的综述文章,供大家了解 Transformer 的来龙去脉及相关技术。
AI论文2024-11-30

贾佳亚团队开源全球首个70B长文本大语言模型,读论文看小说直接ProMax

最近,香港中文大学贾佳亚团队联合MIT宣布了一项新研究,一举打破如此僵局。

一文说尽「大模型推理」!12家高校机构联合发布150页报告,综述750篇论文

全面综述近750篇「基础模型推理」论文,聚焦于各种推理任务、方法论和基准测试的最新进展,详细阐述大模型在各种推理任务上的现状、技术局限性和未来可能性。
数据训练2024-11-30

OpenAI“最后一篇”超级对齐论文发布:大小模型相互博弈,输出可读性up

这是来自OpenAI的正经研究,目标就是在保证准确率的同时,让模型输出更容易被人理解。
模型训练2024-11-29

用大模型帮程序员找Bug,中科院剖析102篇论文总结出这些方案

来自中国科学院软件研究所、澳大利亚Monash大学、加拿大York大学的研究团队收集了截止到2023年10月30日发表的102篇相关论文,并分别从软件测试和大模型视角进行了全面分析,总结出一篇关于大模型在软件测试领域应用的全面综述。

全球最强大模型一夜易主,GPT-4时代终结!Claude 3提前狙击GPT-5,3秒读懂万字论文理解力接近人类

就在刚刚,GPT-4被从大模型铁王座上扯下来了!OpenAI最强竞对Anthropic发布的Claude 3系列模型,已经实现了对GPT-4的全面超越。网友表示:GPT-4时代已经终结,OpenAI可以请出Q*了。
AI模型GPT-42024-11-30

失联大神李沐B站复更:领读Llama 3.1论文,还多讲了一点AI八卦;大模型竞技场Llama 3.1排名第三

Llama团队在训练最大模型时,其实一开始同时训练了MoE模型和稠密模型,但是前者后来失败了,所以最后只发了一个简单版本。
数据模型2024-11-29

编程热搜

目录