View a markdown version of this page

Pre-formazione continua (CPT) su Nova 2.0 su SageMaker HyperPod - 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à.

Pre-formazione continua (CPT) su Nova 2.0 su SageMaker HyperPod

Amazon Nova Lite 2.0 è un modello di ragionamento basato su set di dati più ampi e diversificati rispetto a Nova Lite 1.0. Nonostante sia un modello più grande, Nova Lite 2.0 offre un'inferenza più veloce rispetto a Nova Lite 1.0 offrendo al contempo capacità di ragionamento avanzate, lunghezze di contesto più lunghe e prestazioni multilingue migliorate.

Con CPT su Nova 2.0 Lite, puoi estendere queste funzionalità avanzate con i tuoi dati specifici del dominio e sviluppare competenze approfondite in aree specializzate, mantenendo al contempo le superiori capacità di ragionamento e analisi del modello.

Di seguito è riportato un esempio di ricetta per il CPT. Puoi trovare questa ricetta e altre nell'archivio delle SageMaker HyperPod ricette su. GitHub

# Note: # This recipe can run on p5.48xlarge # Run config run: name: "my-cpt-run" # A descriptive name for your training job model_type: "amazon.nova-2-lite-v1:0:256k" # Model variant specification, do not change model_name_or_path: "nova-lite-2/prod" # Base model path, do not change replicas: 8 # Number of compute instances for training, allowed values are 4, 8, 16, 32 data_s3_path: "" # Customer data paths validation_data_s3_path: "" # Customer validation data paths output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training Jobs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-cpt-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-cpt-run" # Optional for MLFlow. Note: leave this field non-empty ## Training specific configs training_config: task_type: cpt max_length: 8192 # Maximum context window size (tokens) global_batch_size: 256 # Global batch size, allowed values are 32, 64, 128, 256. trainer: max_steps: 10 # The number of training steps to run total val_check_interval: 10 # The number of steps between running validation. Integer count or float percentage limit_val_batches: 2 # Batches of the validation set to use each trigger model: hidden_dropout: 0.0 # Dropout for hidden states, must be between 0.0 and 1.0 attention_dropout: 0.0 # Dropout for attention weights, must be between 0.0 and 1.0 optim: optimizer: adam lr: 1e-5 # Learning rate name: distributed_fused_adam # Optimizer algorithm, do not change adam_w_mode: true # Enable AdamW mode eps: 1e-06 # Epsilon for numerical stability weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Beta1 for Adam optimizer adam_beta2: 0.95 # Beta2 for Adam optimizer sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate, must be lower than lr

Avvio di un lavoro di pre-formazione continua su SageMaker HyperPod

Preparazione dei dati

Per informazioni sul formato dei dati, sulle funzionalità supportate, sui vincoli e sulle migliori pratiche per la preparazione dei dati di formazione CPT, vedere. Preparazione dei dati per il CPT su Amazon Nova 2

Caricamento dei dati

Carica i set di dati di addestramento e convalida in un bucket S3. Specifica queste posizioni nel blocco della ricetta: run

## Run config run: ... data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl" validation_data_s3_path: "s3://<bucket-name>/<validation-directory>/<validation-file>.jsonl"
Nota

Sostituisci <bucket-name><training-directory>, <validation-directory><training-file>, e <validation-file> con i percorsi S3 effettivi.

Definizione della configurazione

Definisci il modello base utilizzando i model_name_or_path campi model_type e nel run blocco:

## Run config run: ... model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod ...

Parametri di ottimizzazione CPT

I parametri disponibili per la regolazione fine con CPT includono:

Configurazione run

  • nome: un nome descrittivo per il tuo lavoro di formazione. Questo aiuta a identificare il lavoro nella console di AWS gestione.

  • model_type: la variante del modello Amazon Nova da utilizzare. Le opzioni disponibili sono. amazon.nova-2-lite-v1:0:256k

  • model_name_or_path: il percorso del modello base da utilizzare per l'allenamento. Le opzioni disponibili sononova-lite-2/prod, o il percorso S3 per il checkpoint post-allenamento (). s3://customer-escrow-bucket-unique_id/training_run_name

  • repliche: il numero di istanze di calcolo da utilizzare per l'addestramento distribuito. I valori disponibili variano in base al modello scelto. Amazon Nova Lite 2.0 supporta 4, 8, 16 o 32 repliche.

  • data_s3_path: la posizione S3 del set di dati di training, che è un file JSONL. Questo file deve risiedere nello stesso account e nella stessa regione del cluster. AWS Tutte le posizioni S3 fornite devono trovarsi nello stesso account e nella stessa Regione.

  • validation_data_s3_path: (Facoltativo) La posizione S3 del set di dati di convalida, che è un file JSONL. Questo file deve trovarsi nello stesso account e nella stessa Regione del cluster. Tutte le posizioni S3 fornite devono trovarsi nello stesso account e nella stessa Regione.

  • output_s3_path: la posizione S3 in cui sono archiviati il manifest e i log. TensorBoard Tutte le sedi S3 fornite devono trovarsi nello stesso account e nella stessa regione. AWS AWS

  • mlflow_tracking_uri: l'ARN dell'app MLFlow da utilizzare per la registrazione MLFlow

  • mlflow_experiment_name: nome dell'esperimento MLFlow

  • mlflow_run_name: nome dell'esecuzione MLFlow

Configurazione di addestramento

  • max_length: la lunghezza massima della sequenza in token. Determina la dimensione della finestra di contesto per l’addestramento. Il valore massimo supportato è di 8.192 token per CPT.

    Sequenze più lunghe migliorano l’efficienza di addestramento a scapito di maggiori requisiti di memoria. Ti consigliamo di abbinare il parametro max_length alla tua distribuzione dei dati.

  • global_batch_size: il numero totale di campioni di formazione elaborati insieme in un unico passaggio avanti o indietro su tutti i dispositivi e i lavoratori.

    Questo valore moltiplica la dimensione del batch per dispositivo e il numero di dispositivi. Influisce sulla stabilità dell’addestramento e sul throughput. È consigliabile iniziare con un batch di dimensioni idonee per la memoria e quindi aumentare verticalmente. Per i dati specifici del dominio, batch di dimensioni maggiori potrebbero rendere i gradienti eccessivamente uniformi.

Impostazioni di addestramento

  • max_steps: il numero di fasi di allenamento da eseguire. Ogni fase addestrerà il modello con un global_batch_size numero di elementi

Impostazioni del modello

  • hidden_dropout: La probabilità di eliminare gli output di stato nascosti. Aumenta questo valore di circa 0,0-0,2 per ridurre l’overfitting su set di dati più piccoli. I valori validi sono compresi tra 0 e 1, entrambi inclusi.

  • attention_dropout: La probabilità di far cadere i pesi di attenzione. Questo parametro può agevolare la generalizzazione. I valori validi sono compresi tra 0 e 1, entrambi inclusi.

Configurazione optimizer

  • lr: Il tasso di apprendimento, che controlla la dimensione del passo durante l'ottimizzazione. Sono consigliabili valori compresi tra 1e-6 e 1e-4 per ottenere buone prestazioni. I valori validi sono compresi tra 0 e 1, entrambi inclusi.

  • nome: L'algoritmo dell'ottimizzatore. Attualmente è supportato solo distributed_fused_adam.

  • weight_decay: La forza di regolarizzazione L2. Valori maggiori (compresi tra 0,01 e 0,1) aumentano la regolarizzazione.

  • warmup_steps: il numero di passaggi per aumentare gradualmente il tasso di apprendimento. Migliora la stabilità dell’addestramento. I valori validi sono compresi tra 1 e 20, entrambi inclusi.

  • min_lr: il tasso di apprendimento minimo alla fine del decadimento. I valori validi sono compresi tra 0 e 1, entrambi inclusi, ma devono essere inferiori al tasso di apprendimento.