调优模型概览

对基础模型调优可以提高其性能。基础模型是为一般用途训练的,有时不能按预期执行任务。这可能是因为您希望模型执行的任务是专业任务,很难仅通过问题设计来训练模型。

在这些情况下,可以使用模型调优来提高模型针对特定任务的性能。当说明不足时,模型调优还可帮助遵循特定的输出要求。本页面简要介绍了模型调优,介绍了 Vertex AI 上可用的调优选项,并可帮助您确定应在何时使用每个调优选项。

模型调优概览

模型调优的工作原理是为模型提供包含许多独特任务样本的训练数据集。对于独特的或特定领域的任务,您可以使用适量样本调优模型,以此来显著改善模型性能。对模型调优后,其提示中需要的样本会更少。

Vertex AI 支持以下基础模型调优方法。

Gemini

监督式调优

Gemini 模型的监督式调优可以通过让模型学习新技能来提高模型的性能。此方法使用包含数百个有标签样本的数据来训练模型,让其模拟所需的行为或任务。每个有标签样本均展示您希望模型在推理期间输出的内容。

运行监督式调优作业时,模型会学习其他参数,以便对所需信息进行编码以执行所需任务或学习预期行为。在推理期间会用到这些参数。调优作业的输出是一个新模型,它将新学习的参数与原始模型相结合。

如果模型的输出不复杂且相对容易定义,则对文本模型进行监督式调优是一个不错的选择,建议将监督式调优用于分类、情感分析、实体提取、非复杂内容的总结以及编写特定领域的查询。对于代码模型,只能选择监督式调优。

PaLM

监督式调优

PaLM 模型的监督式调优通过让模型学习新技能来提高模型的性能。此方法使用包含数百个有标签样本的数据来训练模型,让其模拟所需的行为或任务。每个有标签样本均展示您希望模型在推理期间输出的内容。

运行监督式调优作业时,模型会学习其他参数,以便对所需信息进行编码以执行所需任务或学习预期行为。在推理期间会用到这些参数。调优作业的输出是一个新模型,它将新学习的参数与原始模型相结合。

如果模型的输出不复杂且相对容易定义,则对文本模型进行监督式调优是一个不错的选择,建议将监督式调优用于分类、情感分析、实体提取、非复杂内容的总结以及编写特定领域的查询。对于代码模型,只能选择监督式调优。

基于人类反馈的强化学习 (RLHF) 调优

PaLM 模型的基于人类反馈的强化学习 (RLHF) 使用人类指定的偏好来优化语言模型。通过使用人工反馈来调优模型,您可以使模型更符合人类偏好,并在用户对任务具有复杂的直观感受时减少非预期结果。例如,RLHF 可以帮助完成不太明确的任务,比如写一首关于海洋的诗,方法是向用户提供两首关于海洋的诗,让用户选择自己喜欢的一首。

如果模型的输出很复杂并且无法通过监督式调优轻松实现,则 RLHF 调优便是不错的选择。建议将 RLHF 调优用于问答、复杂内容摘要以及内容创建(例如改写)。代码模型不支持 RLHF 调优。

模型提炼

如果您想缩小大型模型,而不降低其执行所需功能的能力,则 PaLM 模型的模型提炼是一种不错的选择。提炼过程会创建一个经过训练且较小的新模型,该模型的费用更低,延迟时间比原始模型更短。

使用 LoRA 和 QLoRA 调整 LLM 的建议

您还可以使用大语言模型的低秩自适应 (LoRA) 来调优 Vertex AI LLM 模型。

本部分提供了有关使用 LoRA 的建议,它是内存效率更高的版本 QLoRA

LoRA 调优建议

下表总结了对使用 LoRA 或 QLoRA 调优 LLM 的建议:

规范 Chrome Enterprise Recommended 详细信息
GPU 内存效率 QLoRA QLoRA 的峰值 GPU 内存用量比 LoRA 低 75%。
速度 LoRA LoRA 的调整速度比 QLoRA 快 66%。
成本效益 LoRA 这两种方法都比较经济实惠,但 LoRA 最多可比 QLoRA 便宜 40%。
更高的序列长度上限 QLoRA 序列长度上限越高,GPU 内存消耗就越大。QLoRA 使用的 GPU 内存更少,因此可以支持更高的序列长度上限。
准确性改善 相同 这两种方法提供类似的准确率改善幅度。
较高的批次大小 QLoRA QLoRA 支持的批次大小要大得多。例如,下面是在以下 GPU 上调整 openLLaMA-7B 的批次大小建议:
  • 1 x A100 40G:
    • LoRA:建议的批次大小为 2。
    • QLoRA:建议的批次大小为 24。
  • 1 x L4:
    • LoRA:批次大小为 1 时会失败,并显示内存不足错误 (OOM)。
    • QLoRA:建议的批次大小为 12。
  • 1 x V100:
    • LoRA:批次大小为 1 时会失败,并显示内存不足错误 (OOM)。
    • QLoRA:建议的批次大小为 8。

后续步骤