模型调参简介

提示设计策略(例如少样本提示)不一定总能产生您需要的结果。使用模型调参可以提高模型在特定任务上的性能,或在指令不足时,也可以帮助模型遵循特定的输出要求,并且您有一组示例来展示您所需的输出。

本页面介绍了如何调整 Gemini API 文本服务背后的文本模型。

模型调整的工作原理

模型调整的目标是进一步提高模型针对特定任务的效果。模型调整的工作原理是为模型提供包含许多任务样本的训练数据集。对于特定领域任务,您可以使用适量样本调整模型,以此来显著提高模型的效果。

您的训练数据应采用示例结构,其中包含提示输入和预期的响应输出。 您还可以直接在 Google AI Studio 中使用示例数据调整模型。目的是教模型模仿预期的行为或任务,为此,您需要提供大量示例来说明相应行为或任务。

运行调参作业时,模型会学习其他参数,用于对必要信息进行编码以执行所需的任务或学习预期行为。这些参数随后可在推断时使用。调整作业的输出是一个新模型,它实际上是新学习的参数和原始模型的组合。

支持的模型

以下基础模型支持模型调参。仅支持单轮文本补全。

  • Gemini 1.0 Pro
  • text-bison-001

模型调整工作流

模型调参工作流如下所示:

  1. 准备数据集。
  2. 如果您使用的是 Google AI Studio,请导入数据集。
  3. 启动调整作业。

模型调参完成后,系统会显示已调参模型的名称。您也可以在 Google AI Studio 中选择它作为创建新提示时要使用的模型。

准备数据集

在开始调参之前,您需要一个用于调优模型的数据集。为获得最佳性能,数据集中的样本应该是高质量、多样化且代表真实输入和输出的样本。

形式

数据集中包含的样本应与您的预期生产流量相匹配。如果您的数据集包含特定的格式、关键字、说明或信息,则生产数据应以相同方式设置格式并包含相同的说明。

例如,如果数据集中的样本包含 "question:""context:",则生产流量的格式也应设置为包含 "question:""context:",其顺序与在数据集样本中的显示顺序相同。如果排除上下文,模型将无法识别模式,即使确切的问题存在于数据集中的样本中也是如此。

为数据集中的每个样本添加提示或序言也有助于提升经调整的模型的性能。请注意,如果您的数据集内包含提示或前言,则在推断时,它也应包含在提供给经调整的模型的提示中。

训练数据大小

您只要使用 20 个样本就可以对模型进行调参,额外的数据通常可以提高响应质量。根据您的应用,目标样本数量应该介于 100 到 500 之间。下表显示了针对各种常见任务调整文本模型的建议数据集大小:

任务 数据集中的示例数
分类 100 多个
摘要 100-500+
文档搜索 100 多个

上传调整数据集

数据既可以使用 API 以内嵌方式传递,也可以通过在 Google AI Studio 中上传的文件进行传递。

使用导入按钮从文件中导入数据,或选择包含示例的结构化提示以导入调整数据集。

客户端库

如需使用客户端库,请在 createTunedModel 调用中提供数据文件。文件大小上限为 4MB。如需开始使用,请参阅使用 Python 进行调优快速入门

Curl

如需使用 Curl 调用 REST API,请向 training_data 参数提供 JSON 格式的训练示例。如需开始使用,请参阅快速入门:使用 Curl

高级调参设置

创建调整作业时,您可以指定以下高级设置:

  • 周期 - 整个训练集的完整训练遍历,因此每个样本都被处理了一次。
  • 批次大小 - 一次训练迭代中使用的一组样本。批次大小决定了一个批次中的样本数量。
  • 学习速率 - 一个浮点数,用于告知算法在每次迭代时调整模型参数的强度。例如,0.3 的学习速率调整权重和偏差的能力是 0.1 的学习速率的三倍。高和低学习速率具有自己的独特利弊,应根据您的用例进行调整。
  • 学习速率调节系数 - 速率调节系数会修改模型的原始学习速率。值为 1 表示使用模型的原始学习速率。值大于 1 会提高学习速率,值在 1 到 0 之间会降低学习速率。

下表显示了用于调整基础模型的推荐配置:

超参数 默认值 建议的调整
纪元 5 如果损失在 5 个周期之前开始稳定,请使用较小的值。
如果损失趋于收敛,且似乎未趋于稳定,请使用较高的值。
批次大小 4
学习速率 0.001 对于较小的数据集,请使用较小的值。

损失曲线显示每个周期后模型的预测与训练样本中的理想预测之间的偏差。理想情况下,您希望在曲线进入稳定期之前在曲线的最低点停止训练。例如,下图显示的损失曲线在周期 4-6 左右达到稳定状态,这意味着您可以将 Epoch 参数设置为 4 并获得相同的性能。

损失曲线

检查调整作业状态

您可以在 Google AI Studio 界面中的我的库标签页下查看调整作业的状态,也可以在 Gemini API 中使用调整后模型的 metadata 属性查看。

排查错误

本部分介绍了有关如何解决在创建经调整的模型时可能遇到的错误的提示。

身份验证

使用 API 和客户端库进行调优需要用户身份验证。仅使用 API 密钥是不够的。如果看到 'PermissionDenied: 403 Request had insufficient authentication scopes' 错误,您需要设置用户身份验证。

如需为 Python 配置 OAuth 凭据,请参阅 OAuth 设置教程

已取消的模型

在模型调参作业完成之前,您可以随时取消该作业。但是,取消模型的推断性能是不可预测的,尤其是在训练早期取消调参作业的情况下。如果您因为想要在较早的周期停止训练而取消训练,则应创建新的调整作业并将周期设置为较低的值。

后续步骤