PiSSA: Principal Singular Values and Singular Vectors Adaptation of Large Language Models

改变LoRA的初始化办法就能显著提升微调效果_奇怪_模子 云服务

论文链接:

https://arxiv.org/pdf/2404.02948.pdf

代码链接:

https://github.com/GraphPKU/PiSSA

一、PiSSA:一种参数高效微调方法
如图1所示,PiSSA(图1c)在模型架构上和LoRA[1]完备同等(图1b),只是初始化Adapter的办法不同。
LoRA利用高斯噪声初始化,利用初始化。
而PiSSA利用主奇异值和奇异向量(Principal Singular values and Singular vectors)来初始化Adapter来初始化A和B。

图1)从左到右依次为全参数微调、LoRA、以及PiSSA。
蓝色代表冻结的参数,橘黄色代表可演习参数及它们的初始化办法。
比较全参数微调,LoRA和PiSSA都大幅节省了可演习参数量。
对付相同输入,这三种方法的初始输出完备相等。
然而,PiSSA冻结模型的次要身分,直接微调主身分(前r个奇异值和奇异向量);而LoRA可看作冻结模型的紧张部分,而去微调noise部分。
二、PiSSA微调效果比拟
2.1 在不同的任务上比拟PiSSA、LoRA的微调效果比拟
研究团队利用llama 2-7B、Mistral-7B以及Gemma-7B作为根本模型,通过微调提升它们的数学、代码和对话能力。
个中包括:在MetaMathQA上演习,在GSM8K和MATH数据集上验证模型的数学能力;在CodeFeedBack上演习,在HumanEval和MBPP数据集上验证模型的代码能力;在WizardLM-Evol-Instruct上演习,在MT-Bench上验证模型的对话能力。
从下表的实验结果可以看出,利用相同规模的可演习参数,PiSSA的微调效果显著超越了LoRA,乃至超越了全参数微调。

2.2 在不同的可演习参数量下PiSSA、LoRA的微调效果比拟
研究团队在数学任务上对模型的可演习参数量和效果之间的关系进行溶解实验。
从图2.1创造在演习初期,PiSSA的演习loss低落特殊快,而LoRA存在不低落,乃至略有上升的阶段。
此外,PiSSA的演习loss全程低于LoRA,解释对演习集拟合得更好;从图2.2、2.3、2.4可以看出在每种setting下,PiSSA的loss始终比LoRA低,准确率始终比LoRA高,PiSSA能够利用更少的可演习参数追遇上全参数微调的效果。

图2.1) 当秩为1时PiSSA、LoRA在演习过程中的loss。
每幅图的右上角是前100步迭代放大的曲线。
个中PiSSA用橙色线表示,LoRA用蓝色线表示,全参数微调用绿线展示了终极的loss作为参考。
秩为[2,4,8,16,32,64,128]时的征象与此同等,详见文章附录

图2.2)利用秩为[1,2,4,8,16,32,64,128]的PiSSA和LoRA的终极training loss

图2.3)利用秩为[1,2,4,8,16,32,64,128]的PiSSA和LoRA微调的模型在GSM8K上的准确率

图2.4)利用秩为[1,2,4,8,16,32,64,128]的PiSSA和LoRA微调的模型在MATH上的准确率2.3 在4-bit量化下PiSSA、QLoRA和LoftQ的微调效果比拟
研究团队指出,在全精度下利用PiSSA分解预演习模型,并对残差模型进行4bit量化时,量化偏差显著小于广泛利用的QLoRA,乃至交于专门减小量化偏差的LoftQ方法(如下图左上角所示)。
更小的量化偏差,使PiSSA在演习初期更少的丢失性能,加上演习主奇异值、奇异向量对收敛速率和拟合效果的提升,终极在MetaMathQA上得到更低的演习loss,在GSM8K和MATH上得到更高的测试准确率。

图2.5)比拟QLoRA、LoftQ和PiSSA在不同秩下的量化偏差、演习丢失、在GSM8K和MATH上的准确率
三、PiSSA方法详解
受到Intrinsic SAID [2]“预演习大模型参数具有低秩性”的启示,PiSSA对预演习模型的参数矩阵
进行奇异值分解,个中前r个奇异值和奇异向量用来初始化适配器(adapter)的两个矩阵。
剩余的奇异值和奇异向量用来布局残差矩阵 ,使得 (如图1c所示)。
因此,适配器中的参数包含了模型的核心参数,而残差矩阵中的参数是改动参数。
通过微调参数量较小的核心适配器A、B,冻结参数量较大的残差矩阵

就达成了用很少的参数近似全参数微调的效果。

只管同样受到Intrinsic SAID[1]启示,PiSSA和LoRA背后的事理却截然不同。
LoRA认为大模型微调前后矩阵的变革ΔW具有很低的本征秩r,因此通过
相乘得到的低秩矩阵来仿照模型的变革ΔW。
初始阶段,LoRA利用高斯噪声初始化A,利用0初始化B,因此ΔW=AB=0,以此担保模型初始能力没有变革,并微调A和B实现对

进行更新。
与此比较,PiSSA不关心

,而因此为W具有很低的本征秩


