建设街小学网站,如何在交易网站做电子印章,什么是网络科技公司,o2o网站建设技术导读#xff1a;大型预训练模型是一种在大规模语料库上预先训练的深度学习模型#xff0c;它们可以通过在大量无标注数据上进行训练来学习通用语言表示#xff0c;并在各种下游任务中进行微调和迁移。随着模型参数规模的扩大#xff0c;微调和推理阶段的资源消耗也在增加。…导读大型预训练模型是一种在大规模语料库上预先训练的深度学习模型它们可以通过在大量无标注数据上进行训练来学习通用语言表示并在各种下游任务中进行微调和迁移。随着模型参数规模的扩大微调和推理阶段的资源消耗也在增加。针对这一挑战可以通过优化模型结构和训练策略来降低资源消耗。
一般来说研究者的优化方向从两个方面共同推进
一方面针对训练参数过多导致资源消耗巨大的情况可以考虑通过固定基础大型语言模型的参数引入部分特定参数进行模型训练大大减少了算力资源的消耗也加速了模型的训练速度。比较常用的方法包括前缀调优、提示调优等。另一方面还可以通过固定基础大型语言模型的架构通过增加一个“新的旁路”来针对特定任务或特定数据进行微调当前非常热门的LoRA就是通过增加一个旁路来提升模型在多任务中的表现。
接下来我们将详细介绍11种高效的大型语言模型参数调优的方法。 本文目录
前缀调优提示调优P-Tuning v2LoRADyLoRAAdaLoRAQLoRAQA-LoRALongLoRAVeRAS-LoRA总结
1前缀调优
前缀调优Prefix Tuning是一种轻量级的微调替代方法专门用于自然语言生成任务。前缀调优的灵感来自于语言模型提示前缀就好像是“虚拟标记”一样这种方法可在特定任务的上下文中引导模型生成文本。
前缀调优的独特之处在于它不改变语言模型的参数而是通过冻结LM参数仅优化一系列连续的任务特定向量即前缀来实现优化任务。前缀调优的架构如图1所示。 图1 前缀调优的架构
由于在训练中只需要为每个任务存储前缀前缀调优的轻量级设计避免了存储和计算资源的浪费同时保持了模型的性能具有模块化和高效利用空间的特点有望在NLP任务中提供高效的解决方案。
2提示调优
提示调优Prompt Tuning方法是由Brian Lester在论文“The Power of Scale for Parameter-Efficient Prompt Tuning”中提出的。
提示调优采用“软提示”Soft Prompt的方式通过冻结整个预训练模型只允许每个下游任务在输入文本前面添加k个可调的标记Token来优化模型参数赋予语言模型能够执行特定的下游任务的能力。提示调优的架构如图2所示。 图2 提示调优的架构
在论文的实验对比中对于T5-XXL模型每个经过调整的模型副本需要110亿个参数相较于为每个下游任务制作特定的预训练模型副本提示调优需要的参数规模仅为20480个参数。该方法在少样本提示方面表现出色。
3P-Tuning v2
尽管提示调优在相应任务上取得了一定的效果但当底座模型规模较小特别是小于1000亿个参数时效果表现不佳。为了解决这个问题清华大学的团队提出了针对深度提示调优的优化和适应性实现——P-Tuning v2方法。
该方法最显著的改进是对预训练模型的每一层应用连续提示而不仅仅是输入层。这实际上是一种针对大型语言模型的软提示方法主要是将大型语言模型的词嵌入层和每个Transformer网络层前都加上新的参数。深度提示调优增加了连续提示的功能并缩小了在各种设置之间进行微调的差距特别是对于小型模型和困难的任务。
实验表明P-Tuning v2在30亿到100亿个参数的不同模型规模下以及在提取性问题回答和命名实体识别等NLP任务上都能与传统微调的性能相匹敌且训练成本大大降低。
4LoRA 微软公司在2021年提出了一种名为Low-Rank AdaptationLoRA低秩适配器的方法。
LoRA的核心思想是通过冻结预训练模型的权重并将可训练的秩分解矩阵注入Transformer架构的每一层从而显著减少下游任务中可训练参数的数量。在训练过程中只需要固定原始模型的参数然后训练降维矩阵A和升维矩阵B。LoRA的架构如图3所示。 图3 LoRA的架构
具体来看假设预训练的矩阵为它的更新可表示为其中。
与使用Adam微调的GPT-3 175B相比LoRA可以将可训练参数的数量减少10000倍并将GPU内存需求减少3倍。尽管LoRA的可训练参数较少训练吞吐量较高但与RoBERTa、DeBERTa、GPT-2和GPT-3等模型相比LoRA在模型质量性能方面与微调相当甚至更好。
5DyLoRA
但随着研究的深入LoRA块存在两大核心问题
一旦训练完成后LoRA块的大小便无法更改若要调整LoRA块的秩则需重新训练整个模型这无疑增加了大量时间和计算成本LoRA块的大小是在训练前设计的固定超参优化秩的过程需要精细的搜索与调优操作仅设计单一的超参可能无法有效提升模型效果。
为解决上述问题研究者引入了一种全新的方法—DyLoRA动态低秩适应。
研究者参考LoRA的基本架构针对每个LoRA块设计了上投影Wup和下投影Wdw矩阵及当前LoRA块的规模范围R。为确保增加或减少秩不会明显阻碍模型的表现在训练过程中通过对LoRA块对不同秩的信息内容进行排序再结合预定义的随机分布中进行抽样来对LoRA块镜像上投影矩阵和下投影矩阵截断最终确认单个LoRA块的大小。DyLoRA的架构如图4所示。 图4 DyLoRA的架构
研究结果表明与LoRA相比使用DyLoRA训练出的模型速度可提升47倍且性能几乎没有下降。此外与LoRA相比该模型在更广泛的秩范围内展现出了卓越的性能。
6AdaLoRA
正如DyLoRA优化方法一样提出AdaLoRA的研究者也发现当前LoRA存在的改进方向
由于权重矩阵在不同LoRA块和模型层中的重要性存在差异因此不能提前制定一个统一规模的秩来约束相关权重信息需要设计可以支持动态更新的参数矩阵需要设计有效的方法来评估当前参数矩阵的重要性并根据重要性程度为重要性高的矩阵分配更多参数量以提升模型效果对重要性低的矩阵进行裁剪进一步降低计算量。
根据上述思想研究者提出了AdaLoRA方法可以根据权重矩阵的重要性得分在权重矩阵之间自适应地分配参数规模。在实际操作中AdaLoRA采用奇异值分解SVD的方法来进行参数训练根据重要性指标剪裁掉不重要的奇异值来提高计算效率从而进一步提升模型在微调阶段的效果。
7QLoRA
Tim Dettmers等研究者在论文“QLoRA: Efficient Finetuning of Quantized LLMs”中提出了一种高效的模型微调方法——QLoRA。
QLoRA的架构如图5所示。 图5 QLoRA的架构
QLoRA的创新内容主要如下
4bit NormalFloatNF4。NF4是一种新型数据类型它对正态分布的权重来说是信息理论上的最优选择。双重量化技术。双重量化技术减少了平均内存的使用它通过对已量化的常量进行再量化来实现。分页优化器。分页优化器有助于管理内存峰值防止梯度检查点时出现内存不足的错误。
实验表明QLoRA技术使得研究者能够在单个48GB GPU上微调650亿个参数规模的模型同时维持16bit精度任务的完整性能。例如在训练Guanaco模型时仅需在单个GPU上微调24h即可达到与ChatGPT相当的99.3%性能水平。通过QLoRA微调技术可以有效降低模型微调时的显存消耗。
8QA-LoRA
大型语言模型取得了迅猛发展尽管在许多语言理解任务中表现强大但由于巨大的计算负担尤其是在需要将它们部署到边缘设备时应用受到了限制。具体而言预训练权重矩阵的每一列只伴随一个缩放和零参数对但有很多LoRA参数。这种不平衡不仅导致了大量的量化误差对LLM的准确性造成损害而且使得将辅助权重整合到主模型中变得困难。
在论文“QA-LoRA: Quantization-aware Low-rank Adaptation of large language models”中研究者提出了一种量化感知的低秩适应QA-LoRA算法。该方法来源于量化和适应的自由度不平衡的思想。
研究者提出采用分组运算符的方式旨在增加量化自由度的同时减少适应自由度。
QA-LoRA的实现简便仅需几行代码同时赋予原始的LoRA两倍的能力
在微调过程中LLM的权重被量化如INT4以降低时间和内存的使用微调后LLM和辅助权重能够自然地集成到一个量化模型中而不损失准确性。
通过在LLaMA和LLaMA2模型系列的实验中证明QA-LoRA在不同的微调数据集和下游场景中验证了其有效性。
如图6所示与之前的适应方法LoRA和QLoRA相比QA-LoRA在微调和推理阶段都具有更高的计算效率。更重要的是由于不需要进行训练后量化因此它不会导致准确性损失。在图6中展示了INT4的量化但QA-LoRA可以推广到INT3和INT2。 图6 LoRA、QLoRA、QA-LoRA的架构对比
9LongLoRA
通常情况下用较长的上下文长度训练大型语言模型的计算成本较高需要大量的训练时间和GPU资源。
为了在有限的计算成本下扩展预训练大型语言模型的上下文大小研究者在论文“LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models”中提出了LongLoRA的方法整体架构如图7所示。 图7 LongLoRA的整体架构
LongLoRA在两个方面进行了改进
虽然在推理过程中需要密集的全局注意力但通过采用稀疏的局部注意力可以有效地进行模型微调。在LongLoRA中引入的转移短暂的注意力机制能够有效地实现上下文扩展从而在性能上与使用香草注意力Vanilla Attention进行微调的效果相似通过重新审视上下文扩展的参数高效微调机制研究者发现在可训练嵌入和规范化的前提下用于上下文扩展的LoRA表现良好。
LongLoRA在从70亿、130亿到700亿个参数的LLaMA2模型的各种任务上都取得了良好的结果。具体而言LongLoRA采用LLaMA2-7B模型将上下文长度从4000个Token扩展到10万个Token展现了其在增加上下文长度的同时保持了高效计算的能力。这为大型语言模型的进一步优化和应用提供了有益的思路。
10VeRA
LoRA是一种常用的大型语言模型微调方法它在微调大型语言模型时能够减少可训练参数的数量。然而随着模型规模的进一步扩大或者需要部署大量适应于每个用户或任务的模型时存储问题仍然是一个挑战。
研究者提出了一种基于向量的随机矩阵适应Vector-based Random matrix AdaptationVeRA的方法VeRA的实现方法是通过使用一对低秩矩阵在所有层之间共享并学习小的缩放向量来实现这一目标。
与LoRA相比VeRA成功将可训练参数的数量减少了10倍同时保持了相同的性能水平。VeRA与LoRA的架构对比如图8所示LoRA通过训练低秩矩阵和来更新权重矩阵中间秩为。在VeRA中这些矩阵被冻结在所有层之间共享并通过可训练向量和进行适应从而显著减少可训练参数的数量。在这种情况下低秩矩阵和向量可以合并到原始权重矩阵中不引入额外的延迟。这种新颖的结构设计使得VeRA在减少存储开销的同时还能够保持和LoRA相媲美的性能为大型语言模型的优化和应用提供了更加灵活的解决方案。 图8 VeRA与LoRA的架构对比
实验证明VeRA在GLUE和E2E基准测试中展现了其有效性并在使用LLaMA2 7B模型时仅使用140万个参数的指令就取得了一定的效果。这一方法为在大型语言模型微调中降低存储开销提供了一种新的思路有望在实际应用中取得更为显著的效益。
11S-LoRA
LoRA作为一种参数高效的大型语言模型微调方法通常用于将基础模型适应到多种任务中从而形成了大量派生自基础模型的LoRA模型。由于多个采用LoRA形式训练的模型的底座模型都为同一个因此可以参考批处理模式进行推理。
据此研究者提出了一种S-LoRAServing thousands of con current LoRA adapters方法S-LoRA是一种专为可伸缩地服务多个LoRA适配器而设计的方法。
S-LoRA的设计理念是将所有适配器存储在主内存中并在GPU内存中动态获取当前运行查询所需的适配器。为了高效使用GPU内存并减少碎片S-LoRA引入了统一分页。统一分页采用统一的内存池来管理具有不同秩的动态适配器权重以及具有不同序列长度的KV缓存张量。此外S-LoRA还采用了一种新颖的张量并行策略和高度优化的自定义CUDA核心用于异构批处理LoRA计算。这些特性使得S-LoRA能够在单个GPU或跨多个GPU上提供数千个LoRA适配器而开销相对较小。
通过实验发现S-LoRA的吞吐量提高了4倍多并且提供的适配器数量增加了数个数量级。因此S-LoRA在实现对许多任务特定微调模型的可伸缩服务方面取得了显著进展并为大规模定制微调服务提供了潜在的可能性。
12总结
本文从背景、来源、技术路线及性能等方面综述了11种在模型参数调优阶段进行的方法其中前缀调优、提示调优和P-Tuning v2属于引入特定参数来减少算力消耗、提升训练速度基于LoRA的各种方法的基本思想是添加新的旁路对特定任务或特定数据进行微调。
开源社区Hugging Face将这11种方法归纳为高效参数调优方法Parameter-Efficient Fine-TuningPEFT。PEFT方法能够在不微调所有模型参数的情况下有效地让预训练语言模型适应各种下游应用。PEFT方法只微调了少量额外的模型参数从而大幅降低了大模型训练和微调的计算与存储成本。通过合理使用PEFT方法不但能提高模型的训练效率还能在特定任务上达到大型语言模型的效果。有关基于PEFT的微调实战案例推荐您阅读刘聪、沈盛宇、李特丽和杜振东的新书《大型语言模型实战指南应用实践与场景落地》。
那么如何系统的去学习大模型LLM
我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ 朋友们如果有需要全套 《LLM大模型入门进阶学习资源包》扫码获取~
篇幅有限部分资料如下
LLM大模型学习指南路线汇总
大模型入门要点扫盲必看 既然要系统的学习大模型那么学习路线是必不可少的这份路线能帮助你快速梳理知识形成自己的体系。
大模型入门实战训练
光学理论是没用的要学会跟着一起做要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。
国内企业大模型落地应用案例
《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例这些案例覆盖了金融、医疗、教育、交通、制造等众多领域无论是对于大模型技术的研究者还是对于希望了解大模型技术在实际业务中如何应用的业内人士都具有很高的参考价值。 文末领取 《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。 LLM大模型学习视频
观看零基础学习书籍和视频看书籍和视频学习是最快捷也是最有效果的方式跟着视频中老师的思路从基础到深入还是很容易入门的。 文末领取
640份大模型行业报告
包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。
获取方式
这份完整版的大模型 LLM 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
有需要的小伙伴可以Vx扫描下方二维码免费领取