监控迭代进度
您可以通过 MLflow 跟踪指标。
Nova 自定义 – 为 SageMaker HyperPod 配置 MLflow
要让 SageMaker HyperPod 环境将指标输出到 MLflow,需要完成一些额外配置。
-
打开 Amazon SageMaker AI
-
选择 SageMaker Studio
-
如果已创建配置文件,选择“打开 Studio”。
-
如果未创建配置文件,选择“创建 SageMaker 域”进行创建
-
-
选择 MLflow。如果未创建任何 MLflow 应用程序,请选择“创建 MLflow 应用程序”
-
在 MLflow 应用程序上点击复制/粘贴按钮或“查看详细信息”菜单项,获取 ARN。提交训练作业时需要用到该 ARN。
-
在 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 配方文件中配置。
-
mlflow_tracking_uri:MLflow 应用程序的 ARN -
mlflow_experiment_name:本次实验运行的名称 -
mlflow_experiment_name:指标在 MLflow 中存储对应的实验名称 -
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 应用程序实例。
-
在 SageMaker Studio 中,依次进入:“模型”>“Nova 2.0 Lite”>“自定义”>“通过 UI 自定义”。
-
展开“高级配置”部分
-
选择用于接收训练指标的 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)以突破性能瓶颈
-
达到目标指标:已满足预设的成功标准
-
检测到性能退化:新迭代导致模型效果下降(参见下文回滚流程)
有关详细的评估流程,请参阅评估部分。