View a markdown version of this page

监控迭代进度 - Amazon Nova

监控迭代进度

您可以通过 MLflow 跟踪指标。

Nova 自定义 – 为 SageMaker HyperPod 配置 MLflow

要让 SageMaker HyperPod 环境将指标输出到 MLflow,需要完成一些额外配置。

  1. 打开 Amazon SageMaker AI

  2. 选择 SageMaker Studio

    1. 如果已创建配置文件,选择“打开 Studio”。

    2. 如果未创建配置文件,选择“创建 SageMaker 域”进行创建

  3. 选择 MLflow。如果未创建任何 MLflow 应用程序,请选择“创建 MLflow 应用程序”

  4. 在 MLflow 应用程序上点击复制/粘贴按钮或“查看详细信息”菜单项,获取 ARN。提交训练作业时需要用到该 ARN。

    MLflow 应用程序上的“查看详细信息”按钮,显示了 ARN。
  5. 在 HyperPod 集群的执行角色中,添加以下策略。这将允许 HyperPod 集群调用 MLflow API 来发布指标。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": [ "arn:aws:sagemaker:us-east-1:372836560492:mlflow-app/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:ListMlflowTrackingServers", "sagemaker:CallMlflowAppApi" ], "Resource": "*" } ] }

通过 CLI 提交作业

需指定 4 个新增的覆盖参数,可在命令行中指定,也可在 yaml 配方文件中配置。

  1. mlflow_tracking_uri:MLflow 应用程序的 ARN

  2. mlflow_experiment_name:本次实验运行的名称

  3. mlflow_experiment_name:指标在 MLflow 中存储对应的实验名称

  4. mlflow_run_name:本实验的名称

命令行

--override-parameters '{"recipes.run.mlflow_tracking_uri": "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W", "recipes.run.mlflow_experiment_name": "myuser-sft-lora-exp1", "recipes.run.mlflow_run_name": "myuser-sft-lora-exp1-202512181940"}'

yaml:

## Run config run: mlflow_tracking_uri: "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W" mlflow_experiment_name: "myuser-sft-lora-exp1" mlflow_run_name: "myuser-sft-lora-exp1-202512181940"

通过 SageMaker Studio UI 提交作业

MLflow 集成已内置到 SageMaker Studio UI 中。提交训练作业时,只需指明要使用的 MLflow 应用程序实例。

  1. 在 SageMaker Studio 中,依次进入:“模型”>“Nova 2.0 Lite”>“自定义”>“通过 UI 自定义”。

  2. 展开“高级配置”部分

  3. 选择用于接收训练指标的 MLflow 应用程序。您还可以在此设置实验名称和实验运行名称。

MLflow 应用程序。

通过 AWS AWS CLI提交作业

如果您使用 AWSAWS CLI,则必须创建一个 MLflow 应用程序,并将其作为输入传递给训练作业 API 请求。

mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)

创建 MLflow 应用程序

使用 Studio UI:如果您通过 Studio UI 创建训练作业,系统会自动创建默认 MLflow 应用程序,并在“高级选项”下默认选择该应用程序。

使用 CLI:如果您使用 CLI,则必须创建一个 MLflow 应用程序,并将其作为输入传递给训练作业 API 请求。

mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)

访问 MLflow 应用程序

使用 CLI:创建预签名 URL 以访问 MLflow 应用程序 UI:

aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text

使用 Studio UI:Studio UI 会展示存储在 MLflow 中的关键指标,并提供指向 MLflow 应用程序 UI 的链接。

要跟踪的关键指标

通过迭代监控以下指标,以评测模型优化效果并跟踪作业进度:

针对 SFT

  • 训练损失曲线

  • 已处理样本数量及处理耗时

  • 预留测试集上的性能准确率

  • 格式合规性(如有效 JSON 输出率)

  • 领域专属评估数据上的困惑度

针对 RFT

  • 训练过程中的平均奖励分数

  • 奖励分布(高奖励响应占比)

  • 验证奖励趋势(关注过拟合情况)

  • 任务专属成功率(如代码执行通过率、数学题准确率)

一般性问题

  • 迭代间基准性能变化

  • 代表性样本的人工评估分数

  • 生产环境指标(若采用迭代式部署)

停止迭代的判定条件

满足以下任一情况即可停止迭代:

  • 性能趋于平稳:继续训练无法显著提升目标指标

  • 切换训练技术有效:若某一技术效果趋于平稳,可尝试切换(如 SFT → RFT → SFT)以突破性能瓶颈

  • 达到目标指标:已满足预设的成功标准

  • 检测到性能退化:新迭代导致模型效果下降(参见下文回滚流程)

有关详细的评估流程,请参阅评估部分。