Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Fusion de modèles

Découvrez comment la fusion de modèles permet de combiner plusieurs modèles pré-entraînés en un seul. Apprenez à fusionner les poids Ultralytics pour améliorer les performances sans augmenter la latence.

La fusion de modèles est une technique innovante en apprentissage automatique (ML) qui combine les paramètres appris (poids) de plusieurs modèles pré-entraînés en un seul modèle unifié. Contrairement aux configurations multi-modèles traditionnelles, la fusion combine directement les poids des modèles dans l'espace des paramètres. Cela permet aux praticiens de combiner les connaissances spécialisées de plusieurs modèles affinés pour différentes tâches ou différents ensembles de données sans encourir les coûts de mémoire et de calcul liés à l'exécution simultanée de plusieurs modèles.

En appliquant les opérations directement aux poids, la fusion de modèles permet de conserver l'empreinte architecturale d'un seul réseau. Cela s'avère particulièrement utile lors du déploiement de pipelines avancés de vision par ordinateur (CV) sur des appareils en périphérie, où la réduction de la latence d'inférence et l'économie de mémoire sont essentielles.

Fusion de modèles distincts

Il est utile de distinguer la fusion de modèles de concepts apparentés tels que l'ensemble de modèles et l'apprentissage par transfert.

  • Fusion de modèles vs ensemble de modèles : un ensemble de modèles conserve les réseaux individuels séparés, en les exécutant chacun lors de l'inférence et en faisant la moyenne de leurs résultats. Cela améliore la précision mais multiplie la charge de calcul. La fusion de modèles combine les poids réels avant l'inférence, ce qui donne un modèle unique ne nécessitant aucun calcul supplémentaire en temps d'exécution.
  • Fusion de modèles vs apprentissage par transfert : l'apprentissage par transfert consiste à prendre un modèle de base et à le former davantage sur un nouvel ensemble de données. La fusion de modèles ne nécessite aucun réglage supplémentaire ; elle utilise des opérations mathématiques pour fusionner des modèles déjà formés.

Techniques courantes

Des chercheurs ont mis au point plusieurs méthodes permettant de combiner efficacement les poids sans compromettre les capacités sous-jacentes du réseau, comme l'ont montré de récentes études universitaires publiées sur arXiv.

  • Moyenne pondérée: La méthode la plus simple, qui consiste à calculer la moyenne des poids provenant de plusieurs modèles partageant la même architecture.
  • Arithmétique des tâches: technique consistant à additionner ou soustraire des « vecteurs de tâches » (la différence entre un modèle optimisé et son modèle de base) afin de combiner ou de supprimer des comportements spécifiques.
  • TIES-Merging: une approche avancée qui résout les interférences entre paramètres en éliminant les valeurs redondantes et en choisissant des signes cohérents entre les modèles, tout en préservant les performances pour diverses tâches.

Applications concrètes

La fusion de modèles est très efficace pour créer des systèmes généralisés sans avoir à les réentraîner à partir de zéro.

  • Véhicules autonomes: Une voiture autonome pourrait utiliser un modèle de base Ultralytics . Les ingénieurs peuvent entraîner indépendamment une version du modèle pour detect les mouvements detect des piétons et une autre pour interpréter les panneaux de signalisation complexes. La fusion de ces deux modèles permet de créer un détecteur unique et très performant, capable de gérer les deux tâches simultanément sans doubler le temps d'inférence.
  • L'IA dans le secteur de la santé: En imagerie médicale, différents hôpitaux de recherche peuvent affiner leurs modèles à partir d'ensembles de données locaux spécialisés (par exemple, un pour les IRM et un autre pour les scanners) en raison de lois strictes sur la confidentialité des données. En fusionnant ces modèles de manière sécurisée, les chercheurs peuvent créer un outil de diagnostic complet qui tire parti de la diversité des distributions de données.

Exemple : Moyenne pondérée simple

Vous pouvez facilement effectuer une fusion de modèles de base à l'aide de PyTorch. L'exemple suivant montre comment calculer la moyenne des dictionnaires d'états de deux modèles ayant une structure identique.

import torch

# Load the weights (state dicts) from two identical architectures
weights_a = torch.load("yolo26_task1.pt")["model"].state_dict()
weights_b = torch.load("yolo26_task2.pt")["model"].state_dict()

# Perform simple weight averaging
merged_weights = {k: (weights_a[k] + weights_b[k]) / 2.0 for k in weights_a.keys()}

# Save the newly merged model weights
torch.save({"model": merged_weights}, "yolo26_merged.pt")

Pour les équipes qui souhaitent simplifier les processus complexes d'annotation, d'entraînement et de déploiement des ensembles de données, la Ultralytics offre une interface intuitive permettant de gérer sans effort des projets d'IA visuelle de bout en bout.

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique