NTK 条件下的 LoRA 训练无虚假局部极小值
内容提要
LoRA通过低秩矩阵注入降低微调参数量,性能媲美全微调。后续研究提出SoRA、LoTR、LoRA+等改进,提升参数效率与训练速度,并在多语言摘要、语音识别、文本分类等任务中验证了有效性。
延伸解读
LoRA 的提出与核心优势
LoRA 通过将可训练的低秩矩阵注入 Transformer 的每一层,大幅减少了下游任务的可训练参数,同时性能与全量微调相当或更优,且不增加推理延迟。这解决了大模型微调时参数和 GPU 内存占用过高的问题,为后续研究奠定了基础。
LoRA 的改进与变体
后续研究针对 LoRA 的不足提出了多种改进:SoRA 引入稀疏低秩适应,动态调整内在秩,在保留 70% 参数和训练时间的情况下超越基准;LoRA+ 通过为适配器矩阵 A 和 B 设置不同学习率,解决了次优问题,提升性能 1-2% 并加速训练最高约 2 倍;LoTR 利用张量分解进行梯度更新,参数效率更高,尤其适用于深度模型。
多任务验证与适用性
LoRA 及其变体在多语言摘要、语音识别、文本分类等任务中得到了验证。在多语言摘要中,LoRA 在低数据情况和跨语言转移中表现出色,且模型增大时与全量微调的差距减小;在语音识别中,采用 LoRA 训练策略使相对词错误率降低 3.50% 和 3.67%;在多语言文本分类中,研究分析了不同训练场景和语言下的性能与计算成本,为参数高效微调技术的适用性提供了见解。
Q&A
LoRA 是什么?它如何降低微调参数量?
LoRA 是一种低秩适应方法,通过将可训练秩分解矩阵注入 Transformer 结构的每一层,极大地减少下游任务中的可训练参数,同时性能与全微调相当或更好,并具有更高的训练吞吐量和无额外推理延迟。
LoRA 相比全微调有哪些优势?
LoRA 在性能上与全微调相当或更好,同时具有更高的训练吞吐量、无额外推理延迟,并且大幅减少了可训练参数和 GPU 内存占用。
LoRA 在多语言摘要任务中表现如何?
LoRA 在低数据情况和跨语言转移中表现出色,当模型增大时,LoRA 和完全微调之间的性能差距减小,继续训练 LoRA 可获得最佳的少样本跨语言转移表现。
SoRA 是什么?它如何改进 LoRA?
SoRA 是一种稀疏低秩适应方法,通过动态调整内在秩来提高 LoRA 的表现能力,同时以稀疏更新方式高效控制参数数量。实验表明,SoRA 在保留 70% 参数和训练时间的情况下,能胜过其他基准模型。
LoRA+ 算法解决了什么问题?
LoRA+ 通过为 LoRA 适配器矩阵 A 和 B 设置不同的学习率,解决了 LoRA 的次优问题,同时提高了性能(1-2% 改进)和微调速度(最高约 2 倍速度提升)。
LoTR 与 LoRA 相比有什么优势?
LoTR 通过张量分解形式对参数进行梯度更新,构建每层的低秩适配器,在低秩张量表示下对一系列层进行压缩,尤其适用于深度模型,相比 LoRA 具有更好的参数效率,且核心张量不依赖于原始权重维度,可以变得任意小,实现极为廉价快速的下游微调。