因此直接对W进行奇异值分解,分解成主身分A,B,以及残差项

,使得


假设的W奇异值分解为

,利用SVD分解后奇异值最大的r个奇异值、奇异向量进行初始化:

残差矩阵利用别的的奇异值、奇异向量进行初始化:

PiSSA直接对W的低秩主身分A,B进行微调,冻结次要的改动项。
比较LoRA用高斯噪声以及0初始化适配器参数、冻结核心模型参数,PiSSA收敛更快、效果更好。

PiSSA的发音类似“披萨”(pizza)---如果把全体大模型类比为一个完全的披萨,PiSSA切掉个中一角,而且是馅料最丰富的一角(主奇异值、奇异向量),重新烘焙(不才游任务上微调)成喜好的口味。

由于PiSSA采取了和LoRA完备相同的架构,其可以作为LoRA的一种可选初始化办法,在peft包中很方便的进行修正和调用(如以下代码所示)。
相同的架构也使得PiSSA继续了大多数LoRA的优点,如:对残差模型利用4bit量化[3],减小演习开销;微调完成后适配器能合并进残差模型,不改变推理过程的模型架构;无需分享完全模型参数,只须要分享参数量很少的PiSSA模块,利用者直接加载PiSSA模块就能自动进行奇异值分解以及赋值;一个模型可以同时利用多个PiSSA模块等等。
一些对LoRA方法的改进,也能与PiSSA进行结合:比如不固定每层的秩r,通过学习找到最佳的秩[4];用PiSSA辅导Wres的更新[5],从而打破秩的限定等等。

四、比拟高中低奇异值微调效果实验

为了验证利用不同大小奇异值、奇异向量初始化适配器对模型的影响,研究职员分别利用高、中、低奇异值初始化LLaMA 2-7B、Mistral-7B-v0.1、Gemma-7B的适配器,然后在MetaMathQA数据集上进行微调,实验结果展示在图3中。
从图中可以看出,利用紧张奇异值初始化的方法演习丢失最小,在GSM8K和MATH验证集上的准确率更高。
这一征象验证了微调紧张奇异值、奇异向量的有效性。

图3)从左到右依次为演习loss、在GSM8K上的准确率、在MATH上的准确率。
个中蓝色表示最大奇异值、橙色表示中等奇异值、绿色表示最小奇异值。
五、快速奇异值分解
PiSSA继续了LoRA的优点,利用起来方便,效果超越LoRA。
代价是在初始化阶段,须要对模型进行奇异值分解。
虽然仅须要在初始化时分解一次,但是仍旧可能须要几分钟乃至几十分钟的开销。
因此,研究职员利用一种快速奇异值分解[6]方法替代标准的SVD分解,通过下表的实验可以看出,仅需几秒钟的韶光,就能逼近标准SVD分解的演习集拟合效果。
个中Niter表示迭代次数,Niter越大,韶光越久但是偏差越小。

表示标准SVD。
表格中的均匀偏差表示快速奇异值分解与标准SVD得到的之间的均匀间隔。

六、总结与展望

本工为难刁难预演习模型的权重进行奇异值分解,通过将个中最主要的参数用于初始化一个名为PiSSA的适配器,微调这个适配器来近似微调完全模型的效果。
实验表明,PiSSA比LoRA收敛更快,终极效果更好,唯一的代价仅是须要几秒的SVD初始化过程。

那么,您乐意为了更好的演习效果,多花几秒钟韶光,一键变动LoRA的初始化为PiSSA吗?

References

[1] LoRA: Low-Rank Adaptation of Large Language Models

[2] Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning

[3] QLoRA: Efficient Finetuning of Quantized LLMs

[4] AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

[5] Delta-LoRA: Fine-Tuning High-Rank Parameters with the Delta of Low-Rank Matrices

[6] Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions

来源:"大众号【北京大学人工智能研究院】

llustration From IconScout By Delesign Graphics
-The End-

扫码不雅观看!

本周上新!

“AI技能流”原创投稿操持

TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。
社区上线500+期talk***,3000+篇技能干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上互换活动,不定期举办技能人线下聚会互换活动。
我们正在努力成为AI人才喜好的高质量、知识型互换平台,希望为AI人才打造更专业的做事和体验,加速并陪伴其发展。

投稿内容

// 最新技能解读/系统性知识分享 //

// 前沿资讯讲授/心得经历讲述 //

投稿须知

稿件须要为原创文章,并标明作者信息。

我们会选择部分在深度技能解析及科研心得方向,对用户启示更大的文章,做原创性内容褒奖

投稿办法

发送邮件到

chenhongyuan@thejiangmen.com

或添加事情职员微信(chemn493)投稿,沟通投稿详情;还可以关注“将门创投”公众年夜众号,后台回答“投稿”二字,得到投稿解释。

关于我“门”
将门是一家以专注于数智核心科技领域的新型创投契构,也是北京市标杆型孵化器。
公司致力于通过连接技能与商业,发掘和造就具有环球影响力的科技创新企业,推动企业创新发展与家当升级。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技能型创业公司。
如果您是技能领域的初创企业,不仅想得到投资,还希望得到一系列持续性、有代价的投后做事,欢迎发送或者推举项目给我“门”: