View a markdown version of this page

SDK Nova Forge - Amazon Nova

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

SDK Nova Forge

Nova Forge SDK è un SDK Python completo per personalizzare i modelli Amazon Nova. L'SDK fornisce un'interfaccia unificata per la formazione, la valutazione, il monitoraggio, l'implementazione e l'inferenza dei modelli Amazon Nova su diverse piattaforme, tra cui AI SageMaker e Amazon Bedrock. Che tu stia adattando i modelli ad attività specifiche del dominio o ottimizzando le prestazioni per il tuo caso d'uso, questo SDK offre tutto ciò di cui hai bisogno in un'unica interfaccia unificata.

Vantaggi

  • Un SDK per l'intero ciclo di vita della personalizzazione del modello, dalla preparazione dei dati all'implementazione e al monitoraggio.

  • Supporta diversi metodi di formazione, tra cui il pre-training continuo (CPT), la messa a punto supervisionata (SFT), l'ottimizzazione delle preferenze dirette (DPO) e la regolazione fine del rinforzo (RFT), sia a turno singolo che a turno multiplo, con approcci LoRa e full-rank.

  • Supporto integrato per SageMaker Training Jobs e Amazon Bedrock, con gestione automatica delle risorse. SageMaker HyperPod

  • Non è più necessario cercare le ricette o l'URI del contenitore giusti per le tue tecniche di allenamento.

  • Crea le tue ricette di formazione o utilizza le impostazioni predefinite intelligenti dell'SDK con le sostituzioni dei parametri.

  • L'SDK convalida la configurazione rispetto alle combinazioni di modelli e istanze supportate e fornisce supporto per la convalida, prevenendo gli errori prima dell'inizio della formazione.

  • CloudWatch Il monitoraggio integrato di Amazon ti consente di monitorare i progressi della formazione in tempo reale.

  • Integrato MLFlow per tenere traccia degli esperimenti di formazione con server di MLFlow tracciamento SageMaker AI.

Requisiti

Versioni Python supportate

Nova Forge SDK è testato su:

  • Python 3.12

Installazione

Per installare questo SDK, segui il comando seguente.

pip install amzn-nova-forge

Modelli e tecniche supportati

L'SDK supporta i seguenti modelli e tecniche all'interno della famiglia Amazon Nova:

Metodo Modelli supportati
Formazione preliminare continua Tutti i modelli Nova (solo SMHP)
Ottimizzazione di LoRa supervisionata Tutti i modelli Nova
Fine tuning supervisionato Full Rank Tutti i modelli Nova (solo SMHP e SMTJ)
Ottimizzazione diretta delle preferenze LoRa Modelli Nova 1.0 (solo SMHP e SMTJ)
Ottimizzazione diretta delle preferenze complete Modelli Nova 1.0 (solo SMHP e SMTJ)
Rinforzo: ottimizzazione di LoRa Nova Lite 2.0
Ottimizzazione dei rinforzi Full Rank Nova Lite 2.0 (solo SMHP e SMTJ)
Rinforzo multigiro: ottimizzazione LoRa Nova Lite 2.0 (solo SMHP)
Rinforzo multigiro perfezionato Full Rank Nova Lite 2.0 (solo SMHP)

Nozioni di base

1. Prepara i tuoi dati

Carica il tuo set di dati da file locali o da S3 e lascia che sia l'SDK a gestire la trasformazione nel formato corretto per il metodo di allenamento scelto. Oppure, fornisci dati formattati e inizia subito.

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, column_mappings={"question": "input", "answer": "output"}, )

2. Configura la tua infrastruttura

Scegli le tue risorse di elaborazione: l'SDK convalida le configurazioni e garantisce una configurazione ottimale.

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

Inizia l'allenamento con poche righe di codice.

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

Tieni traccia dei tuoi progressi di allenamento direttamente dall'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. Valuta

Valuta le prestazioni del modello con una varietà di benchmark integrati o progetta valutazioni personalizzate.

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

Implementa il tuo modello personalizzato in produzione con il supporto integrato per Amazon Bedrock o. 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", } )

Funzionalità chiave

Creazione immediata di ricette

L'SDK elimina la necessità di cercare le ricette o l'URI del contenitore appropriati per tecniche specifiche.

Elaborazione intelligente dei dati

L'SDK trasforma automaticamente i dati nel formato corretto per la formazione. Che tu stia lavorando con file JSON, JSONL o CSV, il data loader gestisce la conversione senza problemi. Data Loader supporta testo e dati multimodali (immagini e video).

Supporto per l'infrastruttura aziendale

L'SDK funziona sia con SageMaker Training Jobs che con la SageMaker HyperPod gestione automatica di:

  • Convalida del tipo di istanza

  • Convalida della ricetta

  • Convalida di set di dati

  • Job orchestrazione e monitoraggio

L'SDK supporta anche la personalizzazione serverless di SageMaker Training Jobs e Bedrock.

Valutazione completa

Valuta i tuoi modelli personalizzati rispetto a benchmark standard, tra cui:

  • MMLU (Massive Multitask Language Understanding)

  • BBH (Attività di ragionamento avanzato)

  • GPQA (domande e risposte a prova di Google per laureati)

Utilizzate le impostazioni predefinite del benchmark o modificatele in base alle vostre esigenze:

  • BYOM (Bring Your Own Metric)

  • BYOD (Bring Your Own Dataset)

Distribuzione in produzione

Distribuisci i tuoi modelli su Amazon Bedrock o SageMaker con opzioni per:

  • Bedrock Provisioned Throughput: capacità dedicata per prestazioni costanti

  • Bedrock On-Demand (applicabile solo alla personalizzazione basata su LoRa) - prezzi Pay-per-use

  • Sagemaker Real-time Inference: capacità dedicata per prestazioni costanti

Inferenza in batch

Esegui lavori di inferenza su larga scala in modo efficiente:

  • Elabora migliaia di richieste in parallelo

  • Aggregazione automatica dei risultati

  • Elaborazione in batch conveniente

Nova Forge

Per gli abbonati a Nova Forge, l'SDK supporta ricette per la miscelazione dei dati.

Ulteriori informazioni

Sei pronto per iniziare a personalizzare i modelli Nova con Nova Forge SDK? Consulta il nostro GitHub repository per guide dettagliate, riferimenti API ed esempi aggiuntivi: https://github.com/aws/nova-forge-sdk