Task Arithmetic
Découvre comment l'arithmétique des tâches utilise les mises à jour de poids pour modifier le comportement du modèle. Apprends à fusionner des tâches ou à désapprendre des caractéristiques dans Ultralytics YOLO26 sans réentraînement complet.
L'arithmétique des tâches est une technique avancée d'apprentissage automatique qui consiste à modifier le comportement de réseaux de neurones pré-entraînés en ajoutant ou en soustrayant des mises à jour de poids spécifiques. Au lieu de réentraîner entièrement un modèle à partir de zéro, tu peux isoler les différences apprises entre un modèle de base et un modèle affiné. Ces différences sont essentiellement des mises à jour directionnelles qui encapsulent une capacité ou un comportement spécifique. En appliquant des opérations mathématiques de base comme l'addition et la soustraction à ces mises à jour, tu peux modifier dynamiquement tes systèmes d'apprentissage profond. Ce paradigme a gagné une importance considérable dans les récentes recherches arXiv sur l'arithmétique des tâches, offrant une méthode légère et efficace en calcul pour adapter des modèles à grande échelle à de nouvelles exigences.
Link to this sectionComment fonctionne le concept#
Le fondement de cette technique repose sur le calcul de la différence des poids du modèle entre un modèle de base pré-entraîné et une version ayant subi un affinage sur un jeu de données spécifique. Cette différence isolée devient une représentation localisée de la nouvelle compétence. En manipulant directement les dictionnaires d'état PyTorch ou en utilisant des méthodologies d'entraînement TensorFlow, tu peux mettre à l'échelle et combiner ces différences de poids. Par exemple, soustraire une mise à jour de poids spécifique peut forcer un modèle à "oublier" un comportement appris, un concept largement exploré dans les recherches d'Anthropic sur la sécurité des modèles.
Link to this sectionApplications concrètes#
L'arithmétique des tâches permet des flux de travail très efficaces dans les pipelines modernes de vision par ordinateur et de traitement du langage naturel :
- Fusion de capacités multi-tâches : Tu peux entraîner un modèle de base Ultralytics YOLO26 sur deux jeux de données séparés indépendamment — l'un pour la détection d'objets spécialisée et l'autre pour la classification d'images. En calculant les différences de poids pour les deux tâches et en les rajoutant au modèle de base, le réseau résultant peut effectuer les deux tâches simultanément sans souffrir d'oubli catastrophique.
- Désapprentissage ciblé pour la sécurité de l'IA : Si un modèle de vision apprend par inadvertance des caractéristiques biaisées à partir de ses données d'entraînement, tu peux affiner une copie sur les données biaisées, extraire les différences de poids spécifiques et les soustraire du modèle original. Comme noté dans diverses découvertes de Google DeepMind, cela efface efficacement le comportement indésirable tout en préservant les capacités d'intelligence artificielle générales du modèle.
Link to this sectionDifférencier les concepts associés#
En naviguant dans les archives IEEE Xplore ou la bibliothèque numérique ACM, il est facile de confondre l'arithmétique des tâches avec des méthodologies connexes :
- Vecteurs de tâches : Ce sont les tenseurs mathématiques réels (les différences de poids calculées) utilisés pendant le processus arithmétique. L'arithmétique des tâches est le cadre global permettant d'ajouter ou de soustraire ces vecteurs.
- Fusion de modèles : C'est un terme plus large pour désigner la combinaison de plusieurs modèles. Bien que l'arithmétique soit un moyen de fusionner des modèles, la fusion peut également impliquer des réseaux de routage complexes ou l'assemblage.
- Apprentissage par transfert : Selon les concepts d'apprentissage par transfert de Wikipédia, cela implique d'utiliser les connaissances d'une tâche comme point de départ pour une autre, ce qui nécessite généralement des boucles d'entraînement supplémentaires. L'arithmétique des tâches modifie les comportements uniquement par des calculs de poids directs, sans boucles d'entraînement supplémentaires.
Link to this sectionMise en œuvre des opérations arithmétiques#
L'application de ces stratégies d'optimisation de modèles en pratique nécessite une gestion prudente de l'état interne du modèle. Voici un exemple de calcul et d'application d'une mise à jour utilisant PyTorch, une technique fréquemment discutée dans les récents articles sur la vision par ordinateur.
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vectorPour les équipes gérant des pipelines complexes d'annotation de données et plusieurs versions de modèles affinés, l'Ultralytics Platform offre un environnement rationalisé pour superviser l'entraînement dans le cloud et un déploiement transparent, rendant la gestion des améliorations itératives de modèles beaucoup plus efficace.






