View a markdown version of this page

Nova Forge SDK - Amazon Nova

Nova Forge SDK

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

优势

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

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

  • 为 SageMaker 训练作业、SageMaker HyperPod 和 Amazon Bedrock 提供内置支持,且可实现自动资源管理。

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

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

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

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

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

要求

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

安装

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

pip install amzn-nova-forge

支持的模型与技术

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

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

开始使用

1. 准备数据

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

from amzn_nova_forge.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_forge.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_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMHPRuntimeManager # Bedrock runtime = BedrockRuntimeManager( execution_role="arn:aws:iam::123456789012:role/ExampleRole" ) # 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_forge.model import NovaModelCustomizer from amzn_nova_forge.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_forge.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_forge.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_forge.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,并自动管理以下内容:

  • 实例类型验证

  • 配方验证

  • 数据集验证

  • 作业编排与监控

该 SDK 还支持 SageMaker 训练作业无服务器模式和 Bedrock 自定义功能。

全面评测

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

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

  • BBH(高级推理任务)

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

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

  • BYOM(自定义指标)

  • BYOD(自定义数据集)

生产环境部署

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

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

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

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

批量推理

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

  • 并行处理数千个请求

  • 结果自动聚合

  • 高性价比批量处理

Nova Forge

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

了解更多

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