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.
Links rápidos
Siga estas etapas da instalação até a primeira tarefa de treinamento:
-
Referência do SDK
: documentação e especificação de uso -
Notebook de início rápido
notebook Python interativo para exploração na prática
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
Tópicos
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