Task Arithmetic
Découvre comment l’arithmétique des tâches utilise les mises à jour des poids pour modifier le comportement d’un 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 neuronaux pré-entraînés en ajoutant ou en soustrayant des mises à jour de poids spécifiques. Plutôt que de réentraîner entièrement un modèle à partir de zéro, les praticiens peuvent 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, les développeurs peuvent modifier dynamiquement des systèmes d'apprentissage profond. Ce paradigme a suscité un intérêt considérable dans les récentes recherches arXiv sur l'arithmétique des tâches, offrant une méthode légère et économe en calcul pour adapter des modèles à grande échelle à de nouvelles exigences.
Fonctionnement du concept#
Le fondement de cette technique repose sur le calcul de la différence entre les poids du modèle pré-entraîné de base et ceux d'une version ayant fait l'objet d'un réglage fin 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 les méthodes d'entraînement TensorFlow, les ingénieurs peuvent 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 étudié dans les recherches d'Anthropic sur la sécurité des modèles.
Applications concrètes#
L'arithmétique des tâches permet plusieurs flux de travail très efficaces dans les pipelines modernes de vision par ordinateur et de traitement du langage naturel :
- Fusion de capacités multitâches : les ingénieurs peuvent entraîner indépendamment un modèle de base Ultralytics YOLO26 sur deux jeux de données distincts : 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, puis en les réajoutant au modèle de base, le réseau obtenu peut effectuer les deux tâches simultanément sans subir 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, les chercheurs peuvent affiner une copie sur les données biaisées, extraire les différences de poids spécifiques, puis les soustraire du modèle d'origine. Comme l'indiquent diverses découvertes de Google DeepMind, cela efface efficacement le comportement indésirable tout en préservant les capacités générales d'intelligence artificielle du modèle.
Distinguer les concepts associés#
Lorsque tu consultes les archives d'IEEE Xplore ou la bibliothèque numérique de l'ACM, il est facile de confondre l'arithmétique des tâches avec des méthodologies apparentées :
- Vecteurs de tâche : il s'agit des tenseurs mathématiques proprement dits, c'est-à-dire les différences de poids calculées, utilisés pendant le processus arithmétique. L'arithmétique des tâches est le cadre général qui consiste à additionner ou soustraire ces vecteurs.
- Fusion de modèles : il s'agit d'un terme plus large désignant la combinaison de plusieurs modèles. Si l'arithmétique constitue une façon de fusionner des modèles, la fusion peut également faire intervenir des réseaux de routage complexes ou des ensembles de modèles.
- Apprentissage par transfert : selon les concepts d'apprentissage par transfert de Wikipédia, cette approche consiste à utiliser les connaissances acquises pour 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 au moyen de calculs directs sur les poids, sans boucles d'entraînement supplémentaires.
Implémentation des opérations arithmétiques#
L'application pratique de ces stratégies d'optimisation des modèles nécessite de gérer soigneusement l'état interne du modèle. Tu trouveras ci-dessous un exemple de calcul et d'application d'une mise à jour avec PyTorch, une technique fréquemment abordée dans les récentes publications 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 qui gèrent des pipelines complexes d'annotation de données et plusieurs versions de modèles affinés, la plateforme Ultralytics fournit un environnement rationalisé pour superviser l'entraînement dans le cloud et le déploiement fluide, rendant la gestion des améliorations itératives des modèles bien plus efficace.






