Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Fusion de jetons (ToMe)

Découvrez comment la fusion de tokens (ToMe) optimise les modèles Transformer et ViT. Apprenez à réduire le nombre de FLOP, à accélérer l'inférence en temps réel et à booster la vitesse de l'IA générative.

Le « Token Merging » (ToMe) est une technique de pointe conçue pour optimiser les performances et l'efficacité des architectures Transformer en réduisant le nombre de tokens traités lors des passages en avant. Initialement développé pour accélérer les modèles Vision Transformer (ViT), ToMe fonctionne en identifiant et en combinant systématiquement les tokens redondants au sein du réseau sans nécessiter de formation supplémentaire. Étant donné que la complexité computationnelle du mécanisme d'auto-attention évolue de manière quadratique avec le nombre de tokens, la fusion de tokens similaires réduit considérablement le nombre total d'opérations en virgule flottante (FLOP), permettant ainsi une inférence en temps réel nettement plus rapide.

Comprendre le processus de fusion des jetons

ToMe se distingue fondamentalement de la tokenisation, qui constitue l'étape initiale de prétraitement consistant à décomposer une image ou un texte en tokens individuels. Alors que la tokenisation crée des éléments discrets, la fusion de tokens agit comme un mécanisme de sous-échantillonnage dynamique pendant l'exécution en avant du modèle.

L'algorithme utilise généralement l'appariement bipartite pour évaluer la similarité des tokens, en calculant souvent la similarité cosinus entre les clés des tokens dans les couches d'attention. Les tokens qui partagent des informations visuelles ou sémantiques très similaires sont fusionnés, souvent en faisant la moyenne de leurs caractéristiques. Cela garantit la préservation des informations spatiales ou contextuelles essentielles tout en éliminant la charge de calcul superflue, ce qui permet à des frameworks comme PyTorch de traiter des modèles de vision complexes beaucoup plus rapidement.

Applications concrètes de la fusion de jetons

La fusion de jetons est devenue une stratégie d'optimisation essentielle pour le déploiement d'architectures lourdes basées sur l'attention dans des environnements aux ressources informatiques limitées.

  1. IA générative et synthèse d'images: Dans les modèles de diffusion texte-image courants, ToMe est fréquemment utilisé pour accélérer la génération d'images. En fusionnant les tokens d'arrière-plan ou à faible niveau de détail, le processus de génération nécessite moins d'étapes, ce qui permet d'économiser d'énormes GPU et de réduire la latence pour les utilisateurs finaux qui s'appuient sur des modèles génératifs. Vous pouvez en savoir plus sur les processus de diffusion dans les recherches fondamentales disponibles sur arXiv.
  2. Déploiements d'IA en périphérie: Le déploiement de modèles volumineux tels que le Segment Anything Model (SAM) sur des appareils mobiles est notoirement difficile en raison des contraintes de mémoire. ToMe permet de réduire dynamiquement l'empreinte mémoire, ce qui permet d'exécuter des tâches complexes de segmentation d'images sur du matériel en périphérie. Dans les scénarios où la vitesse pure est essentielle, les ingénieurs se tournent souvent vers des architectures optimisées en natif et sans attention telles que Ultralytics pour une inférence en périphérie plus rapide et de bout en bout.

Python : calcul de la similarité entre tokens

Bien que l'intégration de ToMe dans une architecture complète nécessite de modifier les blocs d'attention, le concept de base repose sur la recherche de tokens similaires. PyTorch suivant montre comment calculer la similarité cosinus entre un ensemble de tokens afin d'identifier ceux qui pourraient être fusionnés.

import torch
import torch.nn.functional as F

# Simulate a batch of 4 image patches (tokens) with 64-dimensional features
tokens = torch.randn(1, 4, 64)

# Normalize the tokens to easily compute cosine similarity via dot product
normalized_tokens = F.normalize(tokens, p=2, dim=-1)

# Compute the similarity matrix between all tokens (1 x 4 x 4)
similarity_matrix = torch.matmul(normalized_tokens, normalized_tokens.transpose(1, 2))

# Tokens with high similarity scores (close to 1.0) off the diagonal
# are prime candidates for Token Merging.
print("Similarity Matrix:", similarity_matrix)

Les pipelines modernes d'apprentissage automatique exigent un équilibre minutieux entre précision et rapidité. Que vous utilisiez le Token Merging pour optimiser un modèle ViT personnalisé ou que vous tiriez parti des performances de pointe de YOLO26, la gestion de ces flux de données complexes est considérablement simplifiée par la Ultralytics . La plateforme offre un écosystème intuitif pour l'annotation automatisée des données, l'entraînement fluide dans le cloud et le déploiement robuste de modèles sur divers environnements matériels d'edge computing. Les organisations qui développent leurs initiatives en vision par ordinateur s'appuient sur ces outils pour mettre en production des modèles de pointe de manière fiable et efficace.

Construisons ensemble l'avenir de l'IA !

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