PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
简介: 我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的Principal Singular Values and Singular Vectors Adaptation(PiSSA)方法。

我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的Principal Singular Values and Singular Vectors Adaptation(PiSSA)方法。

PiSSA和LoRA一样,都是基于这样的前提:对模型参数的改变会形成一个低秩矩阵。

这种方法通过将模型中的矩阵表示为两个可训练矩阵的乘积,辅以一个用于错误校正的残差矩阵,优化了紧凑的参数空间。利用奇异值分解(SVD),PiSSA初始化主奇异值和奇异向量以训练这两个矩阵,同时在微调过程中保持残差矩阵静态。

PiSSA与LoRA的架构相一致,继承了诸如可训练参数减少、轻松部署等好处。但是与LoRA不同,使用PiSSA进行微调的过程与完整模型过程相似,会避免无效的梯度步骤和次优结果。

在LLaMA 2-7B、Mistral-7B-v0.1和Gemma-7B模型的多个任务的比较实验中,PiSSA凭借卓越的表现脱颖而出。以主奇异值和向量初始化的微调适配器产生了更好的结果。

PiSSA展示了加速的收敛速度、与训练数据的稳健对齐,并在类似的可训练参数配置下胜过LoRA。

利用快速SVD技术有助于PiSSA在初始化速度和性能之间取得平衡。

论文中将奇异值分解应用于预训练模型的权重矩阵,以提取主要成分。然后使用这些成分来初始化一个名为PiSSA的适配器。微调PiSSA在开始阶段可以密切复制完整模型微调的效果,同时保持良好的参数效率。通过大量实验,展示了PiSSA的微调性能显著超过了LoRA。

论文地址:

https://avoid.overfit.cn/post/33c2c6c983364b629c1e01479836bacc

目录
相关文章
|
存储 物联网 测试技术
改变LoRA的初始化方式,北大新方法PiSSA显著提升微调效果
【4月更文挑战第23天】北京大学团队提出的新方法PiSSA,基于SVD进行参数高效微调,降低计算成本。PiSSA通过聚焦低秩矩阵训练,实现与全参数微调相当甚至更好的性能,快于LoRA收敛且在五个基准测试中胜出。PiSSA继承LoRA的参数效率,初始化仅需几秒,适合快速适应不同下游任务。尽管有潜力,但其在更大模型和任务上的效果,以及与LoRA结合的可能优化,仍是未来研究课题。[链接](https://arxiv.org/pdf/2404.02948.pdf)
479 7
|
Ubuntu 网络协议 Linux
本地Linux搭建web服务并发布公网访问
本地Linux搭建web服务并发布公网访问
958 0
|
编译器 Go 开发工具
常见问题之Golang——cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%错误
本文主要是对我日常在使用golang时遇到的一些问题与解决方式进行的汇总,在此提供给大家便于排查一些遇到的问题,其中有更好的解决方案可在评论区留言。
1543 0
常见问题之Golang——cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%错误
|
人工智能 JSON 数据可视化
OpenAI调用接口多轮对话Multi Turn Multi Agent 多轮多角色对话调试和可视化工具Dialogue Visualization
伴随着生成式人工智能技术发展,进2年涌现出大语言模型LLM/Agent系统/AI推理等众多方向的技术项目和论文。其中对话系统,智能体交互是用户通过UX界面和AI系统进行交互,这种交互有时候也是多模态(用户输入文字/语音/图像)等等。在调用OpenAI 的对话接口时候,有时候需要把对话结果打印出来检查是否有bug,JSON数据格式就比较难看出来了,尤其是有多角色的多轮对话。这个时候可以借助一些在线的"对话"可视化的工具 (Online Dialogue Visualization Tool) DeepNLP Dialogue Visualization Tool,方便产品经理,算法研发,学术研究
OpenAI调用接口多轮对话Multi Turn Multi Agent 多轮多角色对话调试和可视化工具Dialogue Visualization
|
前端开发 JavaScript PHP
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的“积木”来构建智能程序,这些程序能够阅读、理解和撰写文本,甚至与我们对话。这就是大型语言模型(LLM)能够做到的,比如 GPT-4,它就像是一套庞大的乐高积木套装,等待我们来发掘和搭建。
844 1
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
73065 79
无影云电脑产品使用黑神话悟空之外设连接问题
本文汇总了无影云电脑在使用《黑神话:悟空》时遇到的外设连接问题及解决方案,包括鼠标乱窜、游戏卡顿、鼠标不动、鼠标丢失及转向不完整等问题,并详细介绍了各问题的解决步骤与参考链接,帮助用户更好地进行游戏体验。
|
人工智能 并行计算 PyTorch
AI计算机视觉笔记十八:Swin Transformer目标检测环境搭建
本文详细记录了Swin Transformer在AutoDL平台上的环境搭建与训练过程。作者从租用GPU实例开始,逐步介绍了虚拟环境的创建、PyTorch安装、mmcv及mmdetection的配置,并解决了安装过程中遇到的各种问题,如cython版本冲突等。最后,通过修改代码实现目标检测结果的保存。如需了解更多细节或获取完整代码,请联系作者。原文链接:[原文链接](请在此处插入原文链接)。
1090 5
|
前端开发 计算机视觉
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
757 2