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à.
Modello Merge
Importante
In questo documento, faremo riferimento al «modello base» come uno dei due modelli. Può essere il modello base originale (ad esempio Nova Lite 2.0) se non è stato eseguito alcun addestramento iterativo, o il risultato del precedente ciclo di addestramento Formazione iterativa iterativo.
Una volta completata la messa a punto, il modello personalizzato viene sottoposto a una fase opzionale di fusione dei modelli configurabile dall'utente che unisce le nuove conoscenze apprese con le funzionalità del «modello base». Questo processo garantisce che il modello finale mantenga l'intelligenza originale del «modello base» incorporando al contempo il comportamento specializzato appreso durante l'ultimo corso di formazione sulla messa a punto. La fusione dei modelli attenua un fenomeno noto come dimenticanza catastrofica, in cui un modello perde le conoscenze acquisite in precedenza dopo essere stato messo a punto su nuovi dati.
Applicabilità della fusione dei modelli per tipo di formazione
L'unione dei modelli è configurabile solo per l'addestramento SFT. La tabella seguente riassume il comportamento di fusione dei modelli per ogni tipo di formazione:
| Tipo di allenamento | Comportamento di fusione dei modelli |
|---|---|
| Supervisionato Fine-Tuning (SFT) | User-configurable viene applicata la fusione dei modelli. È possibile controllare il peso di unione tra il modello ottimizzato e il modello base come descritto in questo documento. |
| Rinforzo (RFT) Fine-Tuning | Nessuna fusione di modelli. Il checkpoint del modello addestrato viene emesso direttamente come modello finale. Non è coinvolto alcun modello base in una fase di unione. |
| Continua Pre-Training (CPT) | Nessuna fusione di modelli. Il checkpoint del modello addestrato viene emesso direttamente come modello finale. Non è coinvolto alcun modello base in una fase di unione. |
Quando utilizzare l'unione dei modelli
È necessario abilitare l'unione dei modelli quando:
-
Le funzionalità generali si degradano dopo la messa a punto. Se il modello perfezionato perde le prestazioni in attività che non rientrano nei dati di addestramento (ad esempio matematica, ragionamento o codifica), la fusione unisce le conoscenze del modello di base per recuperare quelle competenze.
-
Iterative/continual formazione. Quando si perfeziona un checkpoint precedentemente personalizzato, la fusione è essenziale per conservare le competenze apprese nei round precedenti. Senza di essa, ogni nuovo round può sovrascrivere ciò che ha insegnato il round precedente.
Potrebbe non essere necessaria la fusione dei modelli quando:
-
Volete solo massimizzare le prestazioni delle attività target e la conservazione generale delle capacità non è un problema.
-
Arrampicata in collina. Vuoi continuare a iterare sullo stesso set di dati per ottimizzare ulteriormente le prestazioni di valutazione.
-
Stai utilizzando una messa a punto basata sul ragionamento. Gli studi hanno dimostrato che la SFT basata sul ragionamento mitiga in modo significativo l'oblio catastrofico.
Come configurare i pesi di fusione dei modelli
Il valore predefinito model_importance_score.fine_tuned_model è 1.0, il che significa che il checkpoint dell'output di allenamento utilizza interamente i pesi ottimizzati, senza alcuna fusione con il «modello base». L'impostazione predefinita funziona bene quando i dati di allenamento sono completi e rappresentano fedelmente l'attività target.
È possibile controllare il modo in cui il modello finale bilancia specializzazione e conoscenze generali impostando gli iperparametri model_importance_score nei propri iperparametri. Selezione degli iperparametri e aggiornamento della ricetta Ad esempio:
training_config: # ... model_importance_score: fine_tuned_model: 0.75 # set value between 0.0 to 1.0 inclusive
model_importance_score.fine_tuned_modelvalori più vicini a 1,0 fanno sì che il modello propenda per l'ottimizzazione dei dati, mentre valori più vicini a 0,0 preservano una maggior parte delle capacità generali del modello base. Nell'esempio precedente, il modello addestrato finale viene prodotto unendo il 75% del modello ottimizzato sul set di dati specifico con il 25% del «modello base».
Se notate che il modello perfezionato perde le funzionalità generali (ad esempio, prestazioni ridotte in attività che non rientrano nei dati di addestramento), riducete il tutto
model_importance_score.fine_tuned_model per integrare maggiormente le conoscenze del «modello base».
Nota
Anche se siamo in grado di configurare i pesi del processo di fusione dei modelli, l'utente non può scegliere con quali modelli eseguire l'unione. In altre parole, sarà sempre tra il «modello base» e il modello perfezionato dell'attuale ciclo di formazione. Il «modello base» può essere il modello base originale (ad esempio Nova Lite 2.0) o l'output del precedente allenamento iterativo.
Scelta del modello: unisci i pesi
Il model_importance_score.fine_tuned_model parametro controlla l'equilibrio tra il modello ottimizzato e il modello base. Iniziate con queste linee guida:
| Scenario | Peso iniziale consigliato | Rationale |
|---|---|---|
| Single-round SFT con dati di allenamento completi | 1.0 (impostazione predefinita, nessuna fusione) | I tuoi dati di allenamento coprono bene l'attività target; la fusione diluirebbe il comportamento appreso senza trarne alcun beneficio. |
| Single-round SFT in cui le capacità generali si degradano | 0,7—0,9 | Integra una conoscenza del modello base sufficiente per recuperare competenze generali (matematica, ragionamento, programmazione) preservando la maggior parte delle prestazioni ottimizzate. |
| Iterative/continual SFT (basato su un checkpoint precedente) | 0,3—0,7 | I pesi inferiori consentono di acquisire maggiori conoscenze acquisite durante i turni di allenamento precedenti. Senza la fusione, i turni successivi possono sovrascrivere le abilità apprese nei turni precedenti. |
| Esplorativo/incerto | 0.7 | Una via di mezzo ragionevole; aggiustare in base ai risultati della valutazione. |
Principio generale: pesi più elevati (più vicini a 1,0) massimizzano le prestazioni delle attività target, ma rischiano di perdere le capacità generali. Pesi più bassi (più vicini a 0,0) preservano le ampie competenze del modello base ma riducono la specializzazione. Non esiste un valore universalmente ottimale: il giusto peso dipende dalle dimensioni del set di dati, dalla sovrapposizione del dominio con il modello base e dalle funzionalità da conservare.
Suggerimento
Se i dati di addestramento includono tracce di ragionamento (catena di pensiero), in genere puoi utilizzare un peso di unione più elevato (o saltare completamente l'unione a 1.0), perché i dati aumentati di ragionamento agiscono come un regolarizzatore che preserva le capacità generali.
Valutazione del peso dell'unione
Al termine dell'addestramento, valuta il modello unito per confermare che il peso di unione sia appropriato. Non sono necessarie più sessioni di formazione: un singolo passaggio di valutazione può dirti se apportare modifiche.
-
Obiettivo delle prestazioni delle attività: esegui la valutazione specifica del dominio (precisione, F1, punteggio di estrazione, ecc.) su un set di test prestabilito. Confrontalo con il modello base (prima di qualsiasi ottimizzazione) per confermare che l'ottimizzazione ha migliorato le prestazioni. Se il guadagno rispetto al modello base è inferiore al previsto, il peso dell'unione potrebbe essere troppo basso: i pesi del modello base stanno diluendo ciò che è stato appreso durante l'addestramento.
-
Verifica a campione delle capacità generali: richiedi al modello unito alcune attività esterne all'ambito di formazione (ad esempio, un problema con parole matematiche, una richiesta di riepilogo o una domanda di programmazione). Confronta le risposte qualitativamente con il modello base. Se le risposte del modello unito sono notevolmente peggiori rispetto al modello base (incoerenti, si rifiutano di rispondere o generano incomprensibili nelle attività che il modello base gestisce bene), il peso dell'unione è troppo elevato e il modello ha perso le funzionalità generali.
Come funziona la fusione: messa a punto Full-rank
Full-rank l'addestramento produce un set completo di pesi del modello. Durante l'unione, ogni parametro viene calcolato come una combinazione ponderata:
# Weighted interpolation Merged Model = (1 - model_importance_score.fine_tuned_model) * Base Model + model_importance_score.fine_tuned_model * Fine-Tuned Model
Ad esempio, conmodel_importance_score.fine_tuned_model = 0.3, il modello unito è composto per il 70% da conoscenze sul «modello base» e per il 30% da conoscenze perfezionate.
Come funziona la fusione: ottimizzazione LoRa
LoRa (Low-Rank Adaptation) apprende una coppia compatta di matrici di basso rango (A e B) che rappresentano l'adattamento come aggiornamento di basso rango. Durante il processo di fusione del modello, ogni matrice LoRa A e B viene ridimensionata come mostrato di seguito.
model_importance_score.fine_tuned_model In queste formule,
alpha è il fattore di scala LoRa (peft.lora_tuning.alphanella ricetta di allenamento) ed è il rango LoRa. rank Per i
alpha valori disponibili, consulta la ricetta di allenamento LoRa SFT.
Nota che, a questo punto, le matrici A e B contengono solo le informazioni relative all'ultima esecuzione di messa a punto. Non è a conoscenza delle sessioni di allenamento precedenti. Le conoscenze acquisite nelle sessioni di formazione precedenti deriveranno dall'unione del modello con il «modello base» o dalla fusione dell'adattatore LoRa in fase precedente descritta di seguito.
Scaled_A = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * A Scaled_B = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * B
L'addestramento LoRa produce due artefatti del modello: un modello completamente unito e un set di adattatori LoRa uniti. Diamo un'occhiata a ciascuno di essi separatamente.
Modello completamente unito
L'aggiornamento LoRa viene ridimensionato e aggiunto al «modello base»:
Merged Model = Base Model + (Scaled_B @ Scaled_A)
Ora Merged Model ha acquisito conoscenze sia dall'attuale corso di formazione, sia ereditando alcune conoscenze dalla configurazione Base Model dell'utente. model_importance_score.fine_tuned_model
Adattatori LoRa uniti
Il modo in cui gli adattatori LoRa vengono uniti dipende dal fatto che si stia eseguendo un training in una sola fase o iterativo.
-
Per l'addestramento LoRa a fase singola (senza formazione iterativa), gli adattatori LoRa ottimizzati vengono salvati direttamente senza essere uniti, poiché non esiste un set precedente di adattatori LoRa con cui unirsi.
-
Nei flussi di lavoro iterativi interamente LoRa, gli adattatori di ogni fase vengono uniti in un unico set:
Merged = Stage1_Scaled_B @ Stage1_Scaled_A + Stage2_Scaled_B @ Stage2_Scaled_AGli adattatori
MergedLoRa conterranno la conoscenza delle precedenti iterazioni di formazione e le più recenti conoscenze di messa a punto, in base a quelle definite dall'utente.model_importance_score.fine_tuned_modelInoltre, presta molta attenzione alle restrizioni iterative alla formazione sulla combinazione di LoRa e formazione. Full-rank
Questi adattatori uniti Merged_A riflettono la cronologia completa dei corsi di formazione Merged_B e vengono utilizzati per l'inferenza su richiesta. On-demand inferenza sui modelli personalizzati