使用直接偏好优化在SageMaker AI中定制Nova模型
在某中心纽约峰会上,推出了一套全面的模型定制能力,可用于Nova基础模型。这些能力作为现成配方在SageMaker AI上提供,可用于在整个模型训练生命周期中调整Nova Micro、Nova Lite和Nova Pro,包括预训练、监督微调和对齐。
解决方案概述
使用SageMaker训练作业的Nova配方工作流程包括以下步骤:
- 用户选择特定的Nova定制配方,提供全面的配置来控制训练参数、模型设置和分布式训练策略
- 用户向SageMaker AI控制平面提交API请求,传递Nova配方配置
- SageMaker使用训练作业启动脚本在托管计算集群上运行Nova配方
- 根据所选配方,SageMaker AI配置所需基础设施,编排分布式训练,并在完成后自动解除集群
业务用例实现
本文重点介绍如何调整Nova Micro模型以优化结构化函数调用,用于特定应用的代理工作流。该方法通过以下方式优化Nova模型:
- F1分数提高81%
- ROUGE指标提升高达42%
- 使模型在客户支持AI助手、数字助理和电子商务等领域更高效
技术实现细节
数据准备
使用nvidia/When2Call数据集,该数据集提供:
- 合成生成的用户查询
- 工具选项
- 基于真实场景的标注偏好
数据预处理步骤包括:
- 加载原始数据集
- 转换为Nova Micro要求的格式
- 分割为训练集和测试集
DPO训练
使用PyTorch Estimator类设置微调工作负载:
|
|
模型评估
提供两种评估选项:
选项A:gen_qa任务评估
- 评估响应准确性、精确度和模型推理质量
- 可以使用自定义数据集并与基础模型比较结果
选项B:llm_judge任务评估
- 使用LLM作为评判员评估模型性能
- 比较自定义模型输出与基准输出
模型部署
使用CreateCustomModel API部署微调模型:
|
|
性能提升
评估结果显示微调模型在所有关键指标上均有显著提升:
指标 | 基础模型 | 微调模型 | 提升幅度 |
---|---|---|---|
F1 | 0.26 | 0.46 | 81% |
ROUGE-1 | 0.38 | 0.52 | 39% |
ROUGE-2 | 0.28 | 0.40 | 42% |
资源清理
为避免产生额外费用,建议:
- 删除未使用的SageMaker Studio资源
- 检查并停止所有运行中的训练作业
- 删除某中心Bedrock中的自定义模型部署