这都可以?什么是模型微调lora穿搭技巧

147小编 182 2025-03-20

1.模型微调有什么作用

 一只C9采鸟,主要传递正能量,顺便分享小知识

2.模型微调的步骤

今日热搜#那些长期不上班的人最后都怎么样了#,不知道从什么时候开始,“上班”似乎已经成为触动人们神经的一个敏感词汇,与其相关的词条频频冲上热,比如,从“一旦上过班,你的气质就变了”的热搜中应运而生的“班味”,“上班比丑穿搭”,以及最近的“二十多岁已经厌烦上班到极致”等。

3.loongway微缩模型

网友表示:工作后虽然精神变得贫瘠,但是物质上也好不充裕,可以说是两败俱伤。

4.两种常用的模型微调函数

使在大规模数据集上预先训练的模型适应各种下游任务是深度学习中的常见策略因此,参数有效的微调方法已经成为一种有前途的方法,可以使预训练模型适应不同的任务,同时只训练最少数量的参数虽然大多数这些方法都是为单任务适应而设计的,但多任务学习(MTL)架构中的参数有效训练仍然未被探索。

5.loongway微缩模型论坛

今天一起来看看布朗大学的一篇工作《MTLoRA: A Low-Rank Adaptation Approach for Efficient Multi-Task Learning》一句话总结:MTLoRA是一种用于多任务学习(MTL)的参数高效训练框架,它通过任务通用和任务特定低秩分解模块有效地分离参数空间,以适应不同的下游任务。

图1:MTLoRA与使用Swin-Tiny vision Transformer作为主干的最先进的参数高效训练方法。r表示MTLoRA内部低秩分解模块的不同秩。

【机器人】如何让视觉语言大模型帮助Robot理解?东京大学给出5种信息提取方法!【大模型】如何对预训练视觉模型(PVMs)进行高效参数微调?【多模态】颜水成团队最新开源VITRON,一个「通用视觉多模态大模型」!

【大模型】港中文新作Mini-Gemini:挖掘多模态视觉语言模型的潜力,既能看懂图又能生成图!【大模型】什么是视觉语言模型(VLM)?| 如何寻找适合自己的VLM?【大模型】P-Tuning微调LLMs,怎么实现的?

【大模型】LoRA微调大模型这么火爆,怎么实现的?【大模型】约1000篇参考文献!详细完整的2024年大语言模型综述!【大模型】羊驼工厂: 100+种语言模型的统一高效微调!Github 15k Star!

    通用视觉和语言模型,特别是在大规模数据集上训练的模型,对广泛的下游任务表现出显着的适应性[23,31]然而,为每个下游任务单独微调这些模型的所有参数会带来显著的效率挑战随着任务数量的增加,这种方法变得越来越低效,特别是在受计算资源约束的环境中。

因此,需要开发资源有效的微调技术[13,24,22,14]这些方法旨在通过限制可训练参数的数量来优化训练效率,同时尝试保留或增强特定于任务的微调大多数现有的参数有效的适应方法主要是针对单任务的适应,他们。

在应用到多任务学习(MTL)的情况时可能会失去有效性这归因于MTL固有的复杂性,其目标是在一系列任务中优化单个模型的性能,从而引入了额外的复杂性此外,只关注单个任务适应忽略了跨任务知识共享的潜在好处在MTL环境中的这种知识共享可以显着提高每个任务的性能[5,40]。

图2:(a)单个任务自适应导致每个任务的并行执行路径,从而导致推理和训练时间随任务数量线性缩放另一方面,(B)共享多任务自适应保持推理和训练时间接近于单任务模型,因为仅解码器被单独执行    为了使用现有方法实现多任务适配[22,24],必须添加特定于不同任务的各个模块,并一次适配一个下游任务,如图2(a)所示。

这种方法可以针对每个任务的独特需求进行定制和改进,当任务具有独特的特征或需要专业知识时特别有用[28,26]然而,这种策略在训练和推理过程中的效率方面都存在明显的缺点由于微调的任务特定性,必须为每个任务单独训练和推断模型。

这导致计算成本和时间随着任务数量成比例地增加例如,使模型适应五个不同的任务将需要五个单独的训练通道类似地,在推理期间,主干需要执行五次,每个任务执行一次,导致推理和训练持续时间随着任务计数的增加而线性增加

。为了解决这个问题,作者引入了 一种新的框架MTLoRA,旨在对MTL模型进行参数有效的微调。

本文的具体贡献有以下几点:据我们所知,MTLoRA是第一个解决多任务学习模型参数有效训练问题的方法MTLoRA在参数高效微调期间有效地平衡了共享和特定于任务的功能之间的学习我们设计了新颖的任务通用和任务特定的低秩自适应模块。

,利用它们来使共享的视觉Transformer Backbone适应多个下游密集预测任务我们观察到,在视觉Transformer中向补丁合并层添加低秩自适应,这是一种以前没有探索过的做法,在微调MTL模型期间显着提高了准确性-效率权衡。

我们通过引入MTLoRA+来强调这一观察结果我们将MTLoRA和MTLoRA+应用于基于分层Transformer的MTL架构MTLoRA在下游任务中表现出了上级的准确性,与完全微调整个MTL模型相比,同时训练的参数数量明显减少。

此外,MTLoRA主导了最先进的参数高效训练方法,如图1所示

这不是一个新问题,以前有相关研究多任务学习:多任务学习通常用于同时学习各种相关任务[26,25,27]多任务架构的典型设计包括从输入帧中提取特征表示的编码器和一组特定于任务的解码器,用于生成每个下游任务唯一的预测[40]。

在这些多任务架构中需要考虑的一个重要方面是信息共享机制两种主要的策略是软共享和硬共享软参数共享涉及每个任务具有其自己的骨干参数集,其主要目标是促进跨任务信息交换另一方面,硬参数共享在骨干网内使用一组共享的参数,每个任务使用独立的解码器来生成输出[18,29,1]。

对这些架构的进一步分类考虑了任务交互发生的阶段-导致分类为以编码器为中心和以解码器为中心的框架[36]以编码器为中心的架构将信息交换集中在编码器阶段[32,21],而在以解码器为中心的架构中,任务在解码阶段交换信息。

值得注意的是,一些模型采用了更集成的方法,允许在编码器和解码器阶段进行跨任务信息共享[26]单任务模型的参数有效训练:参数有效训练(PEFT)变得越来越重要,特别是在处理大规模预训练模型时[13,39,10,14],因为传统的微调方法涉及调整特定任务的模型参数的重要部分,可能是资源密集型的。

该领域中的两种常见技术是适配器[39,10]和低秩自适应(LoRA)[13,8]直接参考笔者之前的文章【大模型】如何对预训练视觉模型(PVMs)进行高效参数微调?多任务模型的参数有效训练:在多任务环境中,PEFT更具挑战性,因为模型必须同时满足多个任务的需求,这通常会导致复杂性增加和任务干扰的可能性。

因此,最近的一些研究提出了新的解决方案,以扩大PEFT多任务适应的好处一种这样的方法是超网络[24],它使用共享网络为任务条件下的所有层生成适配器参数,从而允许在不同任务之间共享信息,同时通过特定于任务的适配器实现特定于任务的适配。

在此基础上,Polyhistor [22]探索了密集视觉任务领域的PEFT,特别是分层视觉转换器Polyhistor提出了两个想法:将超网络分解为低秩矩阵,并使用自定义内核将微调参数缩放到不同的Transformer块。

然而,这两种方法依赖于对每个任务单独执行模型来应用其适配器,这并不能从MTL的有效训练或推理潜力中获益

Polyhistor和Polyhistor-Lite的说明(a) 提出了Polyhistor,它应用分解超网络来减少多任务适应中的训练参数数量还引入了层级缩放内核,以有效扩展不同规模适配器的模板内核(b) 通过结合分解超网络和层级缩放内核,我们的Polyhistor-Lite可以高效地解决每个像素视觉任务中的多任务适应问题。

    文章提出了MTLoRA,这是一个新颖的框架,用于多任务学习模型的参数高效训练MTLoRA通过任务不可知(Task-Agnostic)和任务特定(Task-Specific)的低秩分解模块来解决多任务微调中的参数空间解耦问题。

下面是文章的几个关键点:MTL架构的低秩自适应:任务不可知低秩适应模块(TA-LoRA):用于识别和利用多个任务之间的共享特征,促进不同任务之间的知识共享任务特定低秩适应模块(TS-LoRA):设计用于捕获每个任务的独特特征,允许模型为每个任务生成特定的特征表示。

多尺度特征共享:MTLoRA利用多尺度特征传播来增强视觉任务的性能,其中输入数据在不同尺度上被捕获,提供了不同层次的抽象非注意力模块的微调:文章还探讨了解冻(即微调)一些低成本训练模块(如层归一化)的效果,这些模块可以在不显著增加可训练参数数量的情况下提升模型性能。

1.MTL架构概述    首先,我们建立了一个多任务学习(MTL)框架,旨在MTL环境中的参数有效适应实验与已建立的MTL方法[37,32]相一致,我们的模型包括三个主要组件:共享的分层编码器,特定于任务的尺度间融合模块。

和特定于任务的解码器池我们采用现成的分层视觉Transformer作为共享编码器[23],它从所有下游任务的输入帧中提取视觉特征编码器的分层结构允许以各种尺度捕获视觉特征,提供输入数据的全面表示然后,提取的多尺度视觉特征被各种特定于任务的解码器融合和处理,以执行下游任务。

我们的MTL框架被设计为适应不同的视觉Transformer和解码器架构,这使得我们的参数高效的适应方法适用于广泛的MTL架构如图3所示:

图3:MTLoRA框架概述任务无关LoRA模块(TA-LoRA)放置在每个Transformer块中,不包括每个阶段中的最后一个模块,其中我们的任务特定LoRA(TS-LoRA)模块被放置在不同尺度上捕获特定于任务的微调。

为了有效地使MTL架构适应各种下游任务,我们从语言模型[13]中常用的低秩自适应(LoRA)技术中汲取灵感,该技术传统上用于单任务自适应我们的主要问题是:“当优化多个视觉下游任务时,微调低秩矩阵是如何执行的?”先前的低秩自适应研究主要旨在识别一组独特的低秩矩阵,以使编码器适应单个下游任务[16,30,24],如图2(a)所示。

这种方法需要为每个任务单独运行整个模型,这对于实时应用程序来说效率很低相比之下,我们的研究旨在开发一组适用于多个下游任务的低秩适应矩阵,如图2(b)所示这种方法支持对所有任务执行一次主干 多任务学习通常会带来挑战,例如“梯度冲突问题”[15]。

由于可训练参数的数量有限,这个问题在低秩自适应中变得更加明显2.MTL架构的低秩自适应    低秩分解模块越来越多地用于使预训练模型适应各种任务[13]这些模块被合并到涉及矩阵乘法的层中,特别用于基于transformer的模型的注意层。

对于分层视觉转换器,架构中的几个位置被确定为适合应用低秩矩阵,增强任务适应性,如图3(a)所示,包括:注意力层中的QKV计算:查询、关键字、值(QKV)计算,注意力机制的主要组成部分,表示低秩自适应的主要候选。

微调此计算允许修改注意力机制,使其更适合特定的下游任务,这可以提高模型以特定于任务的方式处理视觉输入的能力投影层:transformers中的投影层负责将attention层的输出投影回原始特征空间微调投影层可以将注意力输出投影到任务的特征空间中,从而在下游任务上产生更好的性能。

MLP块中的前馈层:这些层由两个密集层(FC 1和FC 2)组成,中间有非线性激活,将注意力输出转换为最终的特征表示微调这些层决定了模型的能力,以有效地生成特定于任务的最终特征表示,以供后续阶段或特定于任务的解码器处理。

    在这些层中采用低秩分解模块提供了可控制的旋钮来权衡微调效率(即,训练参数的数量)和自适应质量(即,下游任务的执行情况)我们考虑低秩分解模块的两种变体,如图3所示:(1)任务不可知的低秩自适应模块。

,用于捕获各种任务之间的共享特征,以及(2)任务特定的低秩自适应模块,可以学习特定于任务的特征任务不可知的低秩自适应(TA—LoRA):在我们的框架中,我们利用任务不可知的低秩自适应模块,该模块采用低秩分解来调整相应的权重。

TA—LoRA模块旨在识别和利用跨多个下游任务的共享功能,从而促进知识共享我们已经将TA—LoRA模块集成到Hierarchical Vision Transformer主干的Transformer块中,每个阶段的最后一块除外,如图3(a)所示。

具体而言,这些TA—LoRA模块用于适配Transformer块内的关键计算层,即QKV层、投影层和MLP块纳入TA—LoRA模块旨在促进平衡和协同的学习过程这种方法确保了对任何特定任务的微调是无偏的,防止过拟合。

此外,为了解决MTLoRA中梯度冲突的挑战,每个阶段的最后一个模块都包含了我们新颖的特定于任务的低秩自适应模块,其目的是捕获特定于任务的特征,如以下段落所述任务特定的低秩自适应(TS-LoRA):多任务低秩自适应的主要挑战之一是解开特征学习空间,以解决各种下游任务之间的冲突。

为了实现这一点,我们提出了我们的新的TS-LoRA模块TS-LoRA除了图3(c)所示的共享低秩矩阵外,还包含单独的特定于任务的低秩矩阵这些模块被设计为在两种不同的模式下运行首先,当TS-LoRA模块跟随具有TA-LoRA模块的层(例如,在投影层中)时,它处理共享输入以导出特定于任务的表示。

相反,在具有TS-LoRA模块的层在具有类似模块的另一层之后的场景中(如在MLP前馈层中观察到的),它处理特定于任务的输入以产生对应的特定于任务的输出在MTLoRA中,TA-LoRA和TS-LoRA模块的使用是在MTL模型中实现泛化和专业化之间最佳平衡的关键。

TA-LoRA模块旨在捕获整个模型中的通用信息,确保在各种任务中保持基本的通用性相比之下,TS-LoRA模块用于封装为每个特定任务量身定制的独特更新这种双模块方法确保了模型在有效处理多个任务之间相关的共享功能的同时,还具有满足单个任务特定需求的能力。

3.多尺度特征共享    编码器-解码器架构内的多尺度特征传播已被证明可以增强视觉任务的性能[41,32],其中输入数据以各种尺度捕获,提供各种级别的抽象通常,分层视觉Transformer通过多个阶段处理输入,每个阶段以不同的比例生成特征。

合并这些不同比例的特征会产生更全面的特征表示在传统的设置中,各种尺度的特征通常被融合在一起,以创建适用于所有任务的统一的、共享的多尺度特征集然而,我们的TS-LoRA模块允许每个任务在每个规模上进行独特的专业化,因为它在每个Transformer阶段结束时生成特定于任务的功能,如图3(a)所示。

这使得能够创建特定于任务的多尺度特征,从而推动模型根据每个任务的要求在每个尺度上微调特征我们的可学习任务特定的多尺度融合层使用基于残差块的架构来联合收割机以不同尺度组合特征(即,接受域)以信息的方式为每个下游任务。

4.非注意力模块的微调    参数有效训练领域的几项研究强调了解冻一些低训练成本模块的好处[10],例如层归一化,这可以在不显著增加可训练参数数量的情况下对模型的性能产生积极影响因此,我们探讨解冻MTLoRA内的不同模块的效果。

除了训练共享的TA-LoRA和特定于任务的TS-LoRA模块外,我们还解冻了注意力层中的补丁嵌入层、补丁合并层、层规范化和位置偏差我们在实验中提供了关于冻结每一层对准确性-效率权衡的影响的见解此外,我们探索添加低秩分解模块的补丁合并模块,而不是完全解冻它。

这允许进一步减少训练参数;我们将这个更轻的版本表示为MTLoRA+,指的是在Transformer块之外添加的那些额外的低秩分解模块。

1.实现细节数据集:我们在PASCAL MTL数据集上评估我们的方法[9]根据MTL文献中的其他论文[37,32,36],我们使用PASCAL-Context分割,该分割具有各种密集预测任务的注释,例如语义分割,人体部位检测,表面法线估计和显着性蒸馏。

它在训练分割中有4,998张图像,在验证分割中有5,105张图像评价指标:遵循常见的多任务学习评估实践[32],使用平均交集(mIoU)评估语义分割,显着性估计和人体部位分割任务我们使用预测角度的均方根误差(rmse)来评估表面法线任务。

Baeline:MTLoRA是第一个为多任务学习模型实现参数高效训练的工具因此,为了评估我们的方法与最先进的方法,我们将MTLoRA与其他单任务参数有效的训练方法进行了比较,其中使用Liu等人提供的设置为每个任务添加了任务模块。

具体来说,我们比较了以下基线:(1)适配器[11],其中特定于任务的瓶颈模块被放置在Transformer层中(2)Bitfit [38],其中只有偏差,补丁合并层和补丁投影层被微调(3)[16]其中可调嵌入(即,每层50个嵌入)被插入到第一输入层(VPT浅)和所有层(VPT深)中。

(4)Compacter [17],它将快速矩阵分解为两个低秩向量,Compacter++,它只将模块放置在MLP层之后(5)LoRA [13],其中低秩分解应用于秩r = 4的注意力层,并且适配器输出尺度(即,4),这与我们的MTLoRA超参数相匹配。

(6)VL-Adapter [30],它在不同的任务之间共享一个适配器(7)Hyperperformer [24],其中超网络用于为各种任务的适配器生成权重(8)Polyhistor [22],其中分解的超网络用于在不同任务之间共享信息,同时仍然需要为每个任务提供单独的训练和推理路径。

2.定量分析    为了公平比较,MTLoRA,MTLoRA+以及所有其他基线都基于Swin Transformers系列型号的Swin-Tiny变体[23]表1显示了每个任务的准确度,与我们的基线相比,MTLoRA和MTLoRA+的可训练参数的数量。

最后一列指示相应的参数有效训练方法是否允许同时执行所有任务正如前面在图2中提到的,在单个推理路径中执行所有任务的能力对于效率和延迟至关重要的应用程序来说是必不可少的。

表1:结果- MTLoRA与SOTA参数有效训练方法下表总结了每种方法中可训练参数的数量它还包括下游任务的准确性以及平均MTL模型的准确性  最后一列指示模型是否允许同时执行所有任务符号  和  分别指示越高越好和越低越好。

粗体数字突出显示MTLoRA如何在训练  较少参数时主导整个微调3.消融实验MTLoRA中任务特定模块的效果:为了显示MTLoRA中任务特定的低秩分解模块的有效性,我们将MTLoRA和MTLoRA+的性能与仅具有任务不可知的低秩分解模块的类似设置进行了比较。

如图4所示,比较的结果清楚地表明了添加特定于任务的适应模块的影响。

图4:MTLoRA的准确性与可训练参数,任务不可知与任务特定的适应模块较大主干和预训练数据集的结果:分析MTLoRA缩放主干和预训练数据集的有效性我们将MTLoRA应用于在ImageNet 22 k数据集上预训练的Swin-Base。

图5显示了与单任务模型相比,MTLoRA的准确性有所提高我们可以看到,MTLoRA可以很好地扩展到更大的主干,与单任务模型相比,它提供了显着的改进,同时训练的参数显着减少更多分析见附录

图5:当应用于在ImageNet-22 K上预训练的Swin-Base模型时,MTLoRA在各种下游任务上的性能。

    这项工作引入了MTLoRA,这是一个创新的框架,旨在为多任务学习(MTL)模型提供参数有效的培训MTLoRA的核心是任务不可知和任务特定的低秩适应模块,这些模块有助于在MTL微调期间有效地解开参数空间。

这些模块允许进行微调,以平衡MTL环境中的任务专业化和交互我们已经展示了MTLoRA在基于分层Transformer的MTL架构中的应用,将其定制为各种下游密集预测任务我们的实验表明,MTLoRA不仅超过了完全微调的MTL模型的准确性,而且还实现了训练参数数量大幅减少(可训练参数减少  。

)此外,与现有的最先进的参数高效训练方法相比,MTLoRA在可训练参数的数量和准确性之间的权衡中提供了帕累托最优性参考文献MTLoRA: A Low-Rank Adaptation Approach for Efficient Multi-Task Learning.2024.。

[22] Polyhistor: Parameter-efficient multi-task adaptation for dense vision tasks.2022.[11] Towards a unified view of parameter-efficient transfer learning.2021

[17] Efficient low-rank hypercomplex adapter layers.2021[38]Simple parameter-efficient fine-tuning for transformer-based masked language-models.2021

[13] Lora: Low-rank adaptation of large language models.2021

上一篇: 学到了条纹搭配什么裤子lora穿搭技巧
下一篇: 不看后悔意大利米兰市地图lora穿搭技巧
最新文章