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
Argomenti
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