【论文阅读笔记】大模型微调 —— LoRA
论文地址:https://arxiv.org/pdf/2106.09685
代码地址:https://github.com/microsoft/LoRA
简介
GPT-3、BERT 以来,预训练+微调渐渐成为大预言模型的新范式;而在微调阶段,如何能找到一个非常高效且效果很好的方法成为了研究热点,一个相关的 topic 就是 Parameter Efficient Fine-Tuning(PEFT)。本文以此为出发点探究了大模型微调的方法,发现目前的微调方法,如 adapter 会更改模型架构,从而带来推理延迟。
作者从 Li et al [1] 和 Aghajanyan et al [2] 处获得灵感:学习到的过度参数化模型实际上存在于低内在维上,即微调阶段实际在调整的只有低维的某些参数。由此,作者假设设模型适应过程中的权重变化也具有较低的“内在秩”,提出了 Low-Rank Adaptation(LoRA) 方法,将参数分解为低秩矩阵,从而大大降低训练的复杂度。
论文在很多数据集上做了实验,证明 LoRA 方法存在的道理以及其有效性。
方法
问题定义
一般微调可以定义为如下形式:
其中
其中
具体实现
进一步,作者提出了如下矩阵分解:
形式化来讲如下公式,其中
在一开始,
在 Transformer 应用
本文主要探讨了将 LoRA 应用于自注意力块 (
- 训练参数由
缩减为 ; - VRAM 的使用可以减少
; - checkpoint 大小减少了约 10000 倍(
) - 在GPT-3 175B的训练过程中,与完全微调相比,速度提高了25%
实验
Baseline
- Bias-only or BitFit:只训练偏移量。
- Prefix-embedding tuning (PreEmbed):嵌入层插入特殊的 tokens,参数量
, 和 分别为前缀和中缀长度。 - Prefix-layer tuning (PreLayer):不止学习嵌入层,将激活层也被替换为科学系的激活,参数量
, 为激活层数量。 - Adapter tuning:在自注意力块或 MLP 连接处增加 adapter,参数量
,其中 为可训练的 adapter 数量, 为 LayerNorm 层的数量。
RoBERT 模型
GPT-2 模型
GPT-3 模型
讨论
个人认为本篇的精髓所在,能够引用5k+的原因之一
应用到 Transformer 哪里?
更低的秩有可能导致更好的效果。
最好的 是多少?
为了探究这一问题,作者首先利用不同的
可以看到
对于
这说明了不同的
和 有什么关系吗?
作者进一步思考了
- 首先,与随机矩阵相比,
与 的相关性更强,说明 放大了 中已经存在的一些特征(下图)。 - 其次,
并没有重复W的最上面的奇异方向,而是只放大了 中没有强调的方向。 - 第三,放大系数非常大:当
时,其放大系数为 。
感想
论文方法不难,不涉及复杂的数学原理和模型架构,但是可以对后面的PEFT领域起到很关键的作用,也可以算是里程碑式的作品了;个人认为是其巧妙的idea和论文中完备的实验:
- 从 idea 来看,作者第一次在不改变模型架构的基础上进行微调,可以说是开创了一个全新的 PEFT 方法,作者也在文章里挖了很多坑,使得这一算法被后续多次改进;
- 作者通过较长篇幅的讨论来验证他们的方法有效性以及可解释性,使得玄学的神经网络能够用数学严谨地证明。
Reference
Chunyuan Li, Heerad Farkhoor, Rosanne Liu, and Jason Yosinski. Measuring the Intrinsic Dimension of Objective Landscapes. arXiv:1804.08838 [cs, stat], April 2018a. URL http://arxiv.org/abs/1804.08838. arXiv: 1804.08838. ↩︎
Armen Aghajanyan, Luke Zettlemoyer, and Sonal Gupta. Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning. arXiv:2012.13255 [cs], December 2020. URL http://arxiv.org/abs/2012.13255. ↩︎
本文作者:KeanShi
本文链接:https://www.cnblogs.com/keanshi/p/18314345
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2023-07-21 【算法】并查集
2023-07-21 【算法】博弈论基础