Zubnet AIApprendreWiki › Fusion de modèles
Entraînement

Fusion de modèles

Aussi appelé : TIES, DARE, SLERP, Frankenmerge
Combiner les poids de plusieurs modèles fine-tunés en un seul modèle sans entraînement supplémentaire. Si le modèle A excelle en codage et le modèle B en écriture créative, les fusionner peut produire un modèle bon dans les deux. Les méthodes de fusion populaires incluent SLERP (interpolation sphérique), TIES (résolution des conflits de signe) et DARE (suppression aléatoire de paramètres avant la fusion).

Pourquoi c'est important

La fusion de modèles est l'arme secrète de la communauté open-source. Elle ne coûte aucun calcul (juste des maths sur les tenseurs de poids) et peut produire des modèles qui surpassent leurs composants. De nombreux modèles en tête de l'Open LLM Leaderboard sont des fusions. C'est aussi la façon dont les praticiens combinent plusieurs fine-tunes LoRA en un seul modèle polyvalent. Comprendre la fusion débloque une capacité puissante et gratuite pour quiconque travaille avec des modèles ouverts.

En profondeur

La fusion la plus simple : l'interpolation linéaire. New_weight = α · A_weight + (1−α) · B_weight, où α contrôle l'équilibre. Cela fonctionne étonnamment bien quand les modèles partagent le même modèle de base (ex : deux fine-tunes différents de Llama). Le modèle fusionné interpole entre les comportements des deux sources. SLERP (Spherical Linear Interpolation) interpole le long de la surface de l'hypersphère plutôt que linéairement, produisant souvent de meilleurs résultats.

Arithmétique de tâches

Une approche plus principielle : calculer les "vecteurs de tâches" (la différence entre un modèle fine-tuné et le modèle de base), puis ajouter les vecteurs de tâches au modèle de base. Cela permet de composer des capacités : base + vecteur_codage + vecteur_écriture = un modèle avec les deux compétences. TIES améliore cela en résolvant les conflits de signe entre les vecteurs de tâches (quand deux tâches veulent déplacer le même poids dans des directions opposées). DARE améliore en supprimant aléatoirement la plupart des entrées du vecteur de tâche, réduisant les interférences.

Pourquoi ça marche (et quand ça ne marche pas)

La fusion fonctionne parce que le fine-tuning modifie typiquement un petit sous-ensemble du comportement du modèle tout en préservant la majeure partie de ses capacités générales. Les modifications de différents fine-tunes occupent souvent différentes "régions" de l'espace de paramètres avec un conflit minimal. Elle échoue quand les fine-tunes sont en conflit direct (deux modèles entraînés à se comporter de manière opposée), quand les modèles de base sont trop différents (on ne peut pas fusionner un Llama avec un Mistral), ou quand les modifications d'un composant sont si grandes qu'elles dominent la fusion.

Concepts connexes

← Tous les termes
← Fonction de perte Gabarit de prompt →