View a markdown version of this page

Modello Merge - 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à.

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 della precedente sessione di allenamento iterativa.

Una volta completata la messa a punto, il modello personalizzato passa attraverso una fase opzionale di fusione dei modelli configurabile dall'utente che unisce le nuove conoscenze acquisite con le funzionalità del «modello base». Questo processo assicura che il modello finale mantenga l'intelligenza originale del «modello base» incorporando al contempo il comportamento specializzato appreso durante l'ultimo corso di formazione di perfezionamento. La fusione dei modelli mitiga un fenomeno noto come oblio catastrofico, in cui un modello perde le conoscenze acquisite in precedenza dopo essere stato messo a punto su nuovi dati.

I modelli uniscono l'applicabilità per tipo di formazione

La fusione dei modelli è configurabile solo per l'addestramento SFT. La tabella seguente riassume il comportamento di fusione dei modelli per ogni tipo di addestramento:

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 esiste un modello base coinvolto 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 esiste un modello base coinvolto in una fase di unione.

Quando utilizzare la fusione dei modelli

È necessario abilitare la fusione dei modelli quando:

  • Le funzionalità generali peggiorano dopo la messa a punto. Se il modello perfezionato perde prestazioni in attività diverse dai dati di addestramento (ad esempio matematica, ragionamento o programmazione), la fusione unisce le conoscenze del modello di base per recuperare tali competenze.

  • Iterative/continual formazione. Quando ci si affianca a un checkpoint precedentemente personalizzato, l'unione è essenziale per conservare le competenze acquisite nei turni precedenti. Senza di essa, ogni nuovo round può sovrascrivere quanto insegnato nel round precedente.

Potrebbe non essere necessaria la fusione dei modelli quando:

  • Volete solo massimizzare le prestazioni delle attività prefissate e, in generale, la conservazione 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 regolazione fine 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 dei risultati dell'allenamento utilizza interamente i pesi ottimizzati, senza alcuna miscelazione rispetto al «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 conoscenza generale impostando gli iperparametrimodel_importance_score. 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 si orienti verso dati ottimizzati, mentre valori più vicini a 0,0 preservano maggiormente le funzionalità 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 funzionalità generali (ad esempio, prestazioni ridotte in attività che non rientrano nei dati di addestramento), riducetelo per model_importance_score.fine_tuned_model incorporare maggiormente le conoscenze del «modello base».

Nota

Anche se possiamo configurare i pesi del processo di fusione dei modelli, l'utente non può scegliere con quali modelli eseguire la fusione. In altre parole, sarà sempre compreso tra il «modello base» e il modello perfezionato dell'attuale allenamento. Il «modello base» può essere il modello base originale (ad esempio Nova Lite 2.0) o il risultato della precedente sessione di allenamento iterativa.

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. Inizia con queste linee guida:

Scenario Peso iniziale consigliato Rationale
Single-round SFT con dati di allenamento completi 1.0 (impostazione predefinita, nessuna fusione) I dati di addestramento coprono bene l'attività desiderata; la fusione diluirebbe il comportamento appreso senza alcun beneficio.
Single-round SFT dove le funzionalità generali peggiorano 0,7-0,9 Combina una conoscenza sufficiente del modello di base per recuperare competenze generali (matematica, ragionamento, programmazione) preservando al contempo la maggior parte delle prestazioni ottimizzate.
Iterative/continual SFT (basato su un checkpoint precedente) 0,3-0,7 I pesi più bassi consentono di acquisire maggiori conoscenze acquisite nei cicli di allenamento precedenti. Senza unirli, i round successivi possono sovrascrivere le abilità apprese nei round precedenti.
Esploratorio/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 previste, ma rischiano di perdere le capacità generali. Pesi inferiori (più vicini a 0,0) preservano le ampie competenze del modello base ma riducono la specializzazione. Non esiste un valore universalmente ottimale: il peso giusto dipende dalla dimensione del set di dati, dalla sovrapposizione del dominio con il modello base e dalle funzionalità che è necessario mantenere.

Suggerimento

Se i dati di allenamento includono tracce di ragionamento (catena di pensiero), in genere è possibile utilizzare un peso di unione più elevato (o saltare completamente l'unione a 1,0), poiché i dati aumentati dal ragionamento agiscono come un regolarizzatore che preserva le funzionalità generali.

Valutazione del peso unitario

Al termine dell'allenamento, valutate il modello unito per confermare che il peso di fusione sia appropriato. Non hai bisogno di più sessioni di allenamento: un unico passaggio di valutazione può dirti se adattarti o meno.

  • Ottimizza le prestazioni delle attività: esegui la valutazione specifica del dominio (precisione, F1, punteggio di estrazione, ecc.) su un set di test completo. Confrontate con il modello base (prima di qualsiasi messa a punto) per confermare che la messa a punto ha migliorato le prestazioni. Se il guadagno rispetto al modello base è inferiore al previsto, il peso combinato potrebbe essere troppo basso: i pesi del modello base stanno diluendo ciò che è stato appreso durante l'allenamento.

  • Controllo a campione delle funzionalità generali: richiedi al modello unito alcune attività che non rientrano nel tuo ambito di formazione (ad esempio, un problema di parole matematiche, una richiesta di riepilogo o una domanda di programmazione). Confrontate qualitativamente le risposte con il modello base. Se le risposte del modello unito sono notevolmente peggiori rispetto a quelle del modello base, ossia incoerenti, rifiuto di rispondere o incomprensibili in attività gestite bene dal modello base, il peso dell'unione è troppo elevato e il modello ha perso le capacità generali.

Come funziona la fusione: messa a punto Full-rank

Full-rank l'allenamento produce un set completo di pesi modello. Durante la fusione, ogni parametro viene calcolato come una fusione 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 del «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 un aggiornamento di basso rango. Durante il processo di fusione dei modelli, ogni matrice LoRa A e B viene ridimensionata come mostrato di seguito. model_importance_score.fine_tuned_model In queste formule, alpha c'è il fattore di scala LoRa (peft.lora_tuning.alphanella ricetta di allenamento) e 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'ultimo ciclo di ottimizzazione. Non è a conoscenza delle sessioni di allenamento precedenti. Le conoscenze acquisite nei corsi di formazione precedenti deriveranno dalla fusione del modello con il «modello base» o dalla fusione degli adattatori LoRa della 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

La formazione 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 possiede le conoscenze acquisite sia durante l'attuale corso di formazione che eredita alcune conoscenze a Base Model seconda della configurazione 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 addestramento a fase singola o iterativo.

  • Per l'addestramento LoRa a fase singola (nessun addestramento iterativo), gli adattatori LoRa ottimizzati vengono salvati direttamente senza unirli, 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_A

    Gli adattatori Merged LoRa conterranno la conoscenza delle precedenti iterazioni di formazione e le più recenti conoscenze di ottimizzazione, basate su quelle definite dall'utente. model_importance_score.fine_tuned_model

    Inoltre, presta molta attenzione alle restrizioni di formazione iterative sulla combinazione di LoRa e formazione. Full-rank

Questi adattatori uniti Merged_A riflettono la cronologia completa della formazione Merged_B e vengono utilizzati per l'inferenza su richiesta.