View a markdown version of this page

监控 RFT 训练 - Amazon Nova

监控 RFT 训练

在训练期间监控关键指标,确保有效学习,尽早发现潜在问题。

要跟踪的关键指标

在训练期间使用 MLflow 监控以下指标:

奖励指标:

  • 平均奖励分数:模型响应的整体质量(应随时间增加)

  • 奖励分布:获得高、中、低奖励的响应百分比

  • 训练奖励与验证奖励:通过对比检测过拟合

训练指标:

  • 策略更新次数:成功更新权重的次数

  • 推演完成率:成功完成评测的样本占比

异常模式:

  • 奖励趋于平稳(表明学习效果差)

  • 训练奖励上升,而验证奖励下降(过拟合)

  • 奖励方差随时间显著增大(不稳定)

  • 奖励函数错误率偏高(实现问题)

何时停止训练:

  • 已达到目标性能指标

  • 奖励趋于平稳且不再提升

  • 验证性能下降(检测到过拟合)

  • 已达到最大训练预算

RFT 之后的评测

训练完成后,评测经过微调的模型以判断性能提升情况:

  • 运行 RFT 评测作业:使用 RFT 训练产出的检查点作为模型

  • 与基线对比:在相同的测试集上评测基础模型和经过微调的模型

  • 分析指标:查看任务特定指标(准确率、奖励分数等)

  • 进行定性审查:人工抽查样本输出质量

有关详细的评测流程,请参阅“评测”一节。

使用经过微调的模型

访问检查点:

训练完成后,找到检查点:

  1. 进入 S3 中的 output_path

  2. 下载并解压缩 output.tar.gz

  3. 打开 manifest.json

  4. 复制 checkpoint_s3_bucket

部署用于推理:

使用检查点 S3 路径进行推理或进一步训练:

run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"

有关部署和推理的说明,请参阅“推理”一节。

限制与最佳实践

目前的局限性:

Beta 限制:

  • 需要为 RFT 创建新的 RIG 组。此限制将在正式发布时解决。

  • 实例类型要求:仅支持 P5 实例(至少需要 8x P5.48xlarge)。即将推出:对更小实例类型的支持(预计 2025 年 1 月中旬)。

功能限制:

  • 15 分钟 Lambda 超时:奖励函数必须在 15 分钟内完成执行

  • 仅支持单轮对话:不支持多轮对话

  • 验证数据集:训练期间不支持使用。请使用单独的评测作业来评测训练进度。

训练注意事项:

  • 低奖励场景:当只有不到 5% 的示例获得正奖励时,训练可能难以进行,此时建议先使用 SFT

  • 数据要求:需具备足够多样性,才能保证学习效果

  • 计算成本:比监督式微调更昂贵

Nova Forge 消除了以下部分限制:

  • 支持多轮对话

  • 允许奖励函数超过 15 分钟超时

  • 提供高级算法和调优选项

  • 专为复杂企业使用案例设计,专门针对构建前沿模型进行了调优

最佳实践:

从小规模开始逐步扩展:

  • 从最小规模数据集(100 – 200 个样本)和少量训练 epoch 开始

  • 在扩大规模之前验证方法

  • 根据结果逐步增加数据集规模和训练步数

先用 SFT 建立基线:

  • 如果奖励分数持续偏低(例如始终为 0),应先执行 SFT,再进行 RFT

  • RFT 需要具备合理的基线性能,才能实现有效优化

设计高效的奖励函数:

  • 在几秒钟内执行完毕(而非几分钟)

  • 尽量减少外部 API 调用

  • 使用高效的算法与数据结构

  • 实现完善的错误处理机制

  • 训练前进行充分测试

  • 充分利用 Lambda 的并行扩展能力

主动监控训练:

  • 跟踪平均奖励分数随时间的变化

  • 观察各样本之间的奖励分布

  • 对比训练奖励与验证奖励

  • 留意异常模式(平稳、过拟合、不稳定)

根据结果进行迭代:

  • 如果多次迭代后奖励仍无提升,请调整奖励函数的设计

  • 提升数据集的多样性以提供更清晰的学习信号

  • 如果奖励仍接近零,建议改用 SFT

  • 尝试不同的超参数(学习率、批次大小)

优化数据质量:

  • 确保样本多样且具有代表性

  • 包含边界情况和困难样本

  • 验证奖励函数能够对各类样本进行正确评分

  • 移除或修复会干扰奖励函数的样本

问题排查

奖励函数错误:

症状:训练期间奖励函数调用的错误率较高

问题

症状

解决方案

Lambda 超时

15 分钟后频繁超时

优化函数性能;对于复杂评测,建议使用 Nova Forge

并发不足

Lambda 节流错误

提高 lambda_concurrency_limit 或申请提高配额

返回格式无效

训练失败并出现格式错误

验证返回结构是否符合要求的接口规范

未处理的异常

间歇性错误

添加完善的错误处理与日志记录

外部 API 故障

评分不一致

实现重试逻辑和备用策略

训练表现不佳:

症状:奖励没有提升或停留在较低水平

解决方法:

  • 验证奖励函数正确性:使用已知的优/劣样本进行测试

  • 检查基线性能:评测基础模型;如果准确率接近零,建议先进行 SFT

  • 提升数据多样性:添加更多覆盖不同场景的多样化样本

  • 调整超参数:尝试不同学习率或批次大小

  • 检查奖励信号质量:确保奖励可区分优劣响应

过拟合:

症状:训练奖励上升,而验证奖励下降

解决方法:

  • 减少训练步数:提前停止训练

  • 扩大数据集规模:增加训练样本数量

  • 添加正则化:调整 weight_decayentropy_coeff

  • 提升数据多样性:确保训练集代表完整的数据分布