0
点赞
收藏
分享

微信扫一扫

使用DPO在SageMaker中定制Nova模型

解决方案概述

在SageMaker训练作业中使用Nova定制配方的工作流程包含以下关键步骤:

  1. 选择特定Nova定制配方,该配方提供完整的配置参数来控制训练过程
    1. 通过API向SageMaker控制平面提交配方配置
    1. SageMaker使用训练作业启动脚本在托管计算集群上运行配方
    1. 训练完成后自动释放计算资源

业务用例实现

本案例重点优化Nova Micro模型在结构化函数调用方面的表现:

  • 使用nvidia/When2Call数据集进行DPO训练
    • 训练数据格式转换为Nova要求的聊天补全格式
    • 采用参数高效微调(PEFT)技术降低计算成本

数据集准备

from datasets import load_dataset
dataset = load_dataset("nvidia/When2Call", "train_pref", split="train")

DPO训练配置

recipe_overrides = {
    "training_config": {
        "trainer": {"max_epochs": 1},
        "model": {
            "dpo_cfg": {"beta": 0.1},
            "peft": {
                "peft_scheme": "lora",
                "lora_tuning": {
                    "loraplus_lr_ratio": 16.0,
                    "alpha": 128,
                    "adapter_dropout": 0.01,
                },
            },
        },
    },
}

模型评估结果

指标 基准模型 微调模型 提升幅度
F1 0.26 0.46 81%
ROUGE-1 0.38 0.52 39%
ROUGE-2 0.28 0.40 42%

模型部署

训练完成的模型可通过CreateCustomModel API部署到推理服务:

request_params = {
    "modelName": "nova-micro-sagemaker-dpo-peft",
    "modelSourceConfig": {"s3DataSource": {"s3Uri": model_path}},
    "roleArn": role,
}
response = bedrock.create_custom_model(**request_params)

资源清理

为避免产生额外费用,请确保删除以下资源:

  • SageMaker训练作业
    • 模型部署实例
    • 临时存储数据
  • 更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
举报

相关推荐

0 条评论