Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fusion de modèles
Important
Tout au long de ce document, nous ferons référence au « modèle de base » comme l'un des deux modèles. Il peut s'agir du modèle de base original (par exemple Nova Lite 2.0) si aucun entraînement itératif n'a été exécuté, ou du résultat de l'entraînement itératif précédent.
Une fois le réglage terminé, votre modèle personnalisé passe par une étape de fusion de modèles facultative, configurable par l'utilisateur, qui associe les connaissances nouvellement acquises aux fonctionnalités du « modèle de base ». Ce processus garantit que votre modèle final conserve l'intelligence d'origine du « modèle de base » tout en incorporant le comportement spécialisé appris lors du dernier entraînement de mise au point. La fusion de modèles atténue un phénomène connu sous le nom d'oubli catastrophique, dans lequel un modèle perd des connaissances acquises auparavant après avoir été affiné en fonction de nouvelles données.
Applicabilité de la fusion des modèles par type de formation
La fusion de modèles n'est configurable que pour l'entraînement SFT. Le tableau suivant résume le comportement de fusion de modèles pour chaque type d'entraînement :
| Type de formation | Comportement de fusion de modèles |
|---|---|
| Supervisé Fine-Tuning (SFT) | User-configurable la fusion de modèles est appliquée. Vous pouvez contrôler le poids de fusion entre le modèle affiné et le modèle de base comme décrit dans ce document. |
| Renfort Fine-Tuning (RFT) | Aucune fusion de modèles. Le point de contrôle du modèle entraîné est généré directement en tant que modèle final. Aucun modèle de base n'est impliqué dans une étape de fusion. |
| Suite Pre-Training (CPT) | Aucune fusion de modèles. Le point de contrôle du modèle entraîné est généré directement en tant que modèle final. Aucun modèle de base n'est impliqué dans une étape de fusion. |
Quand utiliser la fusion de modèles
Vous devez activer la fusion de modèles lorsque :
-
Les fonctionnalités générales se dégradent après un réglage précis. Si votre modèle affiné perd en performance sur des tâches autres que vos données d'entraînement (mathématiques, raisonnement ou codage, par exemple), la fusion combine les connaissances du modèle de base pour récupérer ces compétences.
-
Iterative/continual entraînement. Lorsqu'il s'agit de peaufiner un point de contrôle précédemment personnalisé, la fusion est essentielle pour conserver les compétences acquises lors des rondes précédentes. Sans cela, chaque nouveau cycle peut remplacer ce que le cycle précédent a enseigné.
Il se peut que vous n'ayez pas besoin de fusionner des modèles dans les cas suivants :
-
Vous souhaitez uniquement optimiser les performances des tâches cibles et la conservation générale des capacités n'est pas un problème.
-
Alpinisme. Vous souhaitez continuer à itérer sur le même jeu de données afin d'optimiser davantage les performances d'évaluation.
-
Vous utilisez un réglage fin basé sur le raisonnement. Des études ont montré que le SFT basé sur le raisonnement atténue de manière significative l'oubli catastrophique.
Comment configurer les poids de fusion de modèles
La valeur par défaut model_importance_score.fine_tuned_model est 1,0, ce qui signifie que le point de contrôle des résultats d'entraînement utilise entièrement les pondérations affinées, sans aucune combinaison avec le « modèle de base ». La valeur par défaut fonctionne bien lorsque vos données d'entraînement sont complètes et représentent fidèlement votre tâche cible.
Vous pouvez contrôler la façon dont le modèle final équilibre la spécialisation par rapport aux connaissances générales model_importance_score en les définissant dans vos hyperparamètres. Par exemple :
training_config: # ... model_importance_score: fine_tuned_model: 0.75 # set value between 0.0 to 1.0 inclusive
model_importance_score.fine_tuned_modeldes valeurs plus proches de 1,0 orientent le modèle vers vos données affinées, tandis que des valeurs plus proches de 0,0 préservent une plus grande partie des fonctionnalités générales du modèle de base. Dans l'exemple ci-dessus, le modèle entraîné final est produit en fusionnant 75 % du modèle affiné sur le jeu de données spécifique avec 25 % du « modèle de base ».
Si vous remarquez que votre modèle affiné perd ses fonctionnalités générales (par exemple, une baisse des performances sur des tâches autres que vos données d'entraînement),
model_importance_score.fine_tuned_model réduisez-le pour intégrer davantage les connaissances du « modèle de base ».
Note
Même si nous pouvons configurer les poids du processus de fusion de modèles, l'utilisateur ne peut pas choisir les modèles avec lesquels fusionner. En d'autres termes, il se situera toujours entre le « modèle de base » et le modèle affiné du cycle d'entraînement en cours. Le « modèle de base » peut être le modèle de base d'origine (par exemple Nova Lite 2.0) ou le résultat du cycle d'entraînement itératif précédent.
Choix des poids de fusion des modèles
Le model_importance_score.fine_tuned_model paramètre contrôle l'équilibre entre votre modèle affiné et le modèle de base. Commencez par les directives suivantes :
| Scénario | Poids de départ recommandé | Justification |
|---|---|---|
| Single-round SFT avec des données d'entraînement complètes | 1.0 (par défaut, pas de fusion) | Vos données d'entraînement couvrent bien la tâche cible ; la fusion diluerait le comportement appris sans avantage. |
| Single-round SFT où les capacités générales se dégradent | 0,7—0,9 | Intègre suffisamment de connaissances de base sur les modèles pour retrouver des compétences générales (mathématiques, raisonnement, codage) tout en préservant la plupart des performances affinées. |
| Iterative/continual SFT (en s'appuyant sur un point de contrôle précédent) | 0,3 à 0,7 | Les poids faibles retiennent plus de connaissances acquises lors des sessions d'entraînement précédentes. Sans fusion, les sessions ultérieures peuvent remplacer les compétences acquises lors des rondes précédentes. |
| Exploratoire/incertain | 0,7 | Un juste milieu ; ajuster en fonction des résultats de l'évaluation. |
Principe général : des pondérations plus élevées (plus proches de 1,0) maximisent les performances des tâches cibles, mais risquent de perdre les capacités générales. Des pondérations plus faibles (plus proches de 0,0) préservent les compétences générales du modèle de base mais réduisent la spécialisation. Il n'existe pas de valeur optimale universelle : le bon poids dépend de la taille de votre jeu de données, du chevauchement du domaine avec le modèle de base et des fonctionnalités que vous devez conserver.
Astuce
Si vos données d'entraînement incluent des traces de raisonnement (chaîne de pensée), vous pouvez généralement utiliser une pondération de fusion plus élevée (ou ignorer complètement la fusion à 1,0), car les données augmentées par le raisonnement agissent comme un régularisateur qui préserve les capacités générales.
Évaluation du poids de votre fusion
Une fois l'entraînement terminé, évaluez le modèle fusionné pour confirmer que le poids de fusion est approprié. Vous n'avez pas besoin de plusieurs séances d'entraînement : une seule passe d'évaluation peut vous indiquer si vous devez vous adapter.
-
Cibler les performances des tâches — Exécutez votre évaluation spécifique au domaine (précision, F1, score d'extraction, etc.) sur un ensemble de tests standard. Comparez avec le modèle de base (avant tout réglage) pour confirmer l'amélioration des performances. Si le gain par rapport au modèle de base est inférieur aux prévisions, votre poids de fusion est peut-être trop faible : les poids du modèle de base diluent ce qui a été appris pendant l'entraînement.
-
Vérification ponctuelle des capacités générales — Proposez au modèle fusionné quelques tâches extérieures à votre domaine de formation (par exemple, un problème de mots mathématiques, une demande de résumé ou une question de codage). Comparez les réponses qualitativement avec le modèle de base. Si les réponses du modèle fusionné sont nettement moins bonnes que celles du modèle de base (incohérence, refus de réponse ou production de charabia sur des tâches que le modèle de base gère bien), votre poids de fusion est trop élevé et le modèle a perdu ses capacités générales.
Fonctionnement de la fusion : réglage précis Full-rank
Full-rank l'entraînement produit un ensemble complet de poids du modèle. Lors de la fusion, chaque paramètre est calculé sous forme de mélange pondéré :
# Weighted interpolation Merged Model = (1 - model_importance_score.fine_tuned_model) * Base Model + model_importance_score.fine_tuned_model * Fine-Tuned Model
Par exemple, avecmodel_importance_score.fine_tuned_model = 0.3, le modèle fusionné comprend 70 % de connaissances du « modèle de base » et 30 % de connaissances affinées.
Comment fonctionne la fusion : réglage précis de LoRa
LoRa (Low-Rank Adaptation) apprend une paire compacte de matrices de bas rang (A et B) qui représentent l'adaptation comme une mise à jour de bas rang. Au cours du processus de fusion de modèles, chaque matrice LoRa A et B est mise à l'échelle
model_importance_score.fine_tuned_model comme indiqué ci-dessous. Dans ces formules,
alpha se trouvent le facteur d'échelle LoRa (peft.lora_tuning.alphadans votre recette d'entraînement) et le rank rang LoRa. Pour les
alpha valeurs disponibles, consultez la recette d'entraînement LoRa SFT
Notez qu'à ce stade, les matrices A et B ne contiennent que les connaissances issues de la dernière opération de réglage. Il n'a aucune connaissance des sessions d'entraînement précédentes. Les connaissances issues des sessions d'entraînement précédentes proviendront de la fusion du modèle avec le « modèle de base » ou de l'étape précédente de fusion de l'adaptateur LoRa décrite ci-dessous.
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 formation LoRa produit deux artefacts de modèle : un modèle entièrement fusionné et un ensemble d'adaptateurs LoRa fusionnés. Examinons chacun d'eux séparément.
Modèle entièrement fusionné
La mise à jour LoRa est mise à l'échelle et ajoutée au « modèle de base » :
Merged Model = Base Model + (Scaled_B @ Scaled_A)
Il Merged Model possède maintenant des connaissances issues de la formation en cours et hérite de certaines connaissances provenant de la Base Model configuration model_importance_score.fine_tuned_model par l'utilisateur.
Adaptateurs LoRa fusionnés
La manière dont les adaptateurs LoRa sont fusionnés varie selon que vous effectuez un entraînement en une seule étape ou itératif.
-
Pour un entraînement LoRa en une seule étape (pas d'entraînement itératif), les adaptateurs LoRa affinés sont enregistrés directement sans fusion, car il n'existe aucun ensemble d'adaptateurs LoRa avec lequel fusionner.
-
Dans les flux de travail itératifs entièrement basés sur LoRa, les adaptateurs de chaque étape sont fusionnés en un seul ensemble :
Merged = Stage1_Scaled_B @ Stage1_Scaled_A + Stage2_Scaled_B @ Stage2_Scaled_ALes adaptateurs
MergedLoRa contiendront les connaissances relatives aux itérations d'entraînement précédentes ainsi que les dernières connaissances en matière de réglage précis, sur la base des informations définies par l'utilisateur.model_importance_score.fine_tuned_modelVeuillez également porter une attention particulière aux restrictions d'entraînement itératives relatives au mélange de LoRa et Full-rank d'entraînement.
Ces adaptateurs Merged_B fusionnés Merged_A reflètent l'historique complet de l'entraînement et sont utilisés pour l'inférence à la demande.