当前位置: 首页 > news >正文

网站如何做下拉菜单建设银行网站打开自动关闭

网站如何做下拉菜单,建设银行网站打开自动关闭,网站 概念设计,电销外包团队在哪找文章汇总 总体来看像是一种带权重的残差#xff0c;但解决的如何高效问题的事情。 相比模型的全微调#xff0c;作者提出固定预训练模型参数不变#xff0c;在原本权重矩阵旁路添加低秩矩阵的乘积作为可训练参数#xff0c;用以模拟参数的变化量。 模型架构 h W 0 x △…文章汇总 总体来看像是一种带权重的残差但解决的如何高效问题的事情。 相比模型的全微调作者提出固定预训练模型参数不变在原本权重矩阵旁路添加低秩矩阵的乘积作为可训练参数用以模拟参数的变化量。 模型架构 h W 0 x △ W x W 0 x B A x , B ∈ R d × r , A ∈ R r × k , r ≪ m i n ( d , k ) hW_0x\triangle WxW_0xBAx,B\in \mathbb{R}^{d\times r},A\in \mathbb{R}^{r\times k},r \ll min(d,k) hW0​x△WxW0​xBAx,B∈Rd×r,A∈Rr×k,r≪min(d,k) 可以从中看出来 B ∈ R d × r , A ∈ R r × k B\in\mathbb{R}^{d\times r},A\in \mathbb{R}^{r\times k} B∈Rd×r,A∈Rr×k分别是列满秩和行满秩。 因此 r a n k ( A ) r a n k ( B ) r , r ≪ m i n ( d , k ) rank(A)rank(B)r,r \ll min(d,k) rank(A)rank(B)r,r≪min(d,k)。 优点 1只优化注入的小得多的低秩矩阵并且降低了过拟合的风险。 2推理时可以将原权重与训练后权重合并即 W W 0 B A WW_0BA WW0​BA因此在推理时不存在额外的开销。 3当我们需要切换到另一个下游任务时我们可以通过减去 B A BA BA然后添加不同的 B ′ A ′ BA B′A′来恢复 W 0 W_0 W0​这是一个内存开销很小的快速操作。 LoRA在transformer上的应用 为了简单和参数效率我们将研究限制为仅适应下游任务的注意力权重并冻结MLP模块(因此它们不接受下游任务的训练) 摘要 自然语言处理的一个重要范例是对一般领域数据进行大规模预训练并适应特定的任务或领域。当我们预训练更大的模型时重新训练所有模型参数的完全微调变得不太可行。以GPT-3 175B为例部署独立的微调模型实例每个实例都有175B参数这是非常昂贵的。我们提出了低秩自适应(Low-Rank Adaptation, LoRA)它冻结了预训练的模型权重并将可训练的秩分解矩阵注入到Transformer架构的每一层从而大大减少了下游任务的可训练参数的数量。与经过Adam微调的GPT-3 175B相比LoRA可以将可训练参数的数量减少10,000倍GPU内存需求减少3倍。在RoBERTa、DeBERTa、GPT-2和GPT-3上LoRA在模型质量方面的表现与调优相当或更好尽管具有更少的可训练参数、更高的训练吞吐量并且与适配器不同没有额外的推理延迟。我们还对语言模型适应中的等级缺陷进行了实证研究从而揭示了LoRA的有效性。我们发布了一个包来促进LoRA与PyTorch模型的集成并在https://github.com/microsoft/LoRA上为RoBERTa、DeBERTa和GPT-2提供我们的实现和模型检查点。 1介绍 自然语言处理中的许多应用依赖于将一个大规模的预训练语言模型适应多个下游应用。这种适应通常是通过微调来完成的微调会更新预训练模型的所有参数。微调的主要缺点是新模型包含与原始模型一样多的参数。由于每隔几个月就会训练更大的模型对于GPT-2 (Radford等人b)或RoBERTa large (Liu等人2019)来说这仅仅是一个“不便”而对于具有1750亿个可训练参数的GPT-3 (Brown等人2020)来说这是一个关键的部署挑战许多人试图通过调整一些参数或学习外部模块来缓解这种情况。这样除了每个任务的预训练模型外我们只需要存储和加载少量的特定于任务的参数大大提高了部署时的运行效率。然而现有的技术经常引入推理延迟(Houlsby等人2019;Rebuffi等人2017)通过扩展模型深度或减少模型的可用序列长度(Li Liang, 2021;Lester等人2021;Hambardzumyan等2020;Liu et al . 2021)(第3节)。更重要的是这些方法往往无法匹配微调基线从而在效率和模型质量之间做出权衡。 图1:我们的重新参数化。我们只训练A和B。 我们从Li等人(2018a)那里获得灵感;Aghajanyan等人(2020)的研究表明学习到的过度参数化模型实际上存在于低内在维上。我们假设模型适应过程中的权重变化也具有较低的“内在秩”从而提出了低秩适应(low - rank adaptation, LoRA)方法。LoRA允许我们通过优化密集层在适应过程中变化的秩分解矩阵来间接训练神经网络中的一些密集层同时保持预训练的权值不变如图1所示。以GPT-3 175B为例我们展示了即使在全秩(即d)高达12,288时非常低的秩(即图1中的 r r r可以是1或2)也足够了这使得LoRA既具有存储效率又具有计算效率。 LoRA具有几个关键优势。 •预先训练的模型可以共享并用于为不同的任务构建许多小型LoRA模块。我们可以通过替换图1中的矩阵A和B来冻结共享模型并有效地切换任务从而显著降低存储需求和任务切换开销。 •LoRA使训练更有效并且在使用自适应优化器时将硬件进入门槛降低了3倍因为我们不需要计算梯度或维护大多数参数的优化器状态。相反我们只优化注入的小得多的低秩矩阵。 •我们简单的线性设计允许我们在部署时将可训练矩阵与冻结权重合并与完全微调的模型相比通过构建不会引入推理延迟。 •LoRA与许多先前的方法正交并且可以与其中许多方法组合例如前缀调优。我们在附录E中提供了一个例子。 术语和约定 我们经常引用Transformer体系结构并对其维度使用常规术语。我们将Transformer层的输入和输出维度大小称为 d m o d e l d_{model} dmodel​。我们用 W q , W k , W v , W o W_q,W_k,W_v,W_o Wq​,Wk​,Wv​,Wo​来指代自关注模块中的查询/键/值/输出投影矩阵。 W W W或 W 0 W_0 W0​为预训练权矩阵 △ W \triangle W △W为适应过程中累积的梯度更新。我们用 r r r来表示LoRA模块的秩。我们遵循(Vaswani et al . 2017;Brown et al . 2020)并使用Adam (Loshchilov Hutter, 2019;Kingma Ba, 2017)进行模型优化并使用Transformer MLP前馈维度 f f f n 4 × d m o d e l f_{ffn}4\times d_{model} fffn​4×dmodel​。 2 问题陈述 虽然我们的建议与训练目标无关但我们将重点放在语言建模上作为我们的激励用例。下面是对语言建模问题的简要描述特别是在给定特定任务提示的情况下最大化条件概率。 假设我们有一个预训练的自回归语言模型 P Φ ( y ∣ x ) P_\Phi(y|x) PΦ​(y∣x)参数化为 Φ \Phi Φ。例如 P Φ ( y ∣ x ) P_\Phi(y|x) PΦ​(y∣x)可以是通用的多任务学习器如GPT (Radford等人b;Brown等人2020)基于Transformer架构(Vaswani等人2017)。考虑将此预训练模型应用于下游条件文本生成任务例如摘要、机器阅读理解(MRC)和自然语言转换为SQL (NL2SQL)。每个下游任务由上下文-目标对的训练数据集表示: Z { ( x i , y i ) } i 1 , . . . , N \mathcal{Z}\{(x_i,y_i)\}_{i1,...,N} Z{(xi​,yi​)}i1,...,N​其中 x i x_i xi​和 y i y_i yi​都是令牌序列。例如在NL2SQL中 x i x_i xi​是一个自然语言查询 y i y_i yi​是对应的SQL命令;“ x i x_i xi​”是文章的内容“ y i y_i yi​”是文章的摘要。 在全微调过程中将模型初始化为预训练的权值 Φ 0 \Phi_0 Φ0​并通过反复跟随梯度更新为 Φ 0 △ Φ \Phi_0\triangle \Phi Φ0​△Φ以最大化条件语言建模目标: 完全微调的主要缺点之一是对于每个下游任务我们学习一组不同的参数 △ Φ \triangle \Phi △Φ其维数 ∣ △ Φ ∣ |\triangle \Phi| ∣△Φ∣等于 ∣ Φ 0 ∣ |\Phi_0| ∣Φ0​∣。因此如果预训练的模型很大(如GPT-3的 ∣ Φ 0 ∣ |\Phi_0| ∣Φ0​∣≈1750亿)存储和部署许多独立的微调模型实例可能是具有挑战性的如果可行的话。 在本文中我们采用了一种参数效率更高的方法其中特定于任务的参数增量 △ Φ △ Φ ( Θ ) \triangle \Phi\triangle \Phi(\Theta) △Φ△Φ(Θ)由更小的参数集 Θ \Theta Θ与 ∣ Θ ∣ ≪ ∣ Φ 0 ∣ |\Theta| \ll |\Phi_0| ∣Θ∣≪∣Φ0​∣进一步编码。因此寻找 △ Φ \triangle \Phi △Φ的任务变成了对 Θ \Theta Θ的优化: 在随后的章节中我们建议使用低秩表示来编码 △ Φ \triangle \Phi △Φ这既节省计算又节省内存。当预训练模型为GPT-3 175B时可训练参数 ∣ Θ ∣ |\Theta| ∣Θ∣的数量可小至 ∣ Φ 0 ∣ |\Phi_0| ∣Φ0​∣的0.01%。 3.现有的解决方案还不够好吗? 我们着手解决的问题绝不是什么新问题。自从迁移学习开始以来已经有几十项工作试图使模型适应更具有参数和计算效率。关于一些著名作品的概览见第6节。以语言建模为例在有效适应方面有两种突出的策略:添加适配器层(Houlsby等人2019;Rebuffi et al . 2017;Pfeiffer等2021;Ruckl¨e等人2020)或优化输入层激活的某些形式(Li Liang, 2021;Lester等人2021;Hambardzumyan等2020;Liu et al, 2021)。然而这两种策略都有其局限性特别是在大规模和对延迟敏感的生产场景中。 适配器层引入推理延迟 表1:GPT-2介质中单个正向传递的延迟时间(以毫秒为单位)平均超过100次试验。我们使用的是NVIDIA Quadro RTX8000。“ ∣ Θ ∣ |\Theta| ∣Θ∣”表示适配器层中可训练参数的数量。AdapterL和AdapterH是适配器调优的两个变体我们将在5.1节中描述。在在线、短序列长度的场景中适配器层引入的推理延迟可能非常大。详见附录B的完整研究。 适配器有许多变体。我们专注于Houlsby等人(2019)的原始设计每个Transformer块有两个适配器层Lin等人(2020)的最新设计每个块只有一个适配器层但有一个额外的LayerNorm (Ba等人2016)。虽然可以通过修剪层或利用多任务设置来减少总体延迟(Ruckl¨e等人2020;Pfeiffer等人2021)没有直接的方法绕过适配器层中的额外计算。这似乎不是问题因为适配器层被设计为具有很少的参数(有时原始模型的1%)通过具有较小的瓶颈维度这限制了它们可以添加的flop。然而大型神经网络依赖于硬件并行性来保持低延迟适配器层必须按顺序处理。这在批处理大小通常小于1的在线推理设置中会产生差异。在没有模型并行性的通用场景中例如在单个GPU上运行GPT-2 (Radford et al, b)介质上的推理我们看到使用适配器时延迟明显增加即使瓶颈维度非常小(表1)。 当我们需要像Shoeybi等人(2020)那样对模型进行分片时这个问题会变得更糟;Lepikhin等人(2020)因为额外的深度需要更多的同步GPU操作如AllReduce和Broadcast除非我们多次冗余存储适配器参数。 直接优化提示是很困难的 另一个方向如前缀调优(Li Liang, 2021)面临着不同的挑战。我们观察到前缀调优很难优化其性能在可训练参数中呈非单调变化证实了原论文的类似观察结果。更根本的是为自适应保留一部分序列长度必然会减少用于处理下游任务的序列长度我们怀疑与其他方法相比这使得调整提示的性能降低。我们把对任务执行的研究推迟到第5节。 4.我们的方法 我们描述了LoRA的简单设计及其实际效益。这里概述的原则适用于深度学习模型中的任何密集层尽管在我们的实验中我们只关注Transformer语言模型中的某些权重作为激励用例。 4.1低秩参数化更新矩阵 神经网络包含许多执行矩阵乘法的密集层。这些层中的权矩阵通常是全秩的。当适应一个特定的任务时Aghajanyan等人(2020)表明预训练的语言模型具有较低的“内在维度”尽管随机投影到较小的子空间但仍然可以有效地学习。受此启发我们假设权重的更新在适应过程中也具有较低的“内在秩”。对于预训练的权重矩阵 W 0 ∈ R d × k W_0\in \mathbb{R}^{d\times k} W0​∈Rd×k我们通过用低秩分解 W 0 △ W W 0 B A W_0\triangle WW_0BA W0​△WW0​BA来约束其更新其中 B ∈ R d × r , A ∈ R r × k B\in \mathbb{R}^{d\times r},A\in \mathbb{R}^{r\times k} B∈Rd×r,A∈Rr×k秩 r ≪ m i n ( d , k ) r \ll min(d,k) r≪min(d,k)。在训练过程中 W 0 W_0 W0​被冻结不接受梯度更新而 A A A和 B B B包含可训练参数。注意 W 0 W_0 W0​和 △ W B A \triangle W BA △WBA都用相同的输入相乘它们各自的输出向量按坐标求和。当 h W 0 x hW_0x hW0​x时修正后的正向传递收益率为: h W 0 x △ W x W 0 x B A x hW_0x\triangle WxW_0xBAx hW0​x△WxW0​xBAx 我们在图1中说明了我们的重新参数化。我们对 A A A使用随机高斯初始化对 B B B使用零初始化因此 △ W B A \triangle WBA △WBA在训练开始时为零。然后我们将 △ W x \triangle W x △Wx乘以 α r \frac{\alpha}{r} rα​其中 α \alpha α是 r r r中的常数。当使用Adam进行优化时如果我们适当地缩放初始化则调整 α \alpha α与调整学习率大致相同。因此我们简单地将 α \alpha α设置为我们尝试的第一个 r r r而不调整它。当我们改变 r r r时这种缩放有助于减少重新调整超参数的需要(Yang Hu, 2021)。 全微调的推广。更一般的微调形式允许训练预训练参数的子集。LoRA更进一步在适应过程中不要求权重矩阵的累积梯度更新具有全秩。这意味着当将LoRA应用于所有权重矩阵并训练所有偏差时通过将LoRA秩 r r r设置为预训练的权重矩阵的秩我们大致恢复了完全微调的表达性。换句话说当我们增加可训练参数的数量时训练LoRA大致收敛于训练原始模型而基于适配器的方法收敛于MLP基于前缀的方法收敛于不能接受长输入序列的模型。 **没有额外的推理延迟。当部署到生产环境中时我们可以显式地计算和存储 W W 0 B A WW_0BA WW0​BA并像往常一样执行推理。注意 W 0 W_0 W0​和 B A BA BA都在 R d × k \mathbb{R}^{d\times k} Rd×k中。当我们需要切换到另一个下游任务时我们可以通过减去 B A BA BA然后添加不同的 B ′ A ′ BA B′A′来恢复 W 0 W_0 W0​这是一个内存开销很小的快速操作。**至关重要的是这保证在推理期间与通过构造进行微调的模型相比我们不会引入任何额外的延迟。 4.2 LoRA在transformer上的应用 原则上我们可以将LoRA应用于神经网络中权矩阵的任何子集以减少可训练参数的数量。在Transformer体系结构中自关注模块 ( W q , W k , W v , W o ) (W_q,W_k,W_v,W_o) (Wq​,Wk​,Wv​,Wo​)和2个在MLP模块。我们将 W q W_q Wq​(或 W k , W v W_k,W_v Wk​,Wv​)视为维度 d m o d e l × d m o d e l d_{model}\times d_{model} dmodel​×dmodel​的单个矩阵尽管输出维度通常被分割成注意头。为了简单和参数效率我们将研究限制为仅适应下游任务的注意力权重并冻结MLP模块(因此它们不接受下游任务的训练)。在7.1节中我们进一步研究了在Transformer中适应不同类型的注意力权重矩阵的影响。我们把适应MLP层、LayerNorm层和偏差的实证调查留给未来的工作。 实际的好处和局限性 最大的好处来自内存和存储使用的减少。对于亚当训练的大型Transformer如果 r ≪ d m o d e l r \ll d_{model} r≪dmodel​ 我们将VRAM使用量减少2/3因为我们不需要存储冻结参数的优化器状态。在GPT-3 175B上我们将训练期间的VRAM消耗从1.2TB减少到350GB。当 r 4 r4 r4并且只调整查询和值投影矩阵时检查点大小减少了大约10,000倍(从350GB减少到35MB)4。这使我们能够使用更少的gpu进行训练并避免I/O瓶颈。另一个好处是我们可以在部署时以低得多的成本在任务之间切换只需交换LoRA权重而不是所有参数。这允许创建许多定制模型这些模型可以在将预训练的权重存储在VRAM中的机器上动态交换。我们还观察到在GPT-3 175B的训练过程中与完全微调相比速度提高了25%因为我们不需要计算绝大多数参数的梯度。 LoRA也有其局限性。例如如果选择将 A A A和 B B B吸收到 W W W中以消除额外的推理延迟则在单个前向传递中批量处理具有不同 A A A和 B B B的不同任务的输入是不直接的。尽管对于延迟不重要的场景可以不合并权重并动态选择用于批量示例的LoRA模块。 5 实证实验 在扩展到GPT-3 175B (Brown等人2020)之前我们评估了LoRA在RoBERTa (Liu等人2019)、DeBERTa (He等人2021)和GPT-2 (Radford等人b)上的下游任务性能。我们的实验涵盖了广泛的任务从自然语言理解(NLU)到生成(NLG)。具体来说我们对RoBERTa和DeBERTa的GLUE (Wang et al . 2019)基准进行了评估。我们遵循Li Liang(2021)在GPT-2上的设置进行直接比较并添加了WikiSQL (Zhong等人2017)(NL到SQL查询)和SAMSum (Gliwa等人2019)(对话摘要)在GPT-3上进行大规模实验。有关我们使用的数据集的更多细节请参阅附录C。我们使用NVIDIA Tesla V100进行所有实验。 8 结论与未来工作 就所需的硬件和为不同任务托管独立实例的存储/切换成本而言对庞大的语言模型进行微调是非常昂贵的。我们提出LoRA一种有效的自适应策略既不引入推理延迟也不减少输入序列长度同时保持高模型质量。重要的是通过共享绝大多数模型参数它允许在作为服务部署时快速切换任务。虽然我们关注的是Transformer语言模型但所提出的原则通常适用于任何具有密集层的神经网络。 未来的工作有很多方向。1) LoRA可以与其他有效的自适应方法相结合有可能提供正交改进。2)微调或LoRA背后的机制尚不清楚——**如何将预训练期间学习到的特征转化为下游任务?我们相信LoRA比全微调更容易回答这个问题。**3)我们主要依靠启发式方法来选择应用LoRA的权重矩阵。有没有更有原则的方法?4)最后 △ W \triangle W △W的rank-deficient表明 W W W也可能是rank-deficient这也可以作为未来作品的灵感来源。 参考资料 论文下载(2021年) https://arxiv.org/abs/2106.09685v2 代码地址 https://github.com/microsoft/LoRA 参考资料 《大规模语言模型从理论到实践》张奇 桂韬 郑锐 ⻩萱菁 著
http://www.dnsts.com.cn/news/111857.html

相关文章:

  • 建设个人网站的心得体会温州网站快速排名
  • 网站备案有什么好处理jiathis wordpress
  • 学校网站制作多少钱电器网站制作价格
  • 爱站网怎么使用网络推广培训公司
  • 山东住房和城乡建设局网站首页seo网站结构如何优化
  • 做水产有什么网站海外广告优化师
  • 网站建设 艺麟盛世建设工程合同包括哪些合同?
  • 中等职业学校网站建设模块淮安制作企业网站
  • 蓝彩网络科技_齐齐哈尔微信营销_齐齐哈尔网站建设网站seo推广营销
  • 南通制作企业网站重庆快建网站
  • 广东网站设计哪家好wordpress哪个模板好用
  • wordpress搭建下载站网站开发的技术解决方案
  • 电商网站推广常见问题网站开发课程安排
  • 安陆市城乡建设局网站网站后台框架下载
  • 濮阳建站建设网页搜索历史怎么找到
  • 建设网站服务器自营方式的特点虚拟商品交易网站建设
  • 北京电子商务网站制作h5页面怎么做
  • 专项培训网站建设方案wordpress 延迟加载插件
  • 有专门做食品的网站吗百度关键词优化排名
  • 爱情动做网站推荐展示型网站包含哪些模块
  • 建设一个素材网站淘宝网店怎么注册开店
  • 嘉峪关市建设局建管科资质网站wordpress切换语言实现
  • 如何替换网站上的动画mip wordpress主题
  • 如何做网站创业网站无法发送邮件wordpress
  • 有哪些网站可以做全景效果图东道设计地址
  • 华亭县门户网站东莞中赢网站建设公司怎么样
  • 阳泉网站设计Wordpress大前端DUX5.0主题
  • 南宁微网站制作私企建筑公司排名
  • 农业信息中心网站建设衡阳专业的关键词优化终报价
  • 北京建网站服务wordpress+php版本太低