跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

大型语言模型(LLM)正成为企业改进运营、客户互动和决策过程的一个不可或缺的工具。然而,由于行业特定的术语、领域专业知识或独特的要求,现成的LLM往往无法满足企业的特定需求。

这就是自定义LLM发挥作用的地方。

企业需要自定义模型来根据其特定的用例和领域知识定制语言处理能力。自定义LLM使企业能够在特定行业或组织环境中更高效、更准确地生成和理解文本。

定制模型使企业能够创建符合其品牌声音的个性化解决方案,优化工作流程,提供更精确的见解,并提供增强的用户体验,最终推动市场竞争优势。

这篇文章介绍了各种模型定制技术以及何时使用它们。NVIDIA NeMo支持许多方法。

NVIDIA NeMo是一个端到端的云原生框架,可在任何地方构建、定制和部署生成人工智能模型。它包括训练和推理框架、护栏工具包、数据管理工具和预训练模型,为采用生成人工智能提供了一种简单、经济高效、快速的方法。

Selecting an LLM customization technique

You can categorize techniques by the trade-offs between dataset size requirements and the level of training effort during customization compared to the downstream task accuracy requirements.

Figure 1. LLM customization techniques available with NVIDIA NeMo

Figure 1 shows the following popular customization techniques:

  • 提示工程:操作发送给LLM的提示,但不会以任何方式更改LLM的参数。它在数据和计算需求方面是轻量级的。
  • 即时学习:使用即时和完成配对,通过虚拟令牌向LLM传授特定任务的知识。这一过程需要更多的数据和计算,但提供了比快速工程更好的准确性。
  • 参数有效微调(PEFT):将少量参数或层引入现有LLM架构,并使用特定于用例的数据进行训练,提供比即时工程和即时学习更高的精度,同时需要更多的训练数据和计算。
  • 微调:包括更新预先训练的LLM权重,这与前面概述的三种类型的自定义技术不同,这三种技术可以冻结这些权重。这意味着与这些其他技术相比,微调还需要最多的训练数据和计算量。然而,它为特定的用例提供了最高的准确性,证明了成本和复杂性。

    有关更多信息,请参阅大型语言模型简介:提示工程和P调优。

Prompt engineering

即时工程包括在推理时通过展示和说明示例进行定制。LLM提供了示例提示和补全,这些详细说明是在新提示前准备的,用于生成所需的补全。模型的参数不变。

少镜头提示:这种方法需要在提示前准备几个示例提示和完成配对,以便LLM学习如何为新的看不见的提示生成响应。虽然与其他定制技术相比,少镜头提示需要相对较少的数据量,并且不需要微调,但它确实增加了推理延迟。

思维链推理:正如人类将较大的问题分解为较小的问题并应用思维链有效地解决问题一样,思维链推理是一种快速的工程技术,有助于LLM提高其在多步骤任务中的性能。它包括将问题分解为更简单的步骤,每个步骤都需要缓慢而深思熟虑的推理。这种方法适用于逻辑、算术和演绎推理任务。

系统提示:这种方法包括在用户提示之外添加系统级提示,以向LLM提供特定和详细的指示,使其按预期操作。系统提示可以被认为是LLM的输入,以生成其响应。系统提示的质量和特异性会对LLM响应的相关性和准确性产生重大影响。

Prompt learning

即时学习是一种有效的定制方法,可以在许多下游任务中使用预训练的LLM,而无需调整预训练模型的全套参数。它包括两种具有细微差异的变体,称为p调谐和提示调谐;这两种方法统称为即时学习。

即时学习可以将新任务添加到LLM中,而不会覆盖或中断模型已经预训练过的先前任务。由于原始模型参数被冻结且从未更改,因此快速学习也避免了微调模型时经常遇到的灾难性遗忘问题。当LLM在微调过程中以LLM预训练中获得的基础知识为代价学习新行为时,就会发生灾难性遗忘。


Figure 2. Prompt learning applied to LLMs
  • Instoning不是以手动或自动的方式选择离散的文本提示,而是使用可以通过梯度下降优化的虚拟提示嵌入。这些虚拟令牌嵌入与构成模型词汇表的离散、硬或真实令牌形成对比。虚拟令牌是纯1D向量,其维度等于每个真实令牌嵌入的维度。在训练和推理中,根据模型配置中提供的模板,在离散的令牌嵌入之间插入连续的令牌嵌入。

  • 提示调整:对于预训练的LLM,软提示嵌入被初始化为大小为total_virtual_tokens Xhidden_size的2D矩阵。模型被迅速调整以执行的每个任务都有自己相关的2D嵌入矩阵。在训练或推理过程中,任务不共享任何参数。NeMo框架的提示调优实现基于参数高效提示调优的标度幂。
  • P-调优:一个名为prompt_encoder的LSTM或MLP模型用于预测虚拟令牌嵌入。prompt_encoder参数在p调谐开始时被随机初始化。所有基本LLM参数都被冻结,并且在每个训练步骤仅更新prompt_encoder权重。当p调谐完成时,prompt_encoder中的提示调谐虚拟令牌将自动移动到prompt_table,在那里存储所有提示调谐和p调谐的软提示。prompt_encoder然后从模型中删除。这使您能够保留以前的p调谐软提示,同时仍然可以在将来添加新的p调谐或提示调谐软提示。

prompt_table使用任务名称作为关键字来查找指定任务的正确虚拟令牌。NeMo框架p调优实现也是基于GPT Understands的。

Parameter-efficient fine-tuning

参数有效微调(PEFT)技术使用巧妙的优化来选择性地向原始LLM架构添加和更新少数参数或层。使用PEFT,针对特定用例训练模型参数。在使用领域和任务特定数据集的PEFT期间,预训练的LLM权重保持冻结,并且更新的参数明显更少。这使得LLM能够在经过训练的任务中达到高精度。

