改变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

目录
相关文章
|
机器学习/深度学习 存储 安全
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
629 0
|
人工智能 物联网
PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法
我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的Principal Singular Values and Singular Vectors Adaptation(PiSSA)方法。
285 3
|
测试技术 开发工具 Swift
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
在LLM的训练/微调过程中,开发者通常会遇到一些瓶颈,包括GPU显存不够,经常遇到OOM,GPU使用率100%而且非常慢等。
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
|
人工智能 自然语言处理 物联网
llama factory 从数据集起步 跑通 qwen系列开源生成式大模型 微调
`dataset_info.json` 文件用于管理 llama factory 中的所有数据集,支持 `alpaca` 和 `sharegpt` 格式。通过配置此文件,可以轻松添加自定义数据集。数据集的相关参数包括数据源地址、数据集格式、样本数量等,支持 Hugging Face 和 ModelScope 两个平台的数据集仓库。针对不同格式的数据集,提供了详细的配置示例,如 `alpaca` 格式的指令监督微调数据集、偏好数据集等,以及 `sharegpt` 格式的多模态数据集等。今天我们通过自定义数据集的方式来进行qwen2.5_14B_instruct模型进行微调
5596 7
分布式事务的两阶段提交和三阶段提交分别有什么优缺点?
【9月更文挑战第9天】两阶段提交(2PC)和三阶段提交(3PC)是解决分布式系统事务一致性的机制。2PC实现简单,保证强一致性,但存在同步阻塞、单点故障和数据不一致风险。3PC通过引入超时机制减少阻塞时间,降低单点故障影响,但复杂性增加,仍可能数据不一致,并有额外性能开销。
564 9
|
存储 索引
LangChain 构建问题之Prompt Templates(提示模板)的定义如何解决
LangChain 构建问题之Prompt Templates(提示模板)的定义如何解决
180 1
|
机器学习/深度学习 人工智能 自然语言处理
让大模型不再巨无霸,这是一份最新的大模型参数高效微调综述
【5月更文挑战第12天】最新综述探讨了大模型参数高效微调,旨在减少计算成本、增强泛化能力和灵活性。方法包括Additive、Selective、Reparameterized和Hybrid PEFT,已应用于NLP、CV和多模态学习。尽管取得进展,仍需解决泛化、效率和可解释性问题。未来研究将关注多任务学习、强化学习和神经架构搜索。论文链接:https://arxiv.org/pdf/2403.14608.pdf
752 2
|
机器学习/深度学习 算法 安全
计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)-2
计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)-2
计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)-2
|
机器学习/深度学习 人工智能 自然语言处理
26岁的“天才少年”,带队面壁打通高效大模型之路
**曾国洋,26岁的面壁智能CTO,自幼编程,清华NLP实验室研究员,致力于高效大模型。他领导的面壁智能通过OpenBMB社区降低大模型使用门槛,推动大模型训练效率提升与成本控制。在与昇腾AI的合作中,实现大模型性能与国产化适配,目标是使AGI更高效、普及。尽管市场竞争激烈,曾国洋坚信AGI未来并持续推动技术创新。**
223 0
|
前端开发 UED
深入理解CSS过渡效果(Transition):提升网页动画体验
深入理解CSS过渡效果(Transition):提升网页动画体验
607 1