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

L'SDK richiede almeno 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
Ottimizzazione completa supervisionata 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 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, perfezionamento completo 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 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. 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 di data mixaggio.

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