对于微调预训练的语言模型,有几种流行的参数有效的替代方案。与即时学习不同,这些方法不会在输入中插入虚拟提示。相反,他们在转换器架构中引入了可训练的层,用于特定任务的学习。这有助于在下游任务上获得强大的性能,同时与微调相比,将可训练参数的数量减少了几个数量级(接近10000倍的参数更少)。

  • 适应性学习
  • 通过抑制和放大内激活(IA3)注入适配器
  • 低阶自适应(LoRA)

Adapter Learning:在核心变压器架构的层之间引入小型前馈层。只有这些层(适配器)在微调时被训练用于特定的下游任务。适配器层通常使用向下投影将输入h投影到较低维空间,然后使用非线性激活函数,以及使用W_up(W_up)的向上投影。剩余连接将其输出添加到输入,从而形成最终形式:

h \leftarrow h + f(hW_{down})W_{up}

适配器模块通常被初始化为使得适配器的初始输出始终为零,以防止由于添加此类模块而导致原始模型的性能下降。NeMo框架适配器的实现基于NLP的参数高效迁移学习。

IA3:与适配器相比,添加的参数更少,适配器只是使用学习的向量缩放变换器层中的隐藏表示。这些缩放参数可以针对特定的下游任务进行训练。学习向量lk、lv和lff分别重新缩放注意力机制中的键和值以及位置前馈网络中的内部激活。这项技术还使混合任务批处理成为可能,因为批处理中的每个激活序列都可以单独且廉价地乘以其相关的学习任务向量。NeMo框架IA3的实现基于少镜头参数。有效的微调比上下文学习更好、更便宜。


Figure 3. LoRA for parameter-efficient fine-tuning

LoRA:将可训练的低秩矩阵注入变换器层,以近似权重更新。LoRA不是更新完整的预训练权重矩阵W,而是更新其低秩分解,与微调相比,可训练参数的数量减少了10000次,GPU内存需求减少了3倍。该更新应用于多头注意力子层中的查询和值投影权重矩阵。将更新应用于低秩分解而不是整个矩阵已被证明在模型质量上与微调不相上下或更好,从而实现更高的训练吞吐量,并且没有额外的推理延迟。

NeMo框架的LoRA实现是基于大型语言模型的低阶自适应。有关如何将LoRa模型应用于提取QA任务的更多信息,请参阅LoRa教程笔记本。

Fine-tuning

当数据和计算资源没有硬性约束时,监督微调(SFT)和人工反馈强化学习(RLHF)等定制技术是PEFT和即时工程的绝佳替代方法。与其他定制方法相比,微调可以帮助在一系列用例中实现最佳精度。

监督微调:SFT是对输入和输出的标记数据上的所有模型参数进行微调的过程,它教授模型领域特定的术语以及如何遵循用户指定的指令。这通常是在模型预训练之后完成的。与预训练阶段相比,使用预训练模型可以带来许多好处,包括使用最先进的模型而不必从头开始训练,降低计算成本,以及减少数据收集需求。一种形式的SFT被称为指令调优,因为它涉及在通过指令描述的数据集集合上微调语言模型。

Figure 4. Supervised fine-tuning with labeled instructions following data

带有指令的SFT利用了NLP任务可以通过自然语言指令描述的直觉,例如“将下面的文章总结成三句话”或“用西班牙语写一封关于即将到来的学校节日的电子邮件”。这种方法成功地结合了微调和提示范式的优势,以提高LLM在推理时的零样本性能。

指令调整过程涉及在通过以不同比例混合的自然语言指令表达的几个NLP数据集的混合物上对预训练的模型执行微调。在推理时,对看不见的任务评估微调模型,并且已知该过程显著提高了看不见任务的零样本性能。SFT也是使用强化学习提高LLM能力过程中的一个重要中间步骤,我们将在下面进行描述。

利用人类反馈进行强化学习:利用人类反馈的强化学习(RLHF)是一种定制技术,使LLM能够更好地与人类价值观和偏好保持一致。它使用强化学习使模型能够根据收到的反馈调整其行为。它涉及一个三阶段的微调过程,使用人类偏好作为损失函数。如前一节所述,用指令微调的SFT模型被认为是RLHF技术的第一阶段。

Figure 5. Aligning LLM behavior with human preferences using reinforcement learning

在RLHF的第2阶段中,将SFT模型训练为奖励模型(RM)。一个由提示和多个反应组成的数据集被用于训练RM来预测人类偏好。

在RM被训练后,RLHF的第3阶段侧重于使用具有近端策略优化(PPO)算法的强化学习来针对RM微调初始策略模型。迭代执行的RLHF的这三个阶段使LLM能够生成更符合人类偏好并且能够更有效地遵循指令的输出。

虽然RLHF会产生强大的LLM,但缺点是这种方法可能会被滥用和利用,产生不想要的或有害的内容。NeMo方法使用PPO价值网络作为评论家模型来引导LLM避免产生有害内容。研究界正在积极探索其他方法,以引导LLM采取适当的行为,并减少LLM虚构事实的毒性产生或幻觉。

Customize your LLMs

这篇文章介绍了各种模型定制技术以及何时使用它们。NVIDIA NeMo支持其中许多方法。

NeMo为使用3D并行技术进行训练提供了一个加速的工作流程。它提供了多种定制技术的选择,并针对语言和图像应用程序的大规模模型的大规模推理进行了优化,具有多GPU和多节点配置。

立即下载NeMo框架,并在您喜欢的内部部署和云平台上定制预训练的LLM。

本文地址
最后修改
星期六, June 1, 2024 - 14:26
Article