Nova 自定义 SDK - Amazon Nova

Nova 自定义 SDK

Nova 自定义 SDK 是一套功能完整的 Python SDK,专用于 Amazon Nova 模型的自定义开发。该 SDK 为跨不同平台(包括 SageMaker AI 和 Amazon Bedrock)的 Amazon Nova 模型,提供了训练、评估、监控、部署及推理的统一接口。无论是针对特定领域任务适配模型,还是根据自身使用案例优化性能,该 SDK 都能在单一统一接口中提供您所需的全部功能。

优势

  • 一款 SDK 覆盖全流程模型自定义生命周期:从数据准备到部署与监控。

  • 支持多种训练方法,包括持续预训练(CPT)、监督式微调(SFT)、直接偏好优化(DPO)、强化微调(RFT);同时支持单轮/多轮对话场景,以及 LoRA 与全秩适配方式。

  • 内置 SageMaker 训练作业支持,且可实现自动资源管理。

  • 无需再为训练方法查找适配的配方或容器 URI。

  • 支持自备训练配方,也可使用 SDK 智能默认值并覆盖参数。

  • 该 SDK 会依据支持的模型与实例组合对配置进行校验,并提供验证支持,从而在训练启动前规避错误。

  • 集成 Amazon CloudWatch 监控功能,支持实时追踪训练进度。

  • 集成 MLflow,可通过 SageMaker AI MLflow 跟踪服务器追踪训练实验。

要求

该 SDK 要求的最低 Python 版本为 3.12。

安装

如需安装该 SDK,请执行以下命令。

pip install amzn-nova-customization-sdk

支持的模型与技术

该 SDK 支持 Amazon Nova 系列中的以下模型与技术:

方法 支持的模型
持续预训练 所有 Nova 模型(仅限 SMHP)
监督式微调 LoRA 所有 Nova 模型
全秩监督式微调 所有 Nova 模型
直接偏好优化 LoRA Nova 1.0 模型
全秩直接偏好优化 Nova 1.0 模型
强化微调 LoRA Nova Lite 2.0
全秩强化微调 Nova Lite 2.0
多轮强化微调 LoRA Nova Lite 2.0(仅限 SMHP)
全秩多轮强化微调 Nova Lite 2.0(仅限 SMHP)

开始使用

1. 准备数据

从本地文件或 S3 加载数据集后,SDK 会自动将其转换为所选训练方法对应的标准格式。您也可直接提供已格式化的数据,快速启动训练流程。

from amzn_nova_customization_sdk.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_customization_sdk.model.model_enums import Model, TrainingMethod loader = JSONLDatasetLoader(question="input", answer="output") loader.load("s3://your-bucket/training-data.jsonl") loader.transform(method=TrainingMethod.SFT_LORA, model=Model.NOVA_LITE)

2. 配置基础设施

选定计算资源,SDK 自动验证配置,保障最优部署。

from amzn_nova_customization_sdk.manager.runtime_manager import SMTJRuntimeManager, SMHPRuntimeManager # SageMaker Training Jobs runtime = SMTJRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4 ) # SageMaker HyperPod runtime = SMHPRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4, cluster_name="my-hyperpod-cluster", namespace="kubeflow" )

3. 训练

仅需几行代码即可启动训练。

from amzn_nova_customization_sdk.model import NovaModelCustomizer from amzn_nova_customization_sdk.model.model_enums import Model, TrainingMethod customizer = NovaModelCustomizer( model=Model.NOVA_LITE_2, method=TrainingMethod.SFT_LORA, infra=runtime, data_s3_path="s3://your-bucket/prepared-data.jsonl" ) result = customizer.train(job_name="my-training-job")

4. 监控

您可直接通过 SDK 追踪训练进度。

from amzn_nova_customization_sdk.monitor.log_monitor import CloudWatchLogMonitor # Monitor training logs customizer.get_logs() # Or monitor directly via CloudWatchLogMonitor monitor = CloudWatchLogMonitor.from_job_result(result) monitor.show_logs(limit=10) # Check job status result.get_job_status() # InProgress, Completed, Failed

5. 评估

通过多种内置基准评估模型性能,也可自定义评估方案。

from amzn_nova_customization_sdk.recipe_config.eval_config import EvaluationTask # Evaluate on benchmark tasks eval_result = customizer.evaluate( job_name="model-eval", eval_task=EvaluationTask.MMLU, model_path=result.model_artifacts.checkpoint_s3_path )

6. 部署

借助内置的 Amazon Bedrock 或 SageMaker 适配能力,可将自定义模型部署到生产环境。

from amzn_nova_customization_sdk.model.model_enums import DeployPlatform # Bedrock provisioned throughput deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_PT, unit_count=10 ) # Bedrock On-Demand deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD ) # Sagemaker Real-time Inference deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.SAGEMAKER, unit_count=10, sagemaker_instance_type="ml.p5.48xlarge", sagemaker_environment_variables={ "CONTEXT_LENGTH": "12000", "MAX_CONCURRENCY": "16", } )

关键功能

动态配方生成

该 SDK 无需您为特定训练方法查找适配的配方或容器 URI。

智能数据处理

该 SDK 会自动将数据转换为训练所需的标准格式。无论您使用 JSON、JSONL 或 CSV 文件,数据加载器均可无缝完成格式转换。数据加载器同时支持文本数据及多模态数据(图像和视频)。

企业级基础设施支持

该 SDK 可兼容 SageMaker 训练作业与 SageMaker HyperPod,并自动管理以下内容:

  • 实例类型验证

  • 配方验证

  • 数据集验证

  • 作业编排与监控

全面评测

基于行业标准基准评测自定义模型,包括:

  • MMLU(大规模多任务语言理解)

  • BBH(高级推理任务)

  • GPQA(Google 无法解答的研究生级别问答基准)

您可直接使用基准默认配置,或根据需求自行定义:

  • BYOM(自定义指标)

  • BYOD(自定义数据集)

生产环境部署

将模型部署到 Amazon Bedrock 或 SageMaker,支持以下部署方式:

  • Bedrock 预置吞吐量:提供专属算力,保障性能稳定

  • Bedrock 按需调用(仅适用于基于 LoRA 的自定义):按需付费

  • Sagemaker 实时推理:提供专属算力,保障性能稳定

批量推理

高效运行大规模推理作业:

  • 并行处理数千个请求

  • 结果自动聚合

  • 高性价比批量处理

Nova Forge

对于 Nova Forge 订阅用户,该 SDK 支持数据混合配方。

了解更多

准备好开始使用 Nova 自定义 SDK 来自定义 Nova 模型了吗? 前往我们的 GitHub 存储库,查看详细指南、API 参考及更多示例::https://github.com/aws/nova-customization-sdk