Gemini 模型的强化学习微调作业由三个主要构建块配置而成:微调数据集、控制训练过程的超参数,以及对每个模型回答进行评分的一个或多个奖励函数。该服务还公开了用于监控的指标和作业状态。
如需查看创建调优作业、检索调优后的模型和运行推理的端到端示例,请参阅Cloud de Confiance 控制台快速入门或 API 快速入门。
准备调优数据集
强化学习微调作业由训练数据集和可选的验证数据集驱动。每个数据集都是存储在 Cloud Storage 中的 JSONL 文件。每行都是一个调优示例,其中包含 systemInstruction、contents(模型在调优期间响应的提示)和一个 references 映射,该映射包含奖励函数对模型回答进行评分所需的任何元数据(例如,标准答案、评分准则或单元测试输入)。
强化学习微调支持多模态提示(文本、图片、音频和视频),但受每个文件和每个提示的限制。
如需查看完整的数据集架构、特定于模态的数据集限制,以及如何填充 references 以计算奖励的示例,请参阅调整数据集页面。
配置超参数
超参数控制着在强化学习微调期间如何更新模型,包括生成期间使用的思考水平、批次大小、每个提示的样本数、学习速率乘数、周期数、评估和检查点间隔、最大输出长度以及 LoRA 适配器大小。默认设置适用于大多数工作负载,但您可以在创建调优作业时替换任何默认设置。
如需了解默认值、允许的范围、与数据集大小相关的规则和建议的组合,请参阅超参数页面。
定义奖励函数
奖励函数会在调优期间为每个模型回答进行数值评分。奖励信号是强化学习的优化对象,因此其质量直接决定了调优质量。所有奖励都剪裁到 [-1, 1] 范围内。
强化学习微调支持以下奖励类型:
- 字符串匹配奖励 - 将模型回答(或其已解析的子字符串)与
references中提供的标准答案值进行比较。 - 基于 Gemini 的自动评分器奖励 - 使用 LLM-as-a-Judge 对每个回答进行评分,可以选择性地进行回答解析。
- Cloud Run 奖励 - 调用用户管理的 Cloud Run 服务,该服务会返回标量奖励,用于实现完全可自定义的评分逻辑。
- 复合奖励 - 将上述任何奖励类型与每个得分手的权重相结合。
在启动调优作业之前,我们强烈建议您在 Cloud de Confiance 控制台中或使用 ValidateReinforcementTuningReward API 方法验证奖励配置。
如需详细了解配置架构、代码示例、IAM 设置和奖励设计最佳实践,请参阅奖励函数页面。
监控作业状态和指标
调优作业启动后,您可以通过以下两种方式跟踪其生命周期状态(例如 JOB_STATE_PENDING、JOB_STATE_RUNNING、JOB_STATE_SUCCEEDED、JOB_STATE_FAILED、JOB_STATE_CANCELLING、JOB_STATE_CANCELLED)并检查调优进度:
- 以编程方式 - 发出
GetTuningJob请求以检索作业的状态、tunedModel、错误详情和元数据。如需查看curl命令示例,请参阅 API 快速入门。 - 直观 - 在 Cloud de Confiance 控制台中,依次打开作业的监控页面 模型 > 调优,其中会显示基础调优实验,并提供图表来显示每个步骤中发出的训练和评估指标(奖励、生成长度、奖励延迟时间、复合奖励的每个奖励细分等)。
强化学习微调还会以 checkpointInterval 设置的频率生成中间检查点,您可以在作业完成之前独立部署和评估这些检查点。
如需查看已发出指标的完整列表、每种奖励类型的指标、如何解读这些指标以及如何访问检查点,请参阅指标和监控页面。