Nova Customization SDK - Amazon SageMaker AI

Nova Customization SDK

The Nova Customization SDK is a comprehensive Python SDK for customizing Amazon Nova models. The SDK provides a unified interface for training, evaluation, monitoring, deployment, and inference of Amazon Nova models across different platforms including SageMaker AI and Amazon Bedrock. Whether you're adapting models to domain-specific tasks or optimizing performance for your use case, this SDK provides everything you need in one unified interface.

Benefits

  • Unified experience

    One SDK for the entire model customization lifecycle—from data preparation to deployment and monitoring.

  • Flexible training options

    Support for multiple training methods including supervised fine-tuning (SFT) and reinforcement fine-tuning (RFT), with both LoRA and full-rank approaches.

  • Enterprise-ready infrastructure

    Built-in support for SageMaker AI Training Jobs and SageMaker HyperPod, with automatic resource management.

  • On-the-fly recipe creation

    No more finding the right recipes or container URI for your training techniques.

  • Custom recipe support

    Bring your own training recipes or use the SDK's intelligent defaults with parameter overrides.

  • Automatic validation

    The SDK validates your configuration against supported model and instance combinations, preventing errors before training starts.

  • Complete observability

    Integrated Amazon CloudWatch monitoring enables you to track training progress in real-time.

Requirements

The SDK requires at least Python 3.12.

Installation

To install this SDK, please follow below command.

pip install amzn-nova-customization-sdk

Supported Models and Techniques

The SDK supports the following models and techniques within the Amazon Nova family:

Method Supported Models
Supervised Fine-tuning LoRA All Nova Models
Supervised Fine-tuning Full-Rank All Nova Models
Reinforcement Fine-tuning LoRA Nova Lite 2.0
Reinforcement Fine-tuning Full-Rank Nova Lite 2.0

Getting Started

1. Prepare Your Data

Load your dataset from local files or S3, and let the SDK handle the transformation to the correct format for your chosen training method. Or, provide formatted data and get started immediately.

from amzn_nova_customization_sdk.dataset 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. Configure Your Infrastructure

Choose your compute resources—the SDK validates configurations and ensures optimal setup.

from amzn_nova_customization_sdk.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. Train

Start training with just a few lines of code.

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. Monitor

Track your training progress directly from the 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. Evaluate

Evaluate model performance with a variety of built-in benchmarks, or design your own evaluations.

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. Deploy

Deploy your customized model to production with built-in support for Amazon Bedrock.

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, pt_units=10 ) # Bedrock On-Demand deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD, pt_units=10 )

Key Capabilities

On The Fly Recipe Creation

The SDK eliminates the need to search for the appropriate recipes or container URI for specific techniques.

Intelligent Data Processing

The SDK automatically transforms your data into the correct format for training. Whether you're working with JSON, JSONL, or CSV files, the data loader handles the conversion seamlessly. Data Loader supports text as well as multimodal data (images and videos).

Enterprise Infrastructure Support

The SDK works with both SageMaker Training Jobs and SageMaker HyperPod, automatically managing:

  • Instance type validation

  • Recipe validation

  • Job orchestration and monitoring

Comprehensive evaluation

Evaluate your customized models against standard benchmarks including:

  • MMLU (Massive Multitask Language Understanding)

  • BBH (Advanced Reasoning Tasks)

  • GPQA (Graduate-Level Google-Proof Q&A)

Either use the benchmark defaults, or modify them to fit your needs:

  • BYOM (Bring Your Own Metric)

  • BYOD (Bring Your Own Dataset)

Production Deployment

Deploy your models to Amazon Bedrock with options for:

  • Provisioned Throughput - Dedicated capacity for consistent performance

  • On-Demand - Pay-per-use pricing

Batch Inference

Run large-scale inference jobs efficiently:

  • Process thousands of requests in parallel

  • Automatic result aggregation

  • Cost-effective batch processing

Learn More

Ready to start customizing Nova models with the Nova Customization SDK? Check out our GitHub repository for detailed guides, API references, and additional examples: https://github.com/aws-samples/sample-nova-customization-sdk/