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à.
Formazione iterativa
Panoramica di
L'allenamento iterativo è il processo di messa a punto ripetutamente di un modello attraverso più cicli di allenamento utilizzando diversi metodi di allenamento (formazione, valutazione, analisi degli errori, aggiustamentodata/objectives/hyperparameters), con ogni round a partire dal checkpoint precedente. Questo approccio consente di individuare in modo sistematico le modalità di errore del modello, incorporare esempi curati che affrontano punti deboli specifici e adattarsi ai cambiamenti dei requisiti nel tempo.
Vantaggi rispetto alla formazione con un solo passaggio:
-
Miglioramento mirato: affronta i modelli di fallimento specifici scoperti attraverso la valutazione
-
Perfezionamento adattivo: rispondi ai cambiamenti di distribuzione o ai requisiti di prodotto in evoluzione
-
Mitigazione del rischio: convalida i miglioramenti in modo incrementale anziché impegnarsi in un unico lungo periodo di formazione
-
Efficienza dei dati: concentra gli sforzi di raccolta dei dati sulle aree in cui il modello ha prestazioni inferiori
-
Formazione curricolare: cicli di formazione multipli con dati di qualità sempre più elevata
Come funziona
Ubicazione e accesso al checkpoint
Al termine di ogni processo di formazione, viene generato un file manifesto nella posizione di output specificata dal output_path parametro nella configurazione di addestramento.
Per accedere al tuo checkpoint
-
Vai a quello specificato
output_pathin S3 -
Scarica ed estrai il
output.tar.gzfile -
Apri il
manifest.jsonfile all'interno -
Individua il
checkpoint_s3_bucketparametro, che contiene l'URI S3 del tuo modello addestrato
Esempio di struttura manifest.json
{ "checkpoint_s3_bucket": "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>/stepID", ... }
Comprendere i bucket di deposito a garanzia
Poiché i pesi di Amazon Nova sono proprietari, i checkpoint dei modelli addestrati vengono archiviati in bucket escrow S3 all'interno di account AWS gestiti anziché essere copiati nel tuo account. Questi secchi di deposito a garanzia:
-
Conservate in modo sicuro i pesi dei vostri modelli personalizzati
-
Può essere referenziato da altri AWS servizi (inferenza, valutazione e successivi lavori di formazione)
-
Sono accessibili solo al tuo AWS account tramite le autorizzazioni IAM
-
Addebita i costi di archiviazione standard di S3 nel tuo account (vedi Considerazioni sui costi)
Puoi utilizzare l'escrow bucket path come corso di allenamento successivo per continuare l'model_name_or_pathallenamento iterativo.
Utilizzo dei checkpoint per la formazione iterativa
Configura il tuo prossimo lavoro di formazione in modo da utilizzare il checkpoint precedente come modello base:
run: name: "my-iterative-training-job" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<previous-job-name>" data_s3_path: s3://<bucket>/<data-file>.jsonl replicas: 4
Quando utilizzare la formazione iterativa
Casi d'uso ideali
Usa la formazione iterativa quando hai:
-
Circuiti di feedback: capacità di raccogliere casi di fallimento reali e affrontarli sistematicamente
-
Ambienti dinamici: documentazione in evoluzione o argomenti di supporto che richiedono aggiornamenti APIs periodici del modello
-
Valutazione affidabile: benchmark e quadri di valutazione solidi (vedi esempi di seguito) per misurare i miglioramenti con sicurezza
-
Capacità operative di machine learning: risorse per gestire più cicli di formazione e controllo delle versioni
Esempi di solidi framework di valutazione
-
Suite di benchmark automatizzate con soglie pass/fail
-
Protocolli di valutazione umana con metriche di affidabilità tra valutatori
-
Scenari di test red-Team che coprono casi limite e input contraddittori
-
Infrastruttura di test A/B per misurare l'impatto sulla produzione
Schemi comuni
SFT → RFT Pipeline: Un modello iterativo usato di frequente prevede:
-
SFT first: insegna al modello come risolvere i problemi attraverso esempi dimostrativi
-
RFT second: ottimizza le prestazioni nell'ambito più ampio dei problemi utilizzando segnali di ricompensa
Questa sequenza è essenziale quando i modelli hanno inizialmente prestazioni scadenti: la RFT su modelli con precisione prossima allo zero non migliorerà le prestazioni senza prima stabilire le funzionalità di base per la risoluzione dei problemi tramite SFT.
Quando non utilizzare la formazione iterativa
Evita la formazione iterativa per:
-
Attività stabili e ben definite: dati stazionari con requisiti coerenti che consentono già prestazioni prossime al limite massimo
-
Problemi di classificazione semplici: attività limitate in cui è sufficiente una formazione in un solo passaggio
-
Limiti in termini di risorse: mancanza di funzionalità operative ML dedicate per gestire più cicli di formazione
-
Guadagni marginali: quando i costi generali non giustificano miglioramenti minimi delle prestazioni
Esempio di flusso di lavoro: SFT → RFT
Questo esempio dimostra un modello di addestramento iterativo comune per i modelli di ragionamento.
Fase 1: formazione iniziale SFT
Configura e avvia il tuo processo di formazione SFT con il tuo set di dati:
run: name: "initial-sft-training" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod" data_s3_path: s3://<bucket>/sft-training-data.jsonl validation_data_s3_path: s3://<bucket>/sft-validation-data.jsonl
Fondamento logico: SFT fornisce dimostrazioni aggiuntive che modellano gli output del modello nel formato e nella voce desiderati, stabilendo funzionalità di base.
Al termine dell'allenamento
-
Nota quanto
output_pathconfigurato nel tuo corso di formazione -
Effettua il download
output.tar.gzda quella posizione -
Estrai e localizza
manifest.json -
Copia il
checkpoint_s3_bucketvalore
Fase 2: formazione RFT sul checkpoint SFT
Crea un nuovo lavoro di formazione RFT utilizzando il checkpoint SFT:
run: name: "rft-on-sft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<initial-sft-training>" data_s3_path: s3://<bucket>/rft-training-data.jsonl reward_lambda_arn: <your-reward-function-arn>
Fondamento logico: la formazione RFT si basa sulle fondamenta SFT e consente al modello di sviluppare modelli di ragionamento più complessi ottimizzati dalla funzione di ricompensa.
Fase 3: valutazione e iterazione
Esegui la valutazione sul checkpoint RFT per valutare le prestazioni:
run: name: "evaluate-rft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<rft-on-sft-checkpoint>" data_s3_path: s3://<bucket>/evaluation-data.jsonl
Se le metriche target non sono soddisfatte, continua a iterare con dati o iperparametri modificati.
Importante
⚠️ Importante: la tecnica di allenamento (LoRa vs. Full Rank) deve rimanere coerente in tutte le iterazioni:
-
Se usi SFT con LoRa, devi usare RFT con LoRa
-
Se usi SFT con Full Rank, devi usare RFT con Full Rank
-
Non è possibile passare da LoRa a Full Rank a metà pipeline
Monitoraggio dei progressi tra le iterazioni
Puoi tenere traccia delle metriche tramite. MLFlow
Crea un'app MLflow
Utilizzo dell'interfaccia utente di Studio: se crei un lavoro di formazione tramite l'interfaccia utente di Studio, viene creata automaticamente MLflow un'app predefinita e selezionata per impostazione predefinita in Opzioni avanzate.
Utilizzo della CLI: se utilizzi la CLI, devi creare un' MLflow app e passarla come input alla richiesta API del lavoro di formazione.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Accedi all'app MLflow
Utilizzo della CLI: crea un URL predefinito per accedere all'interfaccia utente dell' MLflow app:
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Utilizzo dell'interfaccia utente di Studio: l'interfaccia utente di Studio mostra le metriche chiave archiviate MLflow e fornisce un collegamento all'interfaccia utente dell' MLflow app.
Metriche chiave da monitorare
Monitora queste metriche tra le iterazioni per valutare i miglioramenti e monitorare l'avanzamento del lavoro:
Per SFT
-
Curve di perdita in allenamento
-
Numero di campioni consumati e tempo di elaborazione dei campioni
-
Precisione delle prestazioni su set di test esauriti
-
Conformità del formato (ad esempio, velocità di output JSON valida)
-
Perplessità sui dati di valutazione specifici del dominio
Per RFT
-
Punteggi medi di ricompensa rispetto agli allenamenti
-
Distribuzione dei premi (percentuale di risposte ad alto rendimento)
-
Tendenze di convalida e ricompensa (attenzione all'overfitting)
-
Percentuali di successo specifiche delle attività (ad esempio, velocità di esecuzione del codice, precisione dei problemi matematici)
Ambito generale
-
Effettua il benchmark dei delta prestazionali tra le iterazioni
-
Punteggi di valutazione umana su campioni rappresentativi
-
Metriche di produzione (se implementate in modo iterativo)
Determinare quando fermarsi
Interrompi l'iterazione quando:
-
Livelli prestazionali: la formazione aggiuntiva non migliora più in modo significativo le metriche target
-
Il cambio di tecnica aiuta: se una tecnica si stabilizza, prova a cambiarla (ad esempio, SFT → RFT → SFT) per superare i limiti prestazionali
-
Metriche target raggiunte: i tuoi criteri di successo sono soddisfatti
-
Rilevata regressione: le nuove iterazioni riducono le prestazioni (vedi le procedure di rollback di seguito)
Per le procedure di valutazione dettagliate, consulta la sezione Valutazione.
Best practice
Inizia in piccolo e scala gradualmente
Inizia con set di dati minimi e singole epoche di formazione per convalidare il tuo approccio prima di espanderlo. Questo aumenta la fiducia e aiuta a identificare tempestivamente i problemi.
Stabilisci metriche di successo chiare
Definisci indicatori quantitativi e qualitativi prima di iniziare:
Esempi di metriche di successo per caso d'uso
-
Risposta alle domande: precisione esatta della corrispondenza, punteggio F1, valutazioni delle preferenze umane
-
Generazione di codice: frequenza di superamento del test unitario, successo della compilazione, tempo di esecuzione
-
Attività di ragionamento: precisione dei passaggi, correttezza della risposta finale, punteggi di ricompensa
-
Generazione di contenuti: punteggi di coerenza, precisione dei fatti, aderenza allo stile
Implementa la valutazione automat
Imposta pipeline di valutazione automatizzate per monitorare le prestazioni dopo ogni round, consentendo iterazioni rapide e confronti obiettivi.
Mantieni un controllo rigoroso delle versioni
Documento per ogni iterazione:
-
Versioni e modifiche del set di dati
-
Posizioni dei checkpoint dei modelli
-
Modifiche agli iperparametri
-
Metriche e delta delle prestazioni
-
Osservazioni qualitative
Ciò aumenta la conoscenza istituzionale e consente il debug.
Concentrati sulla qualità dei dati piuttosto che sulla quantità
Analizza i casi di fallimento dei round precedenti e aggiungi esempi mirati e di alta qualità anziché limitarti ad aumentare le dimensioni del set di dati.
Pianifica il budget di iterazione
Pianifica 3-5 iterazioni come intervallo tipico:
-
1-2 iterazioni: spesso sufficienti per semplici miglioramenti o rifiniture finali
-
3-5 iterazioni: adatto per attività complesse che richiedono più cicli di perfezionamento
-
Più di 5 iterazioni: può indicare una diminuzione dei rendimenti o la necessità di approcci diversi
Effettua la regolazione in base al budget di calcolo e ai tassi di miglioramento delle prestazioni.
Implementa funzionalità di rollback
Se un'iterazione introduce regressioni:
-
Identifica la regressione: confronta le metriche di valutazione tra i checkpoint
-
Torna al checkpoint precedente: utilizza il percorso S3 del checkpoint precedente come
model_name_or_path -
Modifica l'approccio all'allenamento: modifica i dati, gli iperparametri o la tecnica prima di riprovare
-
Documenta l'errore: registra ciò che ha causato la regressione per evitare che si ripeta
Esempio di rollback
run: name: "rollback-to-iteration-2" model_type: amazon.nova-2-lite-v1:0:256k # Use iteration 2 checkpoint instead of failed iteration 3 model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<iteration-2-job-name>"
Considerazioni sui costi
Archiviazione ai checkpoint
-
Ubicazione: ai checkpoint archiviati in secchi di deposito a garanzia vengono addebitati i costi di archiviazione S3 standard addebitati sul tuo account AWS
-
Conservazione: i checkpoint vengono conservati a tempo indeterminato, a meno che non vengano eliminati esplicitamente
-
Gestione: implementa politiche relative al ciclo di vita per archiviare o eliminare i vecchi checkpoint che non ti servono più
Suggerimenti per l'ottimizzazione dei costi
-
Elimina i checkpoint intermedi dopo aver convalidato le iterazioni più recenti
-
Archivia i checkpoint su S3 Glacier per conservarli a lungo termine a costi inferiori
-
Imposta politiche di conservazione in base alle tue esigenze di conformità e sperimentazione
Limitazioni
Coerenza familiare modello
Durante l'addestramento iterativo, è necessario utilizzare lo stesso tipo di modello in tutte le iterazioni.
Addestramento iniziale
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod"
Le iterazioni successive devono utilizzare lo stesso model_type
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match original model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Coerenza della tecnica di allenamento
La tecnica di allenamento deve rimanere coerente tra le iterazioni:
-
I modelli addestrati da LoRa possono essere addestrati solo iterativamente con LoRa
-
Full-Rank-trained i modelli possono essere addestrati solo iterativamente con Full-Rank
Come funzionano gli adattatori LoRa nell'addestramento iterativo
-
Ogni iterazione di addestramento LoRa produce nuovi pesi degli adattatori
-
I nuovi adattatori sostituiscono (non si impilano) con gli adattatori precedenti
-
Il modello base rimane bloccato; vengono aggiornati solo gli adattatori
Matrice di compatibilità tecnica
| Formazione iniziale | Può iterare con |
|---|---|
| SFT (Full-Rank) | SFT (Full-Rank), RFT (Full-Rank) |
| SFT (LoRa) | SFT (LoRa), RFT (LoRa) |
| RFT (Full-Rank) | RFT (Full-Rank) |
| RFT (LoRa) | RFT (LoRa) |
Verifica della compatibilità prima di iniziare un lavoro
-
Controlla la tua ricetta di allenamento precedente per identificare il tipo di modello e la tecnica di allenamento (LoRa vs. Full-Rank)
-
Assicurati che la tua nuova ricetta corrisponda sia al tipo di modello che alla tecnica
-
Controlla manifest.json per confermare che il percorso del checkpoint sia corretto
risoluzione dei problemi
Errore: «Sono state rilevate tecniche di addestramento del modello incompatibili»
Causa: la tecnica di allenamento (LoRa vs. Full-Rank) non corrisponde alla tecnica del checkpoint.
Risoluzione: assicurati che la tua ricetta utilizzi la stessa tecnica di allenamento del modello originale:
-
Se il checkpoint è stato addestrato con LoRa, usa LoRa nella tua nuova ricetta
-
Se il checkpoint è stato addestrato con Full-Rank, usa Full-Rank nella tua nuova ricetta
Errore: «Il modello base per il lavoro estratto da model_name_or_path non corrisponde a model_type»
Causa: il tipo di modello specificato in model_type non corrisponde al modello effettivo nel checkpoint.
Risoluzione: verifica che:
-
Quello
model_typecontenuto nella tua ricetta corrisponde al tipo di modello originale -
Il percorso del checkpoint S3 in
model_name_or_pathentrata è corretto -
Stai utilizzando il percorso del file manifest.json corretto
Esempio di configurazione corretta
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match checkpoint's model model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Errore: «Configurazione del modello non trovata»
Causa: il percorso di ingresso S3 non model_name_or_path è valido o è inaccessibile.
Risoluzione:
-
Verifica che il percorso S3 sia stato copiato correttamente dal file manifest.json
-
Assicurati che il tuo ruolo IAM disponga delle autorizzazioni per accedere al bucket escrow
-
Conferma che il precedente processo di formazione è stato completato con successo
-
Verifica la presenza di errori di battitura nel percorso
Regressione delle prestazioni dopo l'iterazione
Sintomi: le metriche di valutazione diminuiscono dopo una nuova iterazione dell'allenamento.
Risoluzione:
-
Rollback: utilizza il checkpoint precedente come modello base
-
Analizza: esamina i registri di addestramento e la qualità dei dati per verificare se l'iterazione non è riuscita
-
Modifica: modifica gli iperparametri (riduci il tasso di apprendimento), migliora la qualità dei dati o riduci le epoche di formazione
-
Riprova: avvia una nuova iterazione con modifiche