LLM:微调、蒸馏和提示工程

上一单元介绍了各种通用 LLM 也称为:

  • 基础 LLM
  • 基础 LLM
  • 预训练 LLM

基础 LLM 经过了足够自然语言的训练,能够“知道”非凡 大量的语法、字词和习语。基础语言模型可以 生成与训练所依据的主题相关的实用句子。 此外,基础 LLM 可以执行某些任务,传统上称为 “广告素材”比如写诗然而,基础 LLM 的生成式文本 并不能解决其他类型的常见机器学习问题,例如 回归或分类。对于这些应用场景,基础 LLM 可以 视为平台而非解决方案。

将基础 LLM 转化为符合应用要求的解决方案 需要一个称为微调的过程。一个称为 蒸馏生成较小(参数较少)的微调模型 模型。

微调

研究表明,地基的模式识别能力 语言模型功能非常强大,有时 只需进行少量额外培训即可学习特定任务。 额外的训练有助于模型做出更好的预测 特定任务。这一额外的培训内容称为 微调、 释放 LLM 的实用性。

根据应用任务的特定样本对训练进行微调 效果有时,工程师只需要几个因素就能对基础 LLM 进行微调 成百上千个训练样本。

尽管训练样本数量相对较少, 往往需要大量的计算资源。这是因为标准微调涉及 更新每个参数的权重和偏差, 反向传播迭代。 幸运的是,有一种更智能的流程,称为参数高效 调优 可以通过仅调整每个部分上的参数子集来对 LLM 进行微调 反向传播迭代。

经过微调的模型通常比基础 LLM 的预测更好 预测。不过,经过微调的模型包含相同数量的 作为基础 LLM。所以,如果一个基础 LLM 包含 100 亿 那么微调后的版本还将包含 100 亿个参数, 参数。

蒸馏

大多数经过微调的 LLM 都包含大量参数。因此, 基础 LLM 需要大量的计算和环境资源 以生成预测。请注意,这些参数中有很多 通常与特定应用程序不相关。

蒸馏 用于创建较小版本的 LLM。蒸馏的 LLM 会生成预测 而且需要的计算和环境资源 完整的 LLM。不过,经过蒸馏的模型的预测通常 与原始 LLM 的预测相当。还记得吗,LLM 参数的预测效果通常好于数量较少的 LLM 参数。

提示工程

提示工程 使 LLM 的最终用户能够自定义模型的输出。 也就是说,最终用户应说明 LLM 应如何回应他们的提示。

人类会从示例中学习很多东西。LLM 也是如此。向 LLM 展示一个样本 称为 单样本提示。 例如,假设您希望模型使用以下格式输出 水果科:

用户输入水果的名称:LLM 会输出水果的类别。

“单样本提示”向 LLM 显示上述格式的单个样本 然后让 LLM 根据这个样本完成一个查询。例如:

peach: drupe
apple: ______

有时,一个示例就足够了。如果是,LLM 会输出有用的 预测。例如:

apple: pome

在其他情况下,一个示例是不够的。也就是说,用户必须 显示了 LLM 的多个示例。例如,以下提示包含 两个示例:

plum: drupe
pear: pome
lemon: ____

提供多个示例的过程称为 少样本提示。 您可以将前面提示的前两行视为训练 示例。

如果不使用样本(零样本),LLM 能否提供有用的预测 提示)?有时, 大型语言模型 (LLM),比如上下文。在没有上下文的情况下,下面的零样本提示 返回关于科技公司的信息,而不是关于水果的信息:

apple: _______

离线推理

LLM 中的参数数量有时 在线推理 速度太慢,对于回归或 分类。因此,许多工程团队都依赖于 离线推理(也 称为批量推理静态推理)。 也就是说, 经过训练的模型会提前进行预测,然后缓存这些预测。

如果 LLM 需要很长时间才能完成任务, LLM 只需每周或每月执行一次任务。

例如,Google 搜索 使用了 LLM 执行离线推理,以便将包含超过 800 个同义词的列表缓存起来 新冠肺炎 (COVID-19) 疫苗,支持 50 多种语言。然后,Google 搜索使用 以识别实时流量中有关疫苗的查询。

以负责任的方式使用 LLM

与任何形式的机器学习一样,LLM 通常具有以下偏见:

  • 训练所用的数据。
  • 用来蒸馏它们的数据。

根据所授课程,公平且负责地使用 LLM 详细介绍

练习:检查您的理解情况

在以下关于 LLM 的表述中,哪一项是正确的?
蒸馏的 LLM 包含的参数少于基础 生成它的语言模型。
是的,蒸馏会减少参数数量。
经过微调的 LLM 包含的参数少于基础 训练所用的语言模型。
经过微调的模型包含的参数数量与 原始基础语言模型。
随着用户执行更多提示工程, 越来越大。
提示工程不会添加(或移除或更改)LLM 参数。