强化学习微调的指标和监控

本页面列出了强化学习微调作业发出的指标,并介绍了如何查看作业状态和结果。

指标

以下指标会在每个训练步骤(针对当前训练批次)和每个评估间隔(针对整个验证数据集)发出。

奖励指标

系统会发出以下奖励指标:

  • /train_mean_reward:当前训练步骤中一批样本的平均奖励。
  • /eval_mean_reward:整个验证数据集的平均奖励。

生成长度指标

系统会发出以下生成长度指标:

  • /train_generation_length:当前训练步骤中一批样本的平均生成长度(以 token 数量表示,包括思考 token 和非思考 token)。
  • /eval_generation_length:整个验证数据集的平均生成长度(以 token 数量表示,包括思考 token 和非思考 token)。
  • /train_thinking_token_length:当前训练步骤中一批样本的平均思考 token 长度。
  • /eval_thinking_token_length:整个验证数据集上的平均思考 token 长度。

奖励延迟时间指标

系统会发出以下奖励延迟时间指标:

  • /train_mean_reward_latency:在当前训练步骤中计算一批样本的奖励的平均延迟时间。
  • /eval_mean_reward_latency:在整个验证数据集上计算 奖励的平均延迟时间。
  • /train_p95_reward_latency:在当前训练步骤中计算一批样本的奖励时的 P95 延迟时间。
  • /eval_p95_reward_latency:在整个验证数据集上计算奖励的 P95 延迟时间。

采样延迟时间指标

系统会发出以下采样延迟时间指标:

  • /train_mean_sampling_latency:当前训练步骤中对一批样本进行采样的平均延迟时间。
  • /eval_mean_sampling_latency:对整个验证数据集进行采样的平均延迟时间。
  • /train_p95_sampling_latency:当前训练步骤中对一批样本进行采样的 P95 延迟时间。
  • /eval_p95_sampling_latency:对整个验证数据集进行采样的 P95 延迟时间。

批次构成指标

系统会发出以下批处理组合指标:

  • /learnable_prompt_ratio:当前训练步骤的实际批次大小除以所有样本(包括过滤掉的样本)。仅限训练指标。

每项奖励的指标(适用于复合奖励)

对于复合奖励,每项单独的奖励都会发出自己的一组指标,这些指标以 ${reward_name} 为前缀。具有相同奖励名称的指标会在监控界面中分组在一起,您可以折叠和展开这些指标:

  • ${reward_name}/train_mean_reward:当前训练步骤中一批样本的 ${reward_name} 平均奖励。
  • ${reward_name}/eval_mean_reward:整个验证数据集上 ${reward_name} 的平均奖励。
  • ${reward_name}/train_processing_time:在当前训练步骤中,计算一批样本的 ${reward_name} 奖励的平均延迟时间。
  • ${reward_name}/eval_processing_time:在整个验证数据集上计算 ${reward_name} 奖励的平均延迟时间。
  • ${reward_name}/train_p95_processing_time:在当前训练步骤中,计算一批样本的 ${reward_name} 奖励的 P95 延迟时间。
  • ${reward_name}/eval_p95_processing_time:在整个验证数据集上计算 ${reward_name} 奖励的 P95 延迟时间。
  • ${reward_name}/train_executing_code_failure_ratio:在当前训练步骤中,针对一批样本计算名为 ${reward_name} 的代码执行奖励时的平均失败率。仅限代码执行奖励。
  • ${reward_name}/eval_executing_code_failure_ratio:在整个验证数据集上计算名为 ${reward_name} 的代码执行奖励时的平均失败率。仅限代码执行奖励。
  • ${reward_name}/train_rpc_error_ratio:在当前训练步骤中,针对一批样本计算名为 ${reward_name} 的奖励时的平均 RPC 失败率。适用于代码执行、Autorater 和 Cloud Run 奖励;不适用于字符串匹配。
  • ${reward_name}/eval_rpc_error_ratio:在整个验证数据集上计算名为 ${reward_name} 的奖励的平均 RPC 失败率。适用于代码执行、Autorater 和 Cloud Run 奖励;不适用于字符串匹配。
  • ${reward_name}/train_invalid_rpc_response_ratio:当前训练步骤中一批样本上名为 ${reward_name} 的奖励的无效 RPC 响应的平均比率。适用于代码执行、Autorater 和 Cloud Run 奖励;不适用于字符串匹配。
  • ${reward_name}/eval_invalid_rpc_response_ratio:整个验证数据集中名为 ${reward_name} 的奖励的无效 RPC 响应的平均比率。适用于代码执行、自动评分器和 Cloud Run 奖励;不适用于字符串匹配。
  • ${reward_name}/train_clipping_rewards_ratio:当前训练步骤中一批样本的 ${reward_name} 平均剪裁比率。奖励会被限制在 [-1, 1] 范围内。
  • ${reward_name}/eval_clipping_rewards_ratio:整个验证数据集上 ${reward_name} 的平均裁剪率。奖励会被限制在 [-1, 1] 范围内。

查看作业状态和结果

您可以在 Google Cloud 控制台中或使用 REST API 查看强化学习微调作业的状态和结果。

控制台

在 Google Cloud 控制台中,依次前往模型 > 调优,然后选择您的调优作业。作业详情页面提供了三个用于监控和检查的标签页:

  • “监控”标签页:显示实时调优进度以及本页面上列出的训练和评估指标的交互式图表:
    • 使用粘性过滤条件栏 (Filter metrics by name) 或显示类别选择器,按指标名称或类别过滤图表。
    • 展开或收起图表组,以查看常规调优指标和复合奖励中的各个奖励函数。
    • 直接在指标图表上检查检查点注释。
    • 使用检查点表及其列选择器,比较已保存检查点的调优和奖励指标,复制检查点端点 ID,或点击测试以在 Agent Studio 中评估检查点。
  • “数据集”标签页:检查训练和验证数据集样本、对话示例、references 字段和数据集分布图表。
  • “详细信息”标签页:查看基础模型、调优方法、超参数值和奖励配置。点击奖励配置上的查看详情,打开侧边抽屉式导航栏,其中会显示非默认设置。

REST

发出 tuningJobs.get 请求,以检索作业的状态、tunedModel、错误详细信息和元数据。

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/tuningJobs/TUNING_JOB_ID"

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • TUNING_JOB_ID:调优作业的 ID。
  • LOCATION_ID:位置 ID。

中间检查点

强化学习微调会按照 checkpointInterval 超参数设置的频率生成中间检查点。您可以在作业完成之前独立部署和评估这些检查点。如需详细了解 checkpointInterval 超参数,请参阅超参数页面。

后续步骤