编辑:3DCV
添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 这篇文章干了啥?
最先进(SOTA)的深度学习模型都具有一个共同的特点:它们都拥有极其庞大的参数数量(数十亿,甚至数百亿个参数)。目前,由于高昂的训练成本,只有少数行业实验室能够预训练大型语言模型。然而,许多预训练模型都可以通过API(如GPT4,(OpenAI, 2023))或开源平台(如Llama,(Touvron et al., 2023))获得。大多数从业者对这些模型感兴趣,希望将它们用于特定任务,并希望将这些模型适应到一个新的、通常规模更小的任务上。这一过程被称为微调(finetuning),即调整预训练模型的权重以提高在新任务上的性能。然而,由于SOTA模型的规模庞大,使用全微调(即微调模型的所有参数)来适应下游任务在计算上是不切实际的,因为这需要使用梯度方法来修改预训练模型的权重,这是一个昂贵的过程。此外,一个在预训练阶段已经学习到了普遍有用表示的模型,在原则上并不需要对所有参数进行显著调整。基于这种直觉,研究人员提出了多种资源高效的微调方法,这些方法通常冻结预训练权重,并仅调整新插入的一小部分参数。这些方法包括提示调整(prompt tuning),其中学习并附加一个“软提示”到输入中;适配器方法(adapters method),其中插入并训练轻量级的“适配器”层;以及(IA)3,其中通过学习的缩放因子修改激活向量。另一种资源高效的微调方法是低秩适应(Low Rank Adaptation),简称LoRA。在LoRA微调中,只有添加到预训练权重上的低秩矩阵(称为适配器)是可训练的。训练可以使用任何优化器进行,实践中常用的选择是Adam。由于训练的适配器是低秩的,这有效地减少了微调过程中可训练参数的数量,从而显著降低了训练成本。在许多任务上,如指令微调,LoRA已被证明与全微调相比具有相当或更好的性能,尽管在复杂的、长格式生成任务上,其性能并不总是如此优异。LoRA令人印象深刻的性能和计算上的节省,使其成为了业界标准的微调方法。
有效使用LoRA需要仔细选择超参数:秩和学习率。虽然文献中存在一些关于LoRA等级选择的理论指导方针,但除了常见的1e-4阶选择外,没有关于如何设置学习率的原则性指导方针。
下面一起来阅读一下这项工作~
1. 论文信息
标题:LoRA+: Efficient Low Rank Adaptation of Large Models
作者:Soufiane Hayou, Nikhil Ghosh, Bin Yu
机构:Simons Institute、UC Berkeley
原文链接:https://arxiv.org/abs/2402.12354
代码链接:https://github.com/nikhil-ghosh-berkeley/loraplus
2. 摘要
在本文中,我们展示了Hu等人最初引入的低秩适应(LoRA)方法,在应用于具有较大宽度(嵌入维度)的模型时,会导致次优微调。这是因为LoRA中的适配器矩阵A和B使用相同的学习率进行更新。通过针对大宽度网络的缩放论证,我们证明了为A和B使用相同的学习率无法实现有效的特征学习。然后,我们展示了通过为LoRA适配器矩阵A和B设置不同且经过精心选择的学习率比例,可以简单地纠正LoRA的这种次优性。我们将此提议的算法称为LoRA+。在广泛的实验中,LoRA+在保持与LoRA相同计算成本的同时,提高了性能(提升1-2%)和微调速度(最高可达约2倍加速)。
3. 效果展示
4. 主要贡献
我们通过神经网络缩放理论为设置学习率提供了指导原则。目前已有大量工作从无限宽度/深度的角度研究了神经网络的缩放。这种方法很简单:将神经网络的宽度/深度扩展到无穷大,理解极限如何依赖于训练过程中超参数(如学习率和初始化方差)的选择,然后推导出这些超参数的原则性选择,以实现某些期望的目标(例如改进特征学习)。无限宽度极限的例子包括关于初始化方案的研究,或者更全面的网络参数化研究,其中作者引入了μP,这是一种神经网络参数化方法,能够在无限宽度极限下确保特征学习,并为架构和学习率提供了精确的缩放规则,以最大化特征学习。深度极限的例子包括初始化策略、块缩放、深度参数化等。在这里,我们建议使用相同的策略来推导LoRA微调中学习率的缩放规则。更具体地说,我们研究了LoRA微调动力学的无限宽度极限,并表明标准的LoRA设置是次优的。我们通过引入一种名为LoRA+的新方法来纠正这一点,该方法在极限条件下改进了低秩适应中的特征学习。LoRA+的关键创新在于为A和B模块(LoRA模块)设置不同的学习率,如图1所示。我们的理论通过不同语言和模型的任务上的广泛实验结果得到了验证。
5. 总结 & 限制性
通过采用缩放论证,我们证明了当前实际使用的LoRA微调方法并不高效。我们提出了一种名为LoRA+的方法,通过为LoRA适配器矩阵设置不同的学习率来解决这一问题。我们的分析得到了大量实验结果的支持,这些结果证实了LoRA+在训练速度和性能方面的优势。这些优势在“困难”任务中更为显著,例如针对Roberta/GPT2的MNLI(与SST2相比)和针对LLama-7b的MMLU(与MNLI相比)。然而,如图7所示,对最优比率ηB/ηA的更精确估计应考虑任务和模型依赖性,而本文的分析缺乏这一维度。我们将其留待未来的工作。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、最前沿、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿:具身智能、大模型、Mamba、扩散模型等
除了这些,还有求职、硬件选型、视觉产品落地、产品、行业新闻等交流群
添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
▲长按扫码添加助理:cv3d008
「3D视觉从入门到精通」知识星球
具身智能、3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。
▲长按扫码学习3D视觉精品课程
3D视觉模组选型:www.3dcver.com
本文暂时没有评论,来添加一个吧(●'◡'●)