改变LoRA的初始化方式,北大新方法PiSSA显著提升微调效果

简介: 【4月更文挑战第23天】北京大学团队提出的新方法PiSSA,基于SVD进行参数高效微调,降低计算成本。PiSSA通过聚焦低秩矩阵训练,实现与全参数微调相当甚至更好的性能,快于LoRA收敛且在五个基准测试中胜出。PiSSA继承LoRA的参数效率,初始化仅需几秒,适合快速适应不同下游任务。尽管有潜力,但其在更大模型和任务上的效果,以及与LoRA结合的可能优化,仍是未来研究课题。[链接](https://arxiv.org/pdf/2404.02948.pdf)

在大型语言模型(LLMs)的研究与应用中,如何高效地进行微调(fine-tuning)一直是研究者们关注的焦点。随着模型参数的不断增加,传统的全参数微调方法在计算成本上变得难以承受。为了解决这一问题,北京大学的研究团队提出了一种新的参数高效微调方法——PiSSA(Principal Singular values and Singular vectors Adaptation),该方法在大幅减少参数空间的同时,实现了与全参数微调相当甚至更优的性能。

PiSSA的核心思想是利用矩阵的奇异值分解(SVD)来提取模型权重矩阵的主要组成部分,并将其用于初始化微调过程中的适配器。这种方法的灵感来源于Intrinsic SAID理论,该理论认为预训练的、过度参数化的模型实际上存在于一个低维的内在空间。因此,PiSSA通过将权重矩阵分解为一个低秩矩阵和一个残差矩阵,只对低秩矩阵进行训练,而保持残差矩阵不变。这种策略使得PiSSA在微调开始时就能更好地逼近全参数微调的结果,同时冻结了“噪声”部分,从而加快了收敛速度并提高了最终性能。

与现有的LoRA(Low-Rank Adaptation)方法相比,PiSSA在初始化时使用了权重矩阵的主要奇异值和奇异向量,而不是像LoRA那样使用高斯噪声和零进行初始化。这种差异使得PiSSA在微调过程中能够更快地收敛,并且在最终性能上也超越了LoRA。实验结果表明,在五个常见的基准测试中,PiSSA在所有测试中都超越了LoRA,并且在GS8K数据集上,使用PiSSA微调的Mistral-7B模型达到了72.86%的准确率,比LoRA的67.7%高出5.16%。

PiSSA方法不仅在性能上表现出色,而且继承了LoRA的许多优点,如参数效率和与量化技术的兼容性。利用快速SVD方法,PiSSA的初始化过程只需要几秒钟,从LoRA切换到PiSSA的成本可以忽略不计。此外,PiSSA的线性结构使得在部署时能够轻松地将可训练矩阵与预训练权重结合起来,保持了完全微调模型的原始推理速度。对于存储效率,可以选择不存储密集的参数矩阵∆W,而是存储低秩矩阵{A, B}。在实际应用中,这意味着可以通过快速的SVD技术在预训练模型上进行PiSSA的初始化,然后将其分配给适配器,从而实现对不同下游应用的快速适应。

尽管PiSSA在多个方面展现了其优势,但仍有一些潜在的问题和挑战需要在未来的研究中加以探讨。例如,PiSSA在更广泛的任务和更大的模型上能否取得显著的改进?当LoRA的迭代步骤足够长(充分拟合数据)时,它是否能够匹配PiSSA的性能?将LoRA的后续方法与PiSSA结合是否能够进一步提升性能?如何从理论上解释PiSSA相对于LoRA的优势?这些问题都是未来研究的重要方向。

论文链接: https://arxiv.org/pdf/2404.02948.pdf

目录
相关文章
|
机器学习/深度学习 SQL 数据可视化
数据分享|数据探索电商平台用户行为流失可视化分析
数据分享|数据探索电商平台用户行为流失可视化分析
|
传感器 人工智能 监控
无人驾驶拖拉机
无人驾驶拖拉机
902 1
|
2月前
|
人工智能 Cloud Native 编译器
ARM 与 x86 之争,已经不是“谁干掉谁”,而是“谁更像未来”
ARM 与 x86 之争,已经不是“谁干掉谁”,而是“谁更像未来”
189 7
雷达波形之一——LFM线性调频波形
雷达波形之一——LFM线性调频波形
1471 1
|
机器学习/深度学习 存储 安全
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
708 0
|
2月前
|
机器学习/深度学习 安全 算法
PPO最强,DPO一般?一文带你了解常见三种强化学习方法,文末推荐大模型微调神器!
大模型如何更懂人类?关键在于“对齐”。PPO、DPO、KTO是三大主流对齐方法:PPO效果强但复杂,DPO平衡高效,KTO低成本易上手。不同团队可根据资源选择路径。LLaMA-Factory Online让微调像浏览器操作一样简单,助力人人皆可训练专属模型。
729 3
PPO最强,DPO一般?一文带你了解常见三种强化学习方法,文末推荐大模型微调神器!
|
机器学习/深度学习 数据挖掘 开发工具
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】将版本控制系统(如 Git)与 Jupyter 笔记本结合使用是现代数据科学和机器学习团队中常见的实践。这种集成不仅有助于追踪代码变更历史,还可以促进团队间的协作和代码共享。本文将详细介绍如何在 Jupyter Notebook 中集成 Git,并提供一些实用的代码示例来帮助你开始使用。
430 1
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
|
计算机视觉 C++ Windows
VS2015搭建NCNN开发环境
VS2015搭建NCNN开发环境
317 0
|
数据库 时序数据库 Docker