View a markdown version of this page

Nova Forge SDK - Amazon Nova

Nova Forge SDK

O Nova Forge SDK é um SDK de Python abrangente para personalizar modelos do Amazon Nova. O SDK oferece uma interface unificada para treinamento, avaliação, monitoramento, implantação e inferência de modelos Amazon Nova em diferentes plataformas, incluindo o SageMaker AI e o Amazon Bedrock. Se você está adaptando modelos para tarefas específicas do domínio ou otimizando a performance para seu caso de uso, esse SDK fornece tudo o que você precisa em uma interface unificada.

Siga estas etapas da instalação até a primeira tarefa de treinamento:

Benefícios

  • Um SDK para todo o ciclo de vida da personalização do modelo, desde a preparação dos dados até a implantação e o monitoramento.

  • Suporte para vários métodos de treinamento, incluindo pré-treinamento contínuo (CPT), ajuste fino supervisionado (SFT), otimização de preferência direta (DPO) e ajuste fino por reforço (RFT), tanto de turno único quanto de vários turnos, com abordagens LoRA e full-rank.

  • Suporte integrado para tarefas de treinamento do SageMaker, SageMaker HyperPod e Amazon Bedrock com gerenciamento automático de recursos.

  • Não é mais necessário encontrar o URI de contêiner ou as fórmulas corretas para suas técnicas de treinamento.

  • Traga suas próprias fórmulas de treinamento ou use os padrões inteligentes do SDK com substituições de parâmetros.

  • O SDK valida sua configuração em relação às combinações de modelos e instâncias compatíveis e fornece suporte à validação, evitando erros antes do início do treinamento.

  • O monitoramento integrado do Amazon CloudWatch permite que você acompanhe o progresso do treinamento em tempo real.

  • MLflow integrado para acompanhar experimentos de treinamento com os servidores de rastreamento MLflow do SageMaker AI.

Requisitos

Versões compatíveis do Python

O Nova Forge SDK é testado em:

  • Python 3.12

Instalação

Para instalar esse SDK, siga o comando abaixo.

pip install amzn-nova-forge

Modelos e técnicas compatíveis

O SDK é compatível com os seguintes modelos e técnicas dentro da família do Amazon Nova:

Método Modelos compatíveis
Pré-treinamento contínuo Todos os modelos Nova (somente SMHP)
Ajuste fino supervisionado LoRA Todos os modelos Nova
Ajuste fino supervisionado full-rank Todos os modelos do Nova (somente SMHP e SMTJ)
Otimização direta de preferências LoRA Modelos do Nova 1.0 (somente SMHP e SMTJ)
Otimização direta de preferências full-rank Modelos do Nova 1.0 (somente SMHP e SMTJ)
Ajuste fino por reforço LoRA Nova Lite 2.0
Ajuste fino por reforço full-rank Nova Lite 2.0 (somente SMHP e SMTJ)
Ajuste fino por reforço de várias turnos LoRA Nova Lite 2.0
Ajuste fino por reforço de vários turnos full-rank Nova Lite 2.0

Resultado de aprendizado por reforço de várias turnos

Um Restricted Model Package (RMP) é um pacote de modelos do SageMaker AI que agrupa artefatos de modelos proprietários em armazenamento de depósito gerenciado pela plataforma. Os RMPs permitem que você autorize e controle o uso desses modelos por meio de políticas do IAM sem conceder acesso direto aos artefatos subjacentes. Os dados do modelo não podem ser baixados, exportados ou visualizados diretamente. Eles só podem ser usados em serviços autorizados da AWS. Os RMPs existem nos Model Package Groups marcados com StorageType: "Restricted".

Quando você treina um modelo usando o aprendizado por reforço de vários turnos (MTRL) no SageMaker Training Jobs Serverless, o resultado é entregue como um RMP ARN dentro de um Model Package Group, em vez de um caminho do S3. Isso difere de outros métodos de treinamento (como SFT, DPO ou RFT) em que a saída é um caminho do S3 até o ponto de verificação do modelo.

Para usar o MTRL, especifique o model_package_group_name na configuração de runtime para receber o resultado do treinamento. Depois que o trabalho for concluído, você poderá referenciar o ARN do RMP de saída para avaliar o modelo treinado. O uso de um RMP como entrada para uma tarefa de treinamento subsequente, por exemplo, para encadear execuções de MTRL em um fluxo de trabalho de treinamento iterativo, está planejado para o 3º trimestre de 2026. Para obter mais informações e exemplos de código, consulte Restricted Model Packages.

Conceitos básicos

1. Preparar seus dados

Carregue seu conjunto de dados de arquivos locais ou do S3 e deixe que o SDK faça a transformação para o formato correto para o método de treinamento escolhido. Ou forneça dados formatados e comece imediatamente.

from amzn_nova_forge.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_forge.model.model_enums import Model, TrainingMethod, TransformMethod loader = JSONLDatasetLoader() loader.load("s3://your-bucket/training-data.jsonl") loader.transform( method=TransformMethod.SCHEMA, training_method=TrainingMethod.SFT_LORA, model=Model.NOVA_LITE_2, column_mappings={"question": "input", "answer": "output"}, )

2. Configurar sua infraestrutura

Escolha seus recursos de computação. O SDK valida as configurações e garante a configuração ideal.

from amzn_nova_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMTJServerlessRuntimeManager, 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 Training Jobs Serverless runtime = SMTJServerlessRuntimeManager( model_package_group_name = "my-package" ) # SageMaker HyperPod runtime = SMHPRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4, cluster_name="my-hyperpod-cluster", namespace="kubeflow" )

3. Treinamento

Comece a treinar com apenas algumas linhas de código.

from amzn_nova_forge.trainer.forge_trainer import ForgeTrainer from amzn_nova_forge.model.model_enums import Model, TrainingMethod from amzn_nova_forge.core import ForgeConfig trainer = ForgeTrainer( model=Model.NOVA_LITE_2, method=TrainingMethod.SFT_LORA, infra=runtime, training_data_s3_path="s3://your-bucket/sft/prepared-data.jsonl", # Training data path config=ForgeConfig( output_s3_path="s3://your-bucket/output", ), ) result = trainer.train(job_name="my-training-job")

4. Monitor

Acompanhe seu progresso no treinamento diretamente no SDK.

from amzn_nova_forge.monitor.log_monitor import CloudWatchLogMonitor # Monitor training logs trainer.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. Avaliar

Avalie a performance do modelo com uma variedade de avaliações comparativas integradas, ou crie suas próprias avaliações.

from amzn_nova_forge.evaluator import ForgeEvaluator from amzn_nova_forge.recipe_config.eval_config import EvaluationTask evaluator = ForgeEvaluator( model=Model.NOVA_LITE_2, infra=runtime, config=ForgeConfig( output_s3_path="s3://your-bucket/output", ), data_s3_path="s3://your-bucket/eval-data/data.jsonl" ) # Evaluate on benchmark tasks eval_result = evaluator.evaluate( job_name="model-eval", eval_task=EvaluationTask.MMLU, model_path=result.model_artifacts.checkpoint_s3_path )

6. Implantar

Implante seu modelo personalizado para produção com suporte integrado para o Amazon Bedrock ou o SageMaker.

from amzn_nova_forge.deployer import ForgeDeployer from amzn_nova_forge.model.model_enums import DeployPlatform, Model deployer = ForgeDeployer( region="us-east-1", model=Model.NOVA_LITE_2, ) # Bedrock provisioned throughput deployment = deployer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_PT, unit_count=10 ) # Bedrock On-Demand deployment = deployer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD ) # Sagemaker Real-time Inference deployment = deployer.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", } )

Principais recursos

Criação de fórmulas em tempo real

O SDK elimina a necessidade de pesquisar as fórmulas apropriadas ou o URI de contêiner para técnicas específicas.

Processamento inteligente de dados

O SDK transforma automaticamente seus dados no formato correto para treinamento. Se você estiver trabalhando com arquivos JSON, JSONL ou CSV, o carregador de dados processará a conversão sem problemas. O carregador de dados é compatível com texto e dados multimodais (imagens e vídeos).

Suporte à infraestrutura de empresas

O SDK funciona tanto com tarefas de treinamento do SageMaker quanto com o SageMaker HyperPod, gerenciando automaticamente:

  • Validação do tipo de instância

  • Validação da fórmula

  • Validação do conjunto de dados

  • Monitoramento e orquestração de tarefas

O SDK também é compatível com a personalização de tarefas de treinamento do SageMaker sem servidor e do Bedrock.

Avaliação abrangente

Avalie seus modelos personalizados em relação às avaliações comparativas padrão, incluindo:

  • MMLU (Massive Multitask Language Understanding)

  • BBH (Advanced Reasoning Tasks)

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

Use os padrões de avaliação comparativa ou modifique-os para atender às suas necessidades:

  • BYOM (traga sua própria métrica)

  • BYOD (traga seu próprio conjunto de dados)

Implantação na produção

Implante seus modelos no Amazon Bedrock ou no SageMaker AI om opções para:

  • Throughput provisionado do Bedrock: capacidade dedicada para performance consistente

  • Bedrock sob demanda (aplicável apenas à personalização baseada em LoRA): preço conforme o uso

  • Inferência em tempo real do SageMaker AI: capacidade dedicada para performance consistente

Inferência em lote

Execute tarefas de inferência em grande escala com eficiência:

  • Processe milhares de solicitações em paralelo

  • Agregação automática de resultados

  • Processamento em lote de baixo custo

Nova Forge

Para assinantes do Nova Forge, o SDK é compatível com fórmulas de combinação de dados.

Saiba mais

Tudo pronto para começar a personalizar os modelos do Nova com o Nova Forge SDK? Confira nosso repositório do GitHub para obter guias detalhados, referências de APIs e exemplos adicionais: https://github.com/aws/nova-forge-sdk