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.
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.
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.