Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Model Merging

La fusion de modèles combine les poids de modèles affinés à partir d’un même modèle de base pour en créer un seul, sans coût d’inférence supplémentaire. Présentation du calcul de moyenne et de l’arithmétique des tâches.

La fusion de modèles combine les poids de deux modèles entraînés ou plus en un seul modèle, généralement en faisant la moyenne de leurs paramètres ou en les additionnant. Le modèle obtenu conserve ainsi les capacités de chacun sans exécuter plusieurs réseaux ni les réentraîner sur l’ensemble de leurs données. Cette méthode fonctionne lorsque les modèles partagent la même architecture et, pour la plupart des méthodes, un même point de départ préentraîné : le réglage fin ne déplace chaque copie que d’une courte distance dans l’espace des poids, de sorte que leurs poids de modèle restent alignés paramètre par paramètre. La fusion est largement utilisée pour créer des grands modèles de langage (LLM) ouverts et combiner des adaptateurs LoRA ou des points de contrôle Stable Diffusion. Après l’entraînement, Meta a moyenné les modèles Llama 3 obtenus avec des données ou des hyperparamètres différents à chaque étape.

Fonctionnement de la fusion de modèles#

Les méthodes de fusion diffèrent selon ce qu’elles combinent et la façon dont elles résolvent les conflits entre modèles :

  • Model soups : fait la moyenne des poids de modèles réglés finement à partir du même modèle de base avec différents hyperparamètres. Une fusion gloutonne de modèles ViT-G réglés finement a atteint une précision top-1 de 90,94 % sur ImageNet, un résultat de pointe à l’époque.
  • Moyennage stochastique des poids : fait la moyenne de points de contrôle enregistrés à différents moments d’une même exécution d’entraînement, ce qui tend à stabiliser le modèle dans une région plus large et plus plate de la surface de perte.
  • Arithmétique des tâches : soustrait les poids de base de chaque modèle réglé finement pour obtenir un vecteur de tâche, puis ajoute au modèle de base des vecteurs de tâche mis à l’échelle afin de combiner des compétences, ou en soustrait un pour supprimer un comportement.
  • TIES-Merging : réduit les interférences entre les vecteurs de tâche en trois étapes : réinitialiser les paramètres qui ont peu changé pendant le réglage fin, choisir un signe pour chaque paramètre et fusionner uniquement les valeurs qui concordent avec ce signe.
  • DARE : élimine aléatoirement la plupart des valeurs de chaque vecteur de tâche et redimensionne les valeurs restantes avant la fusion, ce qui supprime les changements redondants tout en préservant les capacités liées à chaque tâche.

Le moyennage au cours d’une même exécution d’entraînement fait aussi partie de l’entraînement courant. L’entraînement Ultralytics YOLO26 conserve une moyenne mobile exponentielle (EMA) des poids du modèle en parallèle des poids optimisés. Son taux de décroissance augmente jusqu’à 0,9999 au fil de l’entraînement, et les points de contrôle last.pt et best.pt enregistrés contiennent ce modèle moyenné.

Les méthodes fondées sur les vecteurs de tâche partagent la même structure : chaque modèle réglé finement est exprimé comme sa différence par rapport au modèle de base, les différences sont nettoyées et combinées, puis le résultat est ajouté au modèle de base :

Des outils open source comme mergekit implémentent ces méthodes pour les LLM, ainsi que l’interpolation sphérique (SLERP) entre deux modèles.

Pourquoi un point de départ commun est important#

Les unités cachées d’un réseau de neurones peuvent être réordonnées sans modifier les calculs du réseau. Deux réseaux entraînés à partir d’initialisations aléatoires différentes stockent donc rarement la même caractéristique à la même position, et leur moyennage mélange des poids sans rapport. Les modèles réglés finement à partir d’un même modèle de base conservent son agencement et restent dans la même région de faible perte, si bien que leur moyenne reste fonctionnelle. Cet exemple entraîne un petit classifieur PyTorch sur des chiffres manuscrits, règle finement deux copies sur différentes moitiés des données d’entraînement restantes, puis compare leur fusion à celle de deux modèles entraînés à partir d’initialisations distinctes :

import copy

import torch
from sklearn.datasets import load_digits
from torch import nn

torch.manual_seed(0)
X, y = load_digits(return_X_y=True)
order = torch.randperm(len(X))
X, y = torch.tensor(X / 16, dtype=torch.float32)[order], torch.tensor(y)[order]


def mlp():
    """Return a small classifier for 8x8 digit images."""
    return nn.Sequential(nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 10))


def train(model, rows, steps):
    """Train a model with SGD on the given rows and return it."""
    optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
    for _ in range(steps):
        optimizer.zero_grad()
        nn.functional.cross_entropy(model(X[rows]), y[rows]).backward()
        optimizer.step()
    return model


base = train(mlp(), slice(0, 300), 400)  # shared pretrained starting point
halves = (slice(300, 900), slice(900, 1500))  # two different fine-tuning datasets
for name, (a, b) in [
    ("fine-tuned from one base", [train(copy.deepcopy(base), rows, 100) for rows in halves]),
    ("trained from separate inits", [train(mlp(), rows, 400) for rows in halves]),
]:
    # Merge: average every weight tensor of the two models
    merged = copy.deepcopy(a)
    merged.load_state_dict({k: (a.state_dict()[k] + b.state_dict()[k]) / 2 for k in a.state_dict()})
    accuracy = [(m(X[1500:]).argmax(1) == y[1500:]).float().mean().item() for m in (a, b, merged)]
    print(f"{name}: {accuracy[0]:.3f} and {accuracy[1]:.3f}, merged {accuracy[2]:.3f}")

Sur les 297 chiffres réservés à l’évaluation, les deux modèles réglés finement à partir d’un même modèle de base obtiennent des scores de 0,956 et 0,946, et leur moyenne atteint 0,970, un résultat supérieur à chacun des deux modèles, car elle combine ce que chacun a appris à partir de sa moitié des données. Les deux modèles entraînés à partir d’initialisations distinctes obtiennent des scores de 0,946 et 0,956, tandis que leur moyenne tombe à 0,808. Git Re-Basin fusionne des modèles entraînés indépendamment en permutant d’abord les unités cachées de l’un pour les faire correspondre à celles de l’autre.

  • Ensemble de modèles : conserve chaque modèle et combine leurs sorties ; l’utilisation mémoire et la latence d’inférence augmentent donc avec le nombre de modèles. Un modèle fusionné a la taille et la vitesse d’un seul modèle.
  • Distillation des connaissances : entraîne un nouveau modèle étudiant à imiter un ou plusieurs modèles enseignants, ce qui nécessite des données d’entraînement et des ressources de calcul. La fusion est une opération arithmétique directe sur des poids existants.
  • Entraînement multitâche : entraîne un modèle sur les données de toutes les tâches à la fois, ce qui définit généralement la précision que la fusion cherche à atteindre sans avoir accès à ces données.
  • Apprentissage fédéré : fait la moyenne des poids de modèles entraînés sur des appareils distincts à chaque cycle. Chaque cycle fait repartir tous les clients du même modèle global, le point de départ commun qui permet au moyennage de fonctionner.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique