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à.
Messa a punto supervisionata (SFT) su Nova 2.0 attiva SageMaker HyperPod
Amazon Nova Lite 2.0 offre funzionalità avanzate per la messa a punto supervisionata, tra cui la modalità di ragionamento avanzata, una migliore comprensione multimodale e una gestione estesa del contesto. SFT su Nova Lite 2.0 ti consente di adattare queste potenti funzionalità ai tuoi casi d'uso specifici, mantenendo le prestazioni superiori del modello in attività complesse.
Le caratteristiche principali di SFT su Nova Lite 2.0 sono riassunte in. Funzionalità supportate
Per determinare se SFT è adatto al tuo caso d'uso, consulta. Fine-tuning supervisionato (SFT)
Argomenti
Di seguito è riportato un esempio di ricetta per SFT. Puoi trovare questa ricetta e altre nell'archivio delle
run: name: my-full-rank-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl # SageMaker HyperPod only and not compatible with SageMaker Training Jobs replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16, 32 output_s3_path: s3://my-bucket-name/outputs/ # Output artifact path (HyperPod job-specific; not compatible with standard SageMaker Training Jobs) mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-full-rank-sft-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-full-rank-sft-run" # Optional for MLFlow. Note: leave this field non-empty training_config: max_steps: 100 # Maximum training steps. Minimal is 4. save_steps: ${oc.select:training_config.max_steps} # How many training steps the checkpoint will be saved save_top_k: 5 # Keep top K best checkpoints. Note supported only for SageMaker HyperPod jobs. Minimal is 1. max_length: 32768 # Sequence length (options: 8192, 16384, 32768 [default], 65536) global_batch_size: 32 # Global batch size (options: 32, 64, 128) reasoning_enabled: true # If data has reasoningContent, set to true; otherwise False lr_scheduler: warmup_steps: 15 # Learning rate warmup steps. Recommend 15% of max_steps min_lr: 1e-6 # Minimum learning rate, must be between 0.0 and 1.0 optim_config: # Optimizer settings lr: 1e-5 # Learning rate, must be between 0.0 and 1.0 weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Exponential decay rate for first-moment estimates adam_beta2: 0.95 # Exponential decay rate for second-moment estimates peft: # Parameter-efficient fine-tuning (LoRA) peft_scheme: "null" # Disable LoRA for PEFT
Selezione della modalità di ragionamento (solo Nova 2.0)
Amazon Nova 2.0 supporta la modalità di ragionamento per funzionalità analitiche avanzate:
-
Modalità di ragionamento (abilitata):
-
Impostato
reasoning_enabled: truenella configurazione dell'allenamento -
Modella i treni per generare tracce di ragionamento prima delle risposte finali
-
Migliora le prestazioni in attività di ragionamento complesse
-
-
Non-Reasoning Modalità (disattivata):
-
Imposta
reasoning_enabled: falseo ometti il parametro (impostazione predefinita) -
SFT standard senza ragionamento esplicito
-
Adatto per attività che non traggono beneficio dal ragionamento dettagliato
-
Nota
-
Quando il ragionamento è abilitato, opera con uno sforzo di ragionamento elevato. Non esiste un'opzione di ragionamento basso per SFT.
-
I contenuti di ragionamento multimodale non sono supportati per SFT. La modalità di ragionamento si applica agli input di solo testo.
È consentito addestrare Amazon Nova su un set di dati non razionale con. reasoning_enabled:
true Tuttavia, ciò potrebbe far perdere al modello le sue capacità di ragionamento, poiché Amazon Nova impara principalmente a generare le risposte presentate nei dati senza applicare il ragionamento.
Se si sta addestrando Amazon Nova su un set di dati non razionale ma si desidera comunque utilizzare il ragionamento durante l'inferenza:
-
Disabilita il ragionamento durante l'allenamento ()
reasoning_enabled: false -
Abilita il ragionamento in un secondo momento durante l'inferenza
Sebbene questo approccio consenta il ragionamento al momento dell'inferenza, non garantisce prestazioni migliori rispetto all'inferenza senza ragionamento.
Procedura consigliata: abilitare il ragionamento sia per l'addestramento che per l'inferenza quando si utilizzano set di dati di ragionamento e disabilitarlo per entrambi quando si utilizzano set di dati non di ragionamento.
Nota
Per ulteriori informazioni sulle immagini dei contenitori e sulle ricette di esempio, consulta le ricette di Amazon Nova. Ricette Amazon Nova
Avvio di un lavoro di messa a punto su SageMaker HyperPod
Preparazione dei dati
Per informazioni sul formato dei dati, sulle funzionalità supportate, sui vincoli e sulle best practice per la preparazione dei dati di formazione SFT, vedere. Preparazione dei dati per SFT su Amazon Nova 2
Caricamento dei dati
Carica i set di dati di formazione 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"
Nota
Sostituisci <bucket-name><training-directory>, <validation-directory><training-file>, e <validation-file> con i percorsi S3 effettivi.
Nota
I set di dati di convalida non sono attualmente supportati per SFT con Amazon Nova 2.0. Se viene fornito un set di dati di convalida, verrà ignorato.
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 SFT
I parametri disponibili per l'ottimizzazione con SFT 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 sono
nova-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_steps: il numero di fasi di allenamento da eseguire. Ogni fase addestrerà il modello con un
global_batch_sizenumero di elementi. -
save_steps: La frequenza (in passaggi) con cui salvare i checkpoint del modello durante l'addestramento.
-
save_top_k: il numero massimo di checkpoint migliori da conservare in base alle metriche di convalida.
-
max_length: la lunghezza massima della sequenza in token. Determina la dimensione della finestra di contesto per l’addestramento. Il valore massimo supportato è 32768 token per SFT.
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.
-
reasoning_enabled: flag booleano per abilitare le capacità di ragionamento durante l'allenamento.
Pianificatore del tasso di apprendimento
-
warmup_steps: il numero di passaggi per aumentare gradualmente il tasso di apprendimento. Migliora la stabilità dell’addestramento.
-
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.
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.
-
weight_decay: la forza di regolarizzazione L2. Valori maggiori (compresi tra 0,01 e 0,1) aumentano la regolarizzazione.
-
adam_beta1: Il tasso di decadimento esponenziale per il primo momento è stato stimato in Adam Optimizer. L'impostazione predefinita è 0,9.
-
adam_beta2: il tasso di decadimento esponenziale per il secondo momento è stimato in Adam Optimizer. L'impostazione predefinita è 0,95.
Configurazione PEFT
-
peft_scheme: lo schema di regolazione fine efficiente in termini di parametri da utilizzare. Le opzioni sono per la messa a punto completa o per la messa a punto.
'null'loraLoRA-based
Ottimizzazione LoRa (quando peft_scheme è 'lora')
-
alpha: Il parametro di ridimensionamento LoRa. Controlla l'entità dell'adattamento di basso rango. I valori tipici vanno da 8 a 128.
-
lora_plus_lr_ratio: il rapporto del tasso di apprendimento per l'ottimizzazione di LoRA+. Questo moltiplicatore regola il tasso di apprendimento in modo specifico per i parametri LoRa.
Guida agli iperparametri
Utilizza i seguenti iperparametri consigliati in base all'approccio formativo:
Allenamento a livello completo
-
Epoche: 1
-
Tasso di apprendimento (lr): 1e-5
-
Tasso minimo di apprendimento (min_lr): 1e-6
Low-Rank LoRa (adattamento)
-
Epoche: 2
-
Tasso di apprendimento (lr): 5e-5
-
Tasso minimo di apprendimento (min_lr): 1e-6
Nota
Modifica questi valori in base alle dimensioni del set di dati e alle prestazioni di convalida. Monitora le metriche di formazione per evitare un sovradattamento.