版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大模型微调-第6章智周万物•道济天下o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2o
大模型训练包括“预训练”和“微调”两个关键阶段在预训练阶段,大模型通过在大量数据上进行训练学习,已经掌握了丰富的语言规则、知识信息以及视觉模式。然而,在大规模(公开)数据上通过自监督学习训练出来的模型虽然具有较好的“通识”能力(称为基础模型),却往往难以具备“专业认知”能力(称为专有模型/垂直模型)。大模型的预训练成本非常昂贵,庞大的计算资源和数据让普通用户难以从头开始训练大模型。充分挖掘这些预训练大模型的潜力,针对特定任务的微调不可或缺。大模型微调是将预训练好的大模型参数作为起点,利用少量有标签的数据进一步调整大模型参数,以适应特定的任务,使得大模型不仅仅停留在理解通用知识的层面,更能够针对特定问题提供精准的解决方案。
大模型微调4o
有监督微调分为:全参数微调和参数高效微调全参数微调指的是在特定任务上对整个预训练模型的所有参数进行更新。这种技术简单直接,可以使模型适应新的任务。但是随着模型参数规模变得越来越大,更新所有参数需要大量的计算资源。同时,当特定任务的数据量不足时,全参数微调容易导致过拟合。参数高效微调(Parameter-EfficientFine-Tuning,PEFT)是指固定预训练模型的大部分参数,仅微调少量或额外的模型参数来达到与全参数微调接近的效果,甚至在某些情况下比全参数微调有更好的效果,更好地泛化到域外场景。
大模型微调o
指令微调过少量的、精心设计的指令数据来微调预训练后的大模型,使其具备遵循指令和进行多轮对话的能力,以提高其在处理命令式语言和指令性任务时的性能和适应性。o
基于人类反馈的强化学习(ReinforcementLearningHumanForward,RLHF)微调:以人类的偏好作为奖励信号,通过强化学习与人类反馈相结合的方式,指导模型的学习和优化,从而增强模型对人类意图的理解和满足程度。主要包括:奖励模型微调和强化学习微调两个阶段。奖励模型微调阶段通过学习人类对模型输出的评价(如喜好、正确性、逻辑性等)提供一个准确评价模型行为的标准。强化学习微调阶段则基于奖励模型来指导优化模型的行为。通过这种方式,基于人类反馈的强化学习微调能够有效地将人类的智慧和偏好整合到模型训练过程中,提高模型在特定任务上的性能和可靠性。o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2参数高效微调-增量式微调o
参数高效微调参数高效微调(PEFT)是在保持模型性能的同时,以最小的计算成本对模型进行微调,以适应特定任务或数据集的技术。现有的参数高效微调可以大体分为增量式微调、指定式微调、重参数化微调三大类。o
增量式微调增量式(Addition-based)微调是在预训练模型基础上,仅仅调整少量添加的额外可训练的层或参数,使模型能够快速地适应新任务或数据集的技术。根据添加的额外参数的位置或方式不同,增量式微调技术可以分为适配器微调和前缀微调。适配器微调通常是指在预训练模型的中间层或特定层中插入额外的小型网络模块(适配器),进行特定任务的优化。前缀微调指的是在模型的输入端添加一个连续的任务特定向量序列(称为前缀),这个向量序列与原始输入一起进入模型,在参数微调时模型能够“关注”这个前缀,从而引导模型生成更符合任务需求的输出。参数高效微调-增量式微调-适配器(Adapter)微调o
适配器微调适配器微调(AdapterTuning)是一种在预训练后的大模型中间层中,插入适配器(小型网络模块)来适应新任务的技术。在微调时将大模型主体冻结,仅训练特定于任务的参数,即适配器参数,减少训练时算力开销。以Transformer架构为例,如左图所示:o
图解:在多头注意力的投影和第二个前馈网络的输出之后分别插入适配器模块。其中,每个适配器模块主要由两个前馈(Feedforward)子层组成,第一个前馈子层以Transformer块的输出作为输入,将原始输入维度(高维特征)投影到(低维特征)。在两个前馈网络中,安插了一个非线性层。在输出阶段,通过第二个前馈子层还原输入维度,映射回原始维度,作为适配器的输出。同时,通过一个跳跃连接将Adapter的输入重新加到最终的输出中,这样可以保证,即使适配器一开始的参数初始化接近0,适配器也由于跳跃连接的设置而接近于一个恒等映射,从而确保训练的有效性。加入适配器后的Transformer层主体架构以及适配器模块结构,微调时处理适配器的参数,其余参数均冻住参数高效微调-增量式微调-前缀(Prefix)微调o
前缀微调前缀微调(PrefixTuning)在资源有限、任务多样化的场景下具有显著的优势。它是基于提示词前缀优化的微调技术,其原理是在输入token之前构造一段与任务相关的虚拟令牌作为前缀(Prefix),然后训练的时候只更新前缀的参数,而预训练模型中的其他参数固定不变。以Transformer架构为例,如上图所示:o
图解:图中展示了使用前缀微调技术实现表格转换成文本(Table-to-Text)、总结(Summarization)和翻译(Translation)这三个下游任务。以表格转换成文本任务为例,输入任务是一个线性化的表格“name:Starbucks|type:coffeeshop”,输出是一个文本描述“Starbucksservescoffee.”。在输入序列之前添加了一系列连续的特定任务向量表示的前缀参与注意力计算。前缀微调能够有效地训练上游前缀以指导下游语言模型,实现单个基础模型同时支持多种任务的目标。前缀微调适用于涉及不同用户个性化上下文的任务中。通过为每个用户单独训练的前缀,能够避免数据交叉污染问题,从而更好地满足个性化需求。参数高效微调-增量式微调-前缀(Prefix)微调针对不同的模型结构,前缀微调需要构建不同的前缀,如下图所示:o
回归架构模型:在输入之前添加前缀,得到z=[PREFIX;x;y],合适的上文能够在固定预训练模型的情况下引导生成下文,如GPT-3的上下文学习。o
编码器-解码器架构模型:编码器和解码器都需要增加前缀,得到z=[PREFIX;x;PREFIX0;y]。编码器端增加前缀用来引导输入部分的编码,解码器端增加前缀用来引导后续token的生成。回归架构模型和编码器-解码器架构模型构造前缀的方式对比示意图o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2参数高效微调-指定式微调o
指定式微调适配器微调和前缀微调通过引入少量额外的可训练参数,实现了高效的参数微调。然而,当模型规模较大时,会导致部署困难及参数修改方式不够灵活等。为了避免引入额外参数带来的复杂性增加问题,可以选取部分参数进行微调,这种方法称为指定式(Specification-based)微调。指定式微调将原始模型中的特定参数设为可训练状态,同时将其他参数保持冻结状态。o
代表性方法之一:BitFit(Bias-termsFine-tuning)一种更为简单、高效的稀疏微调策略,训练时只更新偏置的参数或者部分偏置参数。对于每个新任务,BitFit仅需存储偏置参数向量(这部分参数数量通常小于参数总量的0.1%)以及特定任务的最后线性分类层。如下图所示,在每个线性或卷积层中,权重矩阵W保持不变,只优化偏置向量b。对于Transformer模型而言,冻结大部分Encoder参数,只更新偏置参数跟特定任务的分类层参数。涉及的偏置参数有注意力模块中计算Query、Key、Value与合并多个注意力结果时涉及的偏置参数、MLP层中的偏置参数、归一化层的偏置参数。BitFit需要更新的偏置参数示意图o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2参数高效微调-重参数化微调o
重参数化微调(Reparametrization-based)重参数化微调通过转换现有的优化过程,将其重新表达为更有效的参数形式。在微调任务中,微调权重与初始预训练权重之间的差异经常表现出“低本征秩”的特性。这意味着它们可以被很好地近似为一个低秩矩阵。低秩矩阵具有较少的线性独立列,可以被理解为具有更低“复杂度”的矩阵,并且可以表示为两个较小矩阵的乘积。这一观察引出了一个关键的点,即微调权重与初始预训练权重之间的差异可以表示为两个较小矩阵的乘积。通过更新这两个较小的矩阵,而非整个原始权重矩阵,可以大幅提升计算效率。基于此思想,低秩适配(Low-RankAdaptation:LoRA)微调方法被提出,并引发了广泛关注。o
LoRA微调LoRA微调指通过在预训练模型中引入低秩结构来实现高效的参数微调。其核心思想是通过低秩分解来修改模型的权重矩阵,使其分解为较低维度的因子,从而减少在微调过程中需要更新的参数数量。参数高效微调-重参数化微调-LoRA全参数微调与LoRA微调的参数构成示意图
参数高效微调-重参数化微调-LoRA变体o
自适应预算分配的参数高效微调(AdaptiveBudgetAllocationforParameter-EfficientFine-Tuning:AdaLoRA)由于LoRA为所有的低秩矩阵指定了唯一秩的设置,忽视了不同模块、不同层参数在特定任务中的重要性差异,导致大模型的效果存在不稳定性。针对这一问题,自适应预算分配的参数高效微调(AdaLoRA)方法被提出,它在微调过程中根据各权重矩阵对于下游任务的重要性来动态调整秩的大小,以减少可训练参数数量的同时保持或提高性能。o
量化高效(EfficientFine-TuningofQuantizedLLMs:QLoRA)微调量化高效微调(QLoRA)是大模型微调中一种提升模型在硬件上运行效率的技术。随着大模型参数量的不断增加,如拥有660亿一个参数的超大模型LLaMA,其显存占用高达300GB。在这样的情况下,传统的16bit量化压缩存储微调所需的显存甚至超过了780GB,使得常规的LoRA技术难以应用。面对这一挑战,QLoRA微调基于LoRA微调的逻辑,通过冻结的4bit量化预训练模型来传播梯度到低秩适配器。下图展示了不同于LoRA微调和全参数微调QLoRA的创新之处,即它巧妙地结合了量化技术和适配器方法,以在资源受限的情况下提高模型的可训练性和性能。o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2参数高效微调-混合微调
UniPELT方法示意图参数高效微调-小结不同参数高效微调方法对比示意图左图展示了4种微调方法在Transformer模块上的应用方式:适配器微调:设计适配器结构,在模型的适当位置插入适配器,仅微调适配器部分的参数。前缀微调:在输入序列之前添加一个连续向量,仅微调前缀部分的参数。BitFit:仅调整模型的偏置参数。LoRA微调:引入低秩分解的矩阵,新增的矩阵权重可以与原始权重合并。适配器微调、前缀微调属于增量式微调方法,它们通过引入额外的结构来微调参数;BitFit属于指定式微调方法,专注于调整模型中的部分参数;LoRA微调属于重参数化微调方法,将原始权重重参数化为原始矩阵与新增低秩矩阵的乘积权重之和。参数高效微调-小结名称优点缺点适用场景适配器微调较低的计算成本和较好的性能增加模型层数,导致模型的参数数量和计算量增加,影响模型的效率,延长推理时间。当训练数据不足或者适配器的容量过大时,可能会导致适配器过拟合训练数据,降低模型的泛化能力适用于处理小数据集前缀微调只微调预训练模型的前缀,就能达到与全参数微调相当的性能,减少了计算成本和过拟合的风险前缀token会占用序列长度,有一定的额外计算开销适用于各种需要添加特定前缀的自然语言处理任务,如文本分类、情感分析等BitFit训练参数数量极小
(约
0.1%)在大部分任务上的效果差于适配器微调、LoRA微调等方法适用于处理小规模到中等规模的数据集LoRA微调无推理延迟,可以通过可插拔的形式切换到不同的任务,易于实现和部署,简单且效果好低秩矩阵中的维度和秩的选择对微调效果产生较大影响,需要超参数调优适用于需要快速收敛且对模型复杂度要求较高的任务,如机器翻译和语音识别等UniPELT多种微调方法混合涉及模型的不同部分,使得模型的鲁棒性更好相比于单个微调方法训练参数数量大,推理更耗时在低数据场景中相对于单个微调方法提升更显著参数高效微调方法能够有效减少微调所需的计算资源和时间,保持模型的整体性能稳定,不会对整个模型结构做出重大改变,可以在实际应用中帮助研究者更加轻松地优化大模型。参数高效微调方法具体分为增量式微调方法、指定式微调方法、重参数化微调方法以及多方法并用的混合微调方法。下表总结了常用的参数高效微调方法的优缺点及适用场景。在实际应用中,需要根据预训练模型、具体任务和数据集等因素选择合适的微调方法。o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2指令微调o
指令微调(InstructionTuning)模型在训练阶段存在一个关键问题,即训练目标和用户目标之间的不匹配问题。例如,大模型通常在大型语料库上,通过最小化上下文词预测误差进行训练,而用户希望模型有效且安全地遵循他们的指令。为了解决这个问题,研究人员提出了指令微调技术,使大模型与人的任务指导或示例进行交互,根据输入和任务要求进行相应调整,从而生成更准确、更合理的回答或输出。指令微调利用<指令,输出>数据集,以监督的方式进一步训练大模型,弥合大模型的预测目标与用户让大模型遵循人类指令的目标之间的差距,让大模型更好地适应特定应用场景或任务,提高输出的质量和准确度。这里,指令代表人类提供给大模型的指令,即指定任务的自然语言文本序列,如“写一篇关于某某主题的发言稿”“为游客出一份某某景点的旅游攻略”等;输出代表遵循指令的期望输出。也就是说,指令微调其实是一种特殊的有监督微调技术,特殊之处在于其数据集的结构,即由人类指令和期望输出组成的配对,这种结构使得指令微调专注于让模型理解和遵循人类指令。指令微调主要包含构建指令数据集和指令微调两个关键步骤,如下图所示:指令微调的通用架构指令微调-指令数据集构建o
指令数据集两种构建方法:来自带注释的自然语言数据集的数据集成(DataIntegration),即从带注释的自然语言数据集,使用模板(Template)技术将文本标签对(Text-labelPairs)转换为<指令,输出>对(Instruction-OutputPairs)。例如,Flan和P3数据集就是通过数据集成策略构建的。利用大模型基于指令生成输出,例如,可以使用GPT-3.5-Turbo或GPT-4等大模型收集输出。此方法包含两个步骤:(1)通过人工收集的方式得到指令,或者先手写少量指令然后用大模型来扩充指令;(2)将收集到的指令输入大模型中以获得输出。InstructWild和Self-Instruct等数据集就是通过这种技术构建的。另外,对于多回合会话指令微调数据集,可以让大模型扮演不同的角色(如用户、AI助手)来生成会话格式的消息。目前,根据上述两种方法构建的指令数据集一般可以分为三类:①泛化到未见任务:这类数据集通常包含多样化的任务,每个任务都有专门的指令和数据样例。模型在这类数据集上训练后,可以泛化到未见过的新任务上。②在单轮中遵循用户指令:这类数据集包含指令及其对应的响应,用于训练模型单轮回复用户指令。训练后,模型可以理解指令并做出回复。③像人类一样提供帮助:这类数据集包含多轮闲聊对话。训练后,模型可以进行多轮交互,像人类一样提供帮助。总体来说,第一类数据集侧重任务泛化能力,第二类数据集侧重单轮指令理解能力,第三类侧重连续多轮对话能力。研究人员可以根据所需的模型能力选择不同类型的数据集进行指令调优。o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2指令微调-指令微调技术o
指令微调阶段基于构建好的高质量指令数据集对基础大模型进行微调。指令微调的架构参考参数高效微调技术,即利用一小部分参数的更新来使得模型达到训练效果。其主要技术如下表所示:o
参数高效微调技术方法原理优势缺点LoRA将模型权重分解为低秩分量进行更新,使调优局限在相关任务子空间减少调优的参数数量,降低计算内存低秩分解可能削弱模型表征能力HINT使用超网络根据指令和少量样例生成参数化模块进行模型调优可以处理长指令,避免重复计算调优模块性能可能弱于全量调优Qlora对模型权重进行量化,只调整低秩适配器参数减少参数内存,兼容量化量化会损失部分精度LOMO融合梯度计算和更新,避免完整梯度存储减少梯度内存占用需要精心设计保证收敛稳定Delta-tuning将调优参数限制在低维流形上。提供理论分析,参数高效。低维流形假设可能不够准确o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2基于人类反馈的强化学习微调经过有监督微调,大模型已经初步具备完成各种任务的能力。但有监督微调的目的是使得模型输出与标准答案完全相同,不能从整体上对模型输出质量进行判断。因此,模型不适用于解决自然语言及跨模态生成的多样性问题,也不能解决微小变化的敏感性问题。强化学习将模型输出文本作为一个整体进行考虑,其优化目标是使得模型生成高质量回复。基于人类反馈的强化学习(ReinforcementLearningfromHumanFeedback,RLHF)是一种特殊的技术,用于与其他技术(如无监督学习、有监督学习等)一起训练AI系统,使其更加人性化。基于人类反馈的强化学习微调如下图所示,其在多种常见的大语言模型(InstructGPT、ChatGPT等)上取得了很好的表现。基于人类反馈的强化学习微调基于人类反馈的强化学习微调原始网络数据,万亿级别token/word;公开数据集,比如CommonCrawl、Github代码数据、维基百科等;数据量大、质量低名称预训练算法/任务/目标函数奖励建模有监督微调强化学习数据集训练模型备注模型准备:随机初始化的GPT。语言建模经典的预训练任务Next-Token-Prediction基线模型GPT3:几千张V100GPU训练几个月,花费几百万美元。LLaMA:2048个A100GPU训练了21天,花费500万美元。模型准备:第一阶段预训练好的GPT模型语言建模预测下一个token模型准备:采用SFT训练好的模型,训练RM模型的时候,SFT模型参数冻结。二值分类预测与偏好一致的奖励模型准备:监督微调模型+训练好的奖励模型,强化学习对监督微调后的模型继续训练。强化学习生成最大化奖励的tokens比较模式获取数据集,数据是问题模板+响应回答,回答由监督微调模型生成,生成多个回答,人工标注这些回答的排序,排序标注可能会很难且漫长,存在耗费几个小时完成一个提问的回答排序。低数量、高质量监督微调模型奖励模型,即一个打分模型,用来给GPT输出的responses打分排序有监督微调后的GPT模型大约100张GPU训练几天即可完成,例如:基于LLaMA训练的Vicuna-13B大约不到100张GPU训练几天。大约不到100张GPU训练几天例如:ChatGPT,Claude少量但是高质量的提问、回答数据,数量大约1w~10w条与RM模型训练时一样为比较模式,数据也是问题模板+响应回答的形式,回答由监督微调模型生成,并且生成多个,由奖励模型对其进行打分指导(强化学习)基于人类反馈的强化学习(ReinforcementLearningfromHumanFeedback,RLHF)完整流程如下图所示,包括预训练、有监督微调、奖励建模以及最后一步强化学习微调,接下来主要介绍奖励建模和强化学习微调部分。基于人类反馈的强化学习微调-奖励建模o
奖励建模奖励模型源于强化学习中的奖励函数,能对当前的状态刻画一个分数,来说明这个状态产生的价值有多少。不同于基线模型和有监督微调模型,奖励模型本身并不能直接提供给用户使用,而是通过模型拟合人类打分结果,给出关于结果质量的反馈。香蕉是什么?A:一种酸水果C:一种猴子爱吃的...B:装饰品...D:香蕉是一种黄色...从问题库中选择问题重复生成4次回答人工排序利用排序结果训练奖励模型DCAB>>=奖励模型DCAB>>=(a)利用人工排序结果训练奖励模型排序后的输出生成文本奖励模型人工排序文本
........(b)奖励模型训练详图奖励建模首先利用有监督微调模型生成回答数据,然后对这些回答进行人工排序,如图(a)所示;然后基于数据和排序结果训练奖励模型,如图(b)所示。奖励模型的数据集以问题模板+响应回答的形式,由有监督微调模型生成多个响应回答,然后人工标注这些响应回答之间的排名顺序。奖励模型通过由人类反馈标注的偏好数据来学习人类的偏好,是一种模拟人类评估的过程。将有监督微调模型最后一层的非嵌入层去掉,剩余部分作为初始的奖励模型。训练模型的输入是问题和答案,输出是一个标量奖励值(分数)。样本质量越高,奖励值越大。基于人类反馈的强化学习微调-奖励建模
o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2基于人类反馈的强化学习微调-策略优化
基于人类反馈的强化学习微调-PPO微调模型结构x:Adogis...初始化大模型........微调大模型(强化学习策略)........强化学习更新(例如:PPO算法)
奖励模型文本
........
+冻住参数提示文本数据集基线文本y:afurrymammal××××××××RLHF微调文本y:man’sbestfriend××××××××基于人类反馈的强化学习微调-策略优化
o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2基于人类反馈的强化学习微调-案例讲解
基于人类反馈的强化学习微调-案例讲解
o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2思考参数高效微调、指令微调以及基于人类反馈的强化学习微调技术,构成了将预训练的基础大型模型有效应用于垂直领域的基石。目前,大模型通过微调技术已经取得了显著进展。以人类所能理解的方式解释大模型的行为,是可信地使用它们的基础。然而,大模型仍然存在许多难以解释的方面,这引发了人们对其应用和可信度的疑问。首先,当前大模型的工作原理很大程度上是一个黑盒,这意味着无法准确理解其内部运行机制。虽然有监督微调技术可以提升模型性能,但现有理论无法充分解释“自监督预训练+有监督微调+人类反馈对齐”方式所产生的大模型的强大能力和幻觉错误。因此,需要更多的基础理论和方法来解释大模型的行为,以使其更可信地应用于实际问题中。其次,针对大模型系统的可信度问题也需要深入思考。尽管大模型在许多任务中表现出色,但仍然需要解决如何确保在关键应用中使用这些模型时的可靠性和安全性。这可能涉及对模型的验证和审计,以及对模型输出的解释和解释能力的提高。最后,需要建立更深入的理解,以解释大模型智能涌现现象。这些现象指的是模型在面对新任务或环境时表现出的出乎意料的智能和创造力。通过深入研究这些现象背后的原理,人们可以更好地理解模型的工作方式,并为未来的研究和应用提供更多的启示,以更好地发挥大模型的潜力,推动AI技术的发展和应用。o
大模型微调概述l
研究背景o
参数高效微调技术l
增量式(Addition-based)微调技术l
指定式(Specification-based)微调技术l
重参数化(Reparametrization-based)微调技术l
混合微调技术o
指令微调技术l
指令数据集构建l
指令微调技术o
基于人类反馈的强化学习微调技术l
奖励建模l
强化学习微调-策略优化l
案例讲解o
思考o
习题
目录2理论习题:1、在机器学习背景下,解释什么是大模型微调?答:大模型微调是指在一个预训练好的大型模型基础上,通过使用新的数据集或任务进行额外训练,以使模型适应新的任务或领域。2、大模型微调包含哪些步骤?答:大模型微调的一般步骤包括选择预训练模型、调整模型结构、选择合适的学习率,然后使用新的数据集进行训练。3、大模型微调可能会面临哪些挑战和考虑因素?答:挑战和考虑因素可能包括新任务的数据分布、模型过拟合的风险、计算资源等。4、迁移学习与大模型微调在概念上有何关联?答:迁移学习是指通过从一个任务学到的知识来改善不同但相关任务的性能,而大模型微调通常是迁移学习的一种方式。5、如何在大模型微调后评估模型性能?答:可以使用新任务的评估指标,比如准确度、精确度、召回率等,来评估大模型微调后的性能。监控模型在微调过程中的表现也是重要的。6、解释基于类人反馈的强化学习,以及它与传统的强化学习方法有何不同?提供一个实际的应用场景。答:基于类人反馈的强化学习是一种强化学习方法,其中智能体通过模仿类人的行为来学习任务。与传统的强化学习方法不同,基于类人反馈的方法强调通过参考类人的经验来提高学习效率。例如,在机器人领域,一个机器人可以通过观察并模仿人类执行特定任务的方式,加速学习过程。7、大模型微调中需要针对有用性和无害性收集大量数据,有用性和无害性分别表示什么意思?答:数据收集主要针对有用性和无害性,有用性是指在数据收集过程中,让标注人员使用模型,期望模型帮助用户完成纯粹基于文本的任务(比如回答问题、撰写编辑文档、讨论计划和决策)。无害性是指在数据收集过程中,让标注人员通过一些敌对性的询问,比如计划抢银行,引诱模型给出一些违背规则的有害性回答。实践习题:1、安装部署PEFT环境,随机初始化一组预期收益率和协方差,计算并绘制资产的有效边界。2、使用适配器微调大型语言模型的场景,假设你已经加载了预训练的BERT模型,现在想要添加一个适配器层用于微调情感分类任务。请列出至少两个实现适配器微调的步骤,并提供相应的Python代码片段。3、使用前缀微调方法微调大型语言模型以执行中文翻译成英文的任务。假设你已经加载了预训练的T5模型,现在想通过前缀微调使其适应中文翻译成英文的任务。原文本:“这是一个关于大模型微调的问题,希望通过前缀微调的方式来适应中文翻译成英文的任务。”4、使用LoRA微调大型语言模型以执行文本摘要任务。假设你已经加载了预训练的BERT模型,现在想通过LoRA微调使其适应文本摘要任务。原文本:“自然语言处理(NaturalLanguageProcessing,简称NLP)是人工智能领域中与计算机和人类语言之间交互的研究。NLP的目标是使计算机能够理解、解释、生成人类语言,使计算机与人的交互更加自然。它涉及到文本处理、语音处理、机器翻译等多个方面的任务。”使用LoRA微调方法,将上述文本进行摘要生成,提取出主要信息。智周万物•道济天下
谢谢!Thanks!大模型提示工程智周万物•道济天下o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
目录23
目录o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程o
提示工程(PromptEngineering)作为数据、技术、业务之间的桥梁,可以帮助大模型更好地理解和回答用户的请求,是大模型场景落地的关键所在。o
大模型提示工程就是设计、改进、完善提示的技术,通过巧妙设计的提示词(prompt),引导模型生成更丰富、智能的表示,使模型能够更准确、可靠地回答问题、执行任务以及提供更有价值的信息。o
本章将介绍大模型提示工程技术的原理、不同提示策略的细节,以及实际应用中的挑战与解决方案。掌握这一技术将使读者更好地理解大模型运作机制,更灵活地设计和调整提示,实现更卓越的性能和创造力。学习目标:掌握大模型提示工程的基本原理和了解多样的提示技术;
提示工程简介49
目录o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
零样本提示10o
零样本指的是模型能够在没有样本的情况下学习数据的特征。研究者们最初在深度学习领域提出了这两种概念,然而在提示工程领域,零样本这个概念被引申,即无需为模型提供任何背景知识,只需通过直接的输入指令执行任务。
零样本提示的优势在于其适用于各种领域和任务,无需昂贵的微调。因此,在快速构建原型、测试新想法或在新领域中使用大模型时非常有用。在设计零样本提示词的时候,除了描述具体的需求或任务,还可以将其他隐藏的信息输送给模型。一条标准的零样本提示词应该针对以下4点做出具体的描述:背景角色指令输出
零样本提示10o
和与人类沟通工作任务一样,提示词需要清楚交代大模型任务的上下文背景,使传达的信息精准(Precise)和简洁(Concise)。为了确保提示词的背景清晰精准,需要避免歧义。
零样本提示10o
在提示词中设定一个角色,是最常用的提示词技巧,可以帮助LLM更精确地理解到它·166·第7章大模型提示工程在任务中所需承担的职责,以提升回答的质量。
零样本提示10o
指令即为希望LLM完成的任务,指令需要做到具体(Concrete)和完备(Complete)。提示词的指令要足够具体。
零样本提示10o
在零样本提示词设计中,可以对输出形式提出要求,让LLM的输出更加可控,提示词中可提出的要求包括但不限于字数要求、输出格式(如表格式、对话式)、回答风格(如严谨·170·第7章大模型提示工程的、口语化的)等。14
目录o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
少样本提示10o
少样本提示(Few-shotPrompting)
通过给予模型一些有限的样本示例或者其余关键信息,指导模型理解和生成特定任务下的文本。通过学习给定的样本中的回答模式以及内在逻辑,模型可以在类似需求的任务上进行推理。o
少样本提示强调在已有数据的基础上进行任务指导,这与零样本提示有着本质上的不同。o
少样本提示不仅可以帮助大模型生成高质量的回答,在大型图像生成模型中也起到强大的指导作用。o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
目录2
链式思考提示10o
面对复杂提问场景时,人们往往希望得到有条理的思考过程,并逐步深入考虑各个方面,最终得到复杂问题的解答。然而大模型在这类推理能力方面的表现始终不佳,容易出现回答不连贯、缺乏逻辑推理或信息断层等问题。o
部分研究者们认为,之前的大语言模型的推理模式单纯依赖全局提示词并直接输出结果,而忽略了其中的思考过程,人类在面对复杂问题时,常常会将问题拆分为若干个中间问题,通过逐步追问并解决中间问题来进行推理。o
受人类的这种思维模式启发,研究者们提出直接通过人工干预模型输出中间推理步骤,迫使模型学习中间推理过程,也就是链式思考提示。S思维链拓展10o
自一致性(Self-Consistency):旨在改进“思维链提示中的朴素贪婪算法”。具体来说,当模型在处理复杂文本时,为了提高结果的准确性,通过少量样本的思维链抽样出多个不同的推理路径,选择最一致的答案。换句话说,即通过CoT的方式,模型输出多个不同的推理过程和答案,最终通过投票方式选择最佳答案。o
思维树(TreeofThoughts:ToT):以树的形式展开思维链,允许回溯,基于中心任务产生多个推理分支。ToT在具体执行时回答四个问题:思维分解、思维生成、状态计算以及搜索算法。确保每个阶段都得到系统的解决。o
思维图谱(GraphofThoughts:GoT):GoT无缝地将CoT和GoT推广到更复杂的思维模式,而无需依赖于任何模型更新。具体来说,GoT将LLM生成的信息建模为任意图,其中信息单元(即“Thought”)是图的顶点,边对应于这些顶点的依赖关系。o
思维算法(AlgorithmofThoughts:AoT):一种通过算法推理路径推动LLM的新策略,开创上下文学习新模式,其改进了ToT和GoT计算效率低的缺陷,消除了冗余查询的需求。具体来说,AoT通过不断演化和改进思考过程,维持一个不断发展的思维上下文链,灵活适应不同的问题和情景,并且能够根据需要自动调整和优化。o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
目录2
思维树提示10o
受思维链的启发,研究人员进一步提出了思维树(TreeofThought:ToT)框架,通过将复杂问题分解为容易解决的具体问题,为大模型推理提供了一个更完备的提示框架。o
思维树提示的主要应用场景是在需要更为有组织和分步执行的任务中:系统会将一个问题分解,并生成潜在的推理步骤或“思维”候选者的列表。对这些“思维”进行评估,根据实施难度,预期结果分配成功率。深入挖掘每个想法,完善其在现实世界中的意义,其中包括:潜在实施场景、实施策略、潜在障碍等。进行最终决策。这种技术有助于大语言模型实现更加有条理的思考和文本生成,特别适用于面对复杂问题或任务的情境。o
提示工程简介o
零样本提示o
少样本提示o
链式思考提示o
思维树提示o
自动提示工程
目录2
自动提示工程10o
为了减少创建和验证指令有效性时所耗费的成本,研究人员试图搭建一个自动生成和选择提示的框架。目前,已有研究者提出了自动提示工程(AutomaticPromptEngineer:APE)o
APE的工作流程,通常包括以下几个步骤:数据收集:APE需要收集与目标领域或任务相关的大规模数据集。这些数据集可以是文本、图像、甚至是多模态的数据。模型训练:在数据收集阶段之后,使用这些数据集来训练大规模的语言模型,如GPT。训练过程通常采用无监督学习,其中模型通过对大量文本数据的自我预测来学习语言的潜在规律和语义表示。提示生成:一旦训练完毕,APE可以利用已训练的模型生成提示。提示可以是针对特定任务的问题回答、文本摘要、语言翻译等形式。通过输入用户的查询或上下文信息,模型可以生成与之相关的提示内容。评估和迭代:生成的提示需要进行评估和校准,以确保其质量和准确性。通过与人工标注的数据或人类专家的比对,可以对生成的提示进行评估并进行必要的调整和迭代。
自动提示工程10o
自动提示工程工作流程:智周万物•道济天下
谢谢!Thanks!高效大模型策略智周万物•道济天下o
大模型效率概述l
研究背景l
研究内容o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率
目录2o
大模型效率概述l
研究背景l
研究内容o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录o
由于更大的参数规模需要更高的计算成本和内存需求,大模型的训练和微调会受到严重限制o
训练这些模型需要大量的数据和资源,给数据获取、资源分配和模型设计带来挑战,探索不同架构或策略的成本变得过高o
大规模参数使大模型不适合部署在资源受限的环境中,如边缘设备随着模型参数规模的增大,大模型不仅提高了现有任务的性能,而且还出现了很多新功能
大模型效率面临的问题4o
大模型效率概述l
研究背景l
研究内容o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
大模型效率及其评估指标o
本章将“大模型效率”定义为大模型产生特定性能时所需的资源,与性能成正相关,与资源成负相关o
评估大模型效率的关键指标l
参数数量l
模型大小l
浮点运算次数l
推理时间/token生成速度l
内存占用l
碳排放o
高效大模型策略旨在不影响模型性能的情况下优化计算和内存资源,这些评估指标将是高效大模型策略的重要依据和体现
大模型效率及其评估指标o
评估大模型效率的关键指标l
参数数量参数数量是直接影响模型学习能力和复杂性的关键因素。这些参数包括权重和偏差等参数,在训练或微调阶段是可以学习的。更大的参数数量通常使模型能够学习到更复杂的数据模式和新功能,但会影响训练和推理计算的时间。l
模型大小模型大小定义为存储整个模型所需的磁盘空间,通常以千兆字节(GB)或兆字节(MB)等为单位。模型大小会受到多个因素的影响,其中最主要的因素是参数数量,其他因素有参数数据类型和特定的体系结构。模型大小会直接影响存储需求,提前考虑模型大小对在存储受限环境下的部署尤其重要。l
浮点运算次数浮点运算次数是指单次前向传播过程中浮点运算(如加减乘除法)的次数(计算量),用于估算大模型的计算复杂度。较高的浮点运算次数通常意味着模型有着更高的计算要求,在资源有限的环境中部署这种模型将是一个挑战。系统的并行优化以及不同的架构也都会影响最终的整体计算效率。
大模型效率及其评估指标o
评估大模型效率的关键指标l
推理时间/token生成速度推理时间也称为延迟,是大模型在推理阶段从输入到生成响应所需的时间,单位通常为毫秒或秒。推理时间是在实际部署的设备上进行评估的,考虑了特定的硬件和优化条件,提供了现实世界性能的实用衡量标准。token生成速度是指模型在每秒内可以处理的token数,它能够用来规范推理时间,是反映模型速度和效率的关键性能指标。l
内存占用内存占用是指在推理或训练期间加载和运行模型所需的随机存取存储器的内存大小,通常以MB或GB为单位。内存占用的内容不仅包括模型参数,还包括其他运行时必需数据,如中间变量和数据结构。较大的内存占用会限制模型的可部署性,尤其是在资源受限的环境中,需要优化技术来降低占用,如模型剪枝或量化。l
碳排放碳排放通常以模型从训练到推理的过程中排放的二氧化碳量来衡量,反映了训练和运行该模型对环境的影响。碳排放受到各种因素的影响,包括所用硬件的能源效率、电力来源,以及模型训练和运行的持续时间。可以通过模型优化、硬件加速和算法改进等方式提高能效,还可以为数据中心(如苹果公司的云上贵州数据中心、腾讯的七星洞数据中心)选择更环保的能源,从而减少碳排放。o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
高效大模型策略o
提高大模型效率的关键方向l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
预算效率o
大模型性能受到各种因素的影响,包括训练数据、模型大小、体系结构、计算资源和训练策略等。通过调整这些因素来达到满足预期的最佳性能,能够降低资源的消耗以提高效率。但如果采用试错方法会在调试中浪费大量的资源,而且通常无法找到最高效的设计方案。为此,可以通过提前预测大模型的性能来调整大模型的设计和资源安排。缩放定律研究了在某些系统中,随着系统规模的增大,某些特定指标或行为会发生可预测的变化。通过缩放定律可以提前预测大模型性能,以便更有效地规划和分配资源,进而提高大模型效率。l
缩放定律表明,大模型性能(假设目标函数为L)主要取决于三个因素:模型参数的数量N、数据集大小D及训练的计算预算C。模型的性能会随着模型参数的数量N、数据集大小D和训练的计算预算C的增加而持续增加。当任意两个因素不受瓶颈限制时,模型的性能与第三个因素之间存在幂律关系。但如果固定模型参数的数量N或数据集大小D中的一个,而增加另一个,模型的性能的提升幅度会因受到惩罚而有所减少。o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
数据效率o
据效率策略从数据利用方面提高大模型效率。大模型对数据的需求是无止境的,但海量的数据给大模型训练不仅延长了训练时间,而且由于耗电大、存储容量大而导致训练成本急剧上升。有效的数据使用方法对大模型的训练和验证都至关重要,能够在降低资源消耗的同时提升模型性能,从而提高大模型效率。l
数据过滤-将训练重点指向信息量更大的样本,较少集中在信息价值较小的样本上。-通过重复数据消除、数据下采样减少训练集中的冗余,提高数据质量。l
主动学习/重要性采样-用较少的标注来训练样本,实现较好或等效的性能。-根据样本对学习过程的重要性对样本进行优先级排序,仅选择和标注最有用的样本,有策略地减少训练样本总数的目的。l
课程学习-通过仔细设计训练数据中样本的反馈顺序来提高模型训练效率的策略。-先从简单的样本或子任务开始训练,并逐步升级到具有挑战性的任务上。o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
架构效率o
Transformer架构中的关键操作注意力机制,通常需要相对于序列长度的二次复杂度来进行计算,因此在处理长输入序列时速度明显较慢。因此,减少注意力操作所需的计算成为提高体系结构效率的直接解决方案,对训练和推理阶段都有效。l
高效注意力-并非所有token关系都具有相同的重要性,可以识别并仅保留最关键的关系。-在硬件层面减少硬件之间的数据传输。l
高效位置编码-相对位置编码方法利用两个token之间的相对位置,而非单个token的绝对位置。-旋转位置编码使用旋转矩阵对输入序列进行编码。l
稀疏模型-计算时只将大模型中用于给定的任务、样本或token的某些部分被激活。l
无注意力模型-用其他模块取代注意力机制,在性能上已经能够实现与标准的Transformer相当的效果。旋转位置编码o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
训练效率o
大模型数据和模型的规模会直接影响到模型的训练效率。因此,训练效率是决定大模型效率的重要因素,提高训练效率需要解决由大模型数据和模型规模的增加带来的问题。l
稳定训练策略-调整超参数如批处理大小、学习率等,实行权重衰减和梯度裁剪等稳定策略,防止梯度消失或爆炸。l
混合精度训练-用更低精度的存储格式存储参数,减少内存使用,加速模型内的通信过程-使用FP32存储权重,使用FP16进行传递和计算l
并行训练技术-数据并行将数据集划分在多个加速器上被并行处理。-模型并行将模型本身划分到多个加速器上。l
内存优化-将模型参数、梯度和优化器状态等元素划分到不同GPU上,可以根据需要从其他GPU中检索所需数据。o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
推理效率o
模型巨大的参数数量给在云服务和资源有限设备上的部署带来了挑战,同时使得维持推理的成本很高。因此,加速推理的常见的方法是构建压缩模型,以达到与完整模型相当的性能。这种方法通常可以分为4类:剪枝、知识蒸馏、量化和低秩分解l
剪枝-剪枝技术旨在识别大模型中的冗余并置零,可对单个参数进行非结构化剪枝,也可对结构单元进行结构化剪枝。l
知识蒸馏-通过利用一个大模型(教师模型)的知识训练一个小模型(学生模型)。l
量化-降低模型参数的数值精度,提高执行速度,降低模型大小。-量化需要特定的硬件才能体现在低位精度上的优势。-通常在模型训练完成后对参数进行量化。l
低秩分解-大模型权重矩阵存在于包括自注意力层和MLP层及嵌入层在内的线性层中,权重矩阵通常是低秩的表明模型权重中存在冗余,将权重矩阵分解为两个或更多个较小的矩阵以节约参数。o
背景大模型效率概述l
研究背景l
研究背景o
高效大模型策略l
预算效率l
数据效率l
架构效率l
训练效率l
推理效率l
微调效率3
目录
微调效率o
在大规模且多样的数据集上训练的大模型已经具有出色的通用问题解决能力。通过有针对性的微调,它们在特定领域或任务中的性能可以得到显著提升。l
参数高效微调-仅选择预训练参数的一部分进行微调,其余参数保持不变-用额外的小规模可学习块(适配器)来增强预训练模型,嵌入大模型的模块中。-使用低秩适配器(一组降维升维低秩矩阵)学习更详细的任务特定信息。l
数据高效调整-在输入序列前添加一组有限的提示前缀序列。适配器低秩适配器提示前缀序列智周万物•道济天下
谢谢!Thanks!单模态通用大模型智周万物•道济天下o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型结构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录2o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型结构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录3o
LLaMA是MetaAI公司在2023年2月发布的开源大模型,在开放基准上有着非常出色的表现,是迄今为止最流行的开源语言模型之一。随后,Meta推出了LLaMA2,该模型实现了更为优越的性能表现,甚至可以与ChatGPT等闭源模型相媲美。o
同期谷歌的PaLM大模型,OpenAI的GPT-4都采用闭源的方式,不能从源码来剖析模型的结构,LLaMA的开源降低了大模型的研究门槛,后续许多大模型都是借鉴或沿用了LLaMA的模型框架。
开源大模型现状4YangJ,JinH,TangR,etal.Harnessingthepowerofllmsinpractice:Asurveyonchatgptandbeyond[J].ACMTransactionsonKnowledgeDiscoveryfromData,2024,18(6):1-32.o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录5
LLaMa模型架构o
与其他自然语言大模型一样,LLaMA的模型架构采用了Transformer架构。但做出了几点改进:预先归一化、SwiGLU激活函数和旋转位置编码;并在LLaMA2中使用了分组查询注意力机制。o
预先归一化[GPT-3]-为了提高训练的稳定性,LLaMA对每个Transformer层的输入进行归一化,而不是输出进行归一化-使用了RMS归一化方法o
SwiGLU激活函数[PaLM]-将常规的ReLU激活函数换为了SwiGLU激活函数o
旋转位置编码[GPTNeo]-将绝对位置编码换为了旋转位置编码(RoPE)-核心思想是通过绝对位置编码的方式实现相对位置编码o
分组查询注意力机制-为了进一步减少计算开销,将多头注意力机制(MHA)替换为了分组查询注意力机制(GQA)-是MHA与多查询注意力机制(MQA)的折中方案6o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录7
预训练o
预训练使用了七种来自公开来源的数据l
预训练方法与GPT-3,PaLM等语言大模型类似,通过预测上下文信息来进行自监督学习l
最大的650亿参数量模型需要使用2048张NVIDIAA100GPU训练21天8
微调o
LLaMA2中,作者团队进一步利用人工标注的数据对专为对话场景设计的LLaMA2-Chat模型进行微调,主要采用了有监督微调和RLHF两种技术。l
在有监督微调环节中,作者团队标注了27540条数据用于微调,这些数据都是由人工撰写提示和回答,包括有用性和安全性两种标注。这里的有用性指的是LLaMA2-Chat如何回应以满足用户的请求和提供所需的信息,而安全性则关注LLaMA2-Chat的回应是否安全。9
微调o
在RLHF环节中,目标是使初步微调过的模型的输出更符合人类偏好并遵循指令。为了实现这一目标,Meta首先收集了一系列反馈了人类偏好的数据,并将这些数据用于奖励建模。l
人类偏好数据收集:作者团队选择了二元比较协议来标注样本,因为这样能最大化收集到数据的多样性。在整个标注过程中,首先要求标注人员写出一个提示,再在两个采样出的模型回答中基于给定的标准标注更为偏好的一个,并给出4个不同的偏好等级。与监督微调相似,在此过程中需要同时关注模型回答的有用性和安全性,并额外标注了一个安全性标签。l
奖励建模:奖励模型将模型的回答和提示作为输入,输出一个标量分数来代表模型回答的质量。利用这样的分数来作为奖励,便可以在RLHF过程中优化LLaMA2-Chat来将其与人类偏好对其,并提高有用性和安全性。鉴于已有研究发现单个奖励模型会在有用性和安全性上做出权衡,从而很难在两者上表现得都很好,作者团队分别训练了两个奖励模型来优化有用性和安全性。10o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录11
使用方法o
LLaMA模型可以通过官网或官方合作渠道获得,并部署到本地。下面举例如何在HuggingFace平台使用LLaMA模型。l
首先下载模型权重到本地,其中token需要在HuggingFace申请l
然后下载LLaMA官方代码,安装依赖包并运行对话模型推理代码。运行后输入提示,模型便会给出回答12o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录13o
目前的自然语言大模型已经展现出在零样本和少样本情况下强大的泛化能力。这种能力的构建基于两个关键要素:一是在互联网规模的庞大数据集上进行训练;二是通过输入提示词来引导预训练好的大模型在不同任务下产生相应的输出。o
在SAM这项工作中,MetaAI的研究者们对图像分割任务建立了一个这样具有强零样本泛化能力的基础模型。
研究背景14o
想要构建这样的一个模型,需要解决这三个问题:l
什么样的分割任务能支持零样本泛化?l
模型结构应该是什么样?l
什么样的训练数据才能达到这样的效果?
研究背景15o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录16o
提示下的图像分割任务:在自然语言大模型中,零样本泛化的关键往往源自于巧妙的提示工程技术。受到此启发,SAM提出了“可提示分割任务”的概念,即模型根据给定的提示(这个提示可以是任何能够指导目标分割的信息,比如一组前景/背景点、一个粗略的边界框或掩码,以及任何形式的文本),生成分割目标的掩码。
任务定义17KirillovA,MintunE,RaviN,etal.Segmentanything[C]//ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision.2023:4015-4026.o
LLaMA:一种自然语言处理大模型技术l
研究背景l
模型架构l
训练方法l
使用方法o
SAM:一种图像分割大模型技术l
研究背景l
任务定义l
模型架构l
训练方法l
使用方法
目录18o
SAM包含三个模块,包括图像编码器、提示编码器和掩码解码器l
图像编码器将输入的图像转为高维特征嵌入,该部分直接采用了由MaskedAutoencoder(MAE)预训练好的VisionTransformer(ViT)模型。MAE是一种图像自监督预训练技术,经过MAE预训练后,ViT本身已经具备了强大的表征学习能力,并且更有利于以此为基础训练一个分割大模型。在整个训练过程中采用了不同版本的ViT模型,包括ViT-H、ViT-L和ViT-B。
模型架构19o
SAM包含三个模块,包括图像编码器、提示编码器和掩码解码器l
提示编码器将不同类型的提示转换为高维特征嵌入。SAM考虑了两大种类的提示:第一种是稀疏提示,包括点、包围框或文本。对于点和包围框(可视为左上和右下两个点),SAM采用了Transformer中的三角函数位置编码,结合可学习参数,生成每个点的特征。对于文本提示,SAM使用了CLIP中预训练好的文本编码器,将文本提示编码为高维特
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁德时代shl测试题库和答案
- 冬天感冒和流感区别 - 一张表看懂课件
- 寒假作息不规律 - 开学怎么收心课件
- 2026年新能源发电系统工程师试题及答案
- 2026年校园后勤安全试题(含答案)
- 2026年食品留样管理测试试卷及答案
- 2026年乡镇兽药经营监管模拟考试题及答案
- 2026年事业单位岗位管理业务考试试题及答案
- 2026 江苏事业编财会岗 历年真题试卷 含解析
- 河南事业编计算机岗 高频考题试卷 含答案
- 非遗漆扇动态介绍非物质文化遗产课件
- 政治大单元教学课件
- 江苏淮安2020-2023年中考满分作文28篇
- 邮政客户经理工作总结汇报
- 电工技能训练(第六版)课件:常用电工工具的使用
- 热爱科学的演讲稿
- 老年医学科建设与发展
- 第十七届山东省职业院校技能大赛高职组“英语口语”赛项规程
- 中班语言《秋天的颜色》课件
- 2020年江苏淮安中考满分作文《瞄准自己的靶心》8
- 海尔卡萨帝冰箱BCD-536WBCA使用说明书
评论
0/150
提交评论