Maison > Article > Périphériques technologiques > De nouvelles idées pour accélérer les modèles ViT ! Meta lance Token Merging, qui repose sur la fusion plutôt que sur l'élagage
Visual Transformer (ViT) est devenu public il y a deux ans et est devenu un élément essentiel de la recherche sur la vision par ordinateur.
Il a migré avec succès un modèle Transformer dans le domaine du traitement du langage naturel vers le domaine de la vision par ordinateur. Depuis, les progrès dans le domaine de la vision par ordinateur se sont accélérés.
Bien qu'il soit surpassé en termes de coût et de performances, Vanilla ViT présente encore de nombreux avantages.
Ils sont composés de multiplications matricielles simples, ce qui les rend plus rapides que ne l'indiquerait leur nombre brut d'opérations.
De plus, ils prennent en charge de puissantes techniques de pré-entraînement auto-supervisées telles que le MAE (Masked Autoencoder) qui produisent des résultats de pointe tout en permettant un entraînement rapide.
Et comme ils ne font aucune hypothèse sur les données, ils peuvent être appliqués à de nombreux modes tels que les images, l'audio, le texte, etc. avec presque aucun changement.
Bien sûr, l'idéal est très complet, mais la réalité est très maigre. Le modèle ViT est à grande échelle et présente un retard important. Exécuter ce modèle complexe sur un appareil aux ressources limitées peut s’avérer très problématique.
En réponse au problème du fonctionnement lent, les chercheurs ont proposé plusieurs solutions. L’un des moyens courants d’accélérer le modèle Vision Transformer consiste à effectuer un élagage des jetons.
Élaguez les jetons au moment de l'exécution pour produire des Transformers efficaces en éliminant les jetons moins importants. Par exemple, DynamicViT supprime les jetons redondants de manière hiérarchique pour réduire les FLOP dans les tâches de classification.
Cependant, l'élagage des jetons présente plusieurs problèmes, le plus important étant que l'élagage des jetons entraînera une perte d'informations. Par conséquent, le nombre de jetons de modèle ViT que les gens peuvent élaguer est limité afin de réduire la perte d'informations. Seuls les jetons sans importance peuvent être élagués.
De plus, pour que les jetons élagués soient valides, il faut entraîner à nouveau le modèle. Cela entraîne une consommation de ressources supplémentaire.
Plus important encore, l'élagage des jetons est un processus dynamique, et différents nombres d'élagages de jetons doivent être déterminés en fonction de différentes images ou phrases. Même si cela permet d’améliorer la précision, ce n’est pas assez pratique car dans ce cas, les données ne peuvent plus être traitées par lots.
Afin de résoudre ce problème, les gens doivent ajouter des masques pendant le processus de taille, ce qui affectera davantage l'amélioration de l'efficacité.
En termes simples, l'élagage des jetons permet à ViT de fonctionner plus rapidement, mais cela se fait au prix d'une perte d'informations.
Comment pouvons-nous rendre le ViT similaire à l'élagage en termes de vitesse tout en conservant une précision supérieure à celle de l'élagage ? L'équipe de recherche Meta AI a mis au point une nouvelle solution : Token Merging (ToMe).
Lien papier : https://arxiv.org/pdf/2210.09461.pdf
Token Merging choisit de combiner des jetons au lieu de l'élagage. Grâce à son algorithme de matching personnalisé, il est aussi rapide que l’élagage tout en étant plus précis. De plus, il fonctionne sans aucune formation supplémentaire, vous pouvez donc l'utiliser sur d'énormes modèles pour les accélérer sans sacrifier beaucoup de précision.
L'objectif de Meta est d'insérer un module de fusion de jetons dans le ViT existant pour améliorer le débit de formation et d'inférence sans nécessiter de formation supplémentaire en fusionnant des jetons redondants.
L'idée de base est la suivante : dans le modèle Transformer, par fusion, chaque couche est réduite de r jetons. Supposons qu'un modèle Transformer comporte L couches, les jetons rL peuvent être réduits par fusion. La taille de la variable r détermine la relation entre la vitesse et la précision, car moins de marqueurs signifie une précision moindre mais un débit plus élevé.
Il est à noter que dans Token Merging, les jetons rL sont réduits quel que soit le contenu de l'image. Cela résout parfaitement le problème de l’incapacité d’effectuer un traitement par lots lors de l’élagage des jetons.
Avec ToMe, des lots de jetons similaires sont fusionnés dans chaque bloc Transformer : par exemple, la fourrure de chien est fusionnée en un seul jeton.
La fusion de jetons est insérée dans chaque bloc d'attention et chaque bloc Transformer. Cela contraste également avec le flux de travail d’élagage des jetons. Ce dernier a tendance à placer l’étape d’élagage au début de chaque bloc Transformer.
Grâce à la fusion de jetons, les informations sur les jetons qui doivent être fusionnés peuvent être diffusées, et ViT peut également utiliser les caractéristiques du bloc d'attention pour décider quels jetons doivent être fusionnés.
La première étape de la fusion consiste à identifier les jetons similaires. À condition que QKV (requête, clé, valeur) dans Transformer ait été extrait, grâce à des expériences d'ablation, l'équipe de recherche a découvert que l'utilisation de la clé permet de mieux mesurer la similarité entre les jetons (partie violette dans la figure ci-dessous).
Étant donné que la clé a résumé les informations contenues dans chaque jeton, elle peut être utilisée pour le produit scalaire dans Attention afin de mesurer la similarité entre les jetons.
En plus d'étudier quel indicateur est le meilleur pour mesurer la similarité des jetons, vous devez également savoir quelle distance mesure la similarité. Grâce à des expériences, l'équipe de recherche a découvert que l'utilisation de la distance cosinusoïdale pour mesurer la similarité entre les coups permet d'obtenir la meilleure relation entre précision et vitesse.
Après avoir déterminé la similarité des jetons, une méthode rapide est nécessaire pour déterminer quels jetons doivent correspondre pour réduire le nombre total de r.
L'équipe Meta n'utilise pas d'algorithme de clustering kmeans ni d'algorithme de segmentation de graphiques, mais utilise un algorithme de correspondance, car ce dernier peut non seulement faire correspondre avec précision le nombre de jetons dans chaque couche, mais également effectuer rapidement des milliers de correspondances. Ces résultats ne peuvent pas être réalisés par des algorithmes de clustering itératifs.
L'équipe Meta a donc trouvé une solution plus efficace.
Les objectifs de conception sont les suivants. 1.) évitez toute itération qui ne peut pas être parallélisée, 2.) souhaitez que les modifications fusionnées soient progressives, car le clustering n'a aucune limite sur le nombre de balises pouvant être fusionnées dans un groupe (ce qui peut nuire au réseau), tout en correspondant. les balises ne sont pas fusionnées.
Grâce à cette technologie unique, le débit et la vitesse d'entraînement réelle du modèle ViT peuvent être améliorés. L’utilisation de la fusion de jetons peut doubler la vitesse d’entraînement. Il peut être utilisé pour des tâches d’image, vidéo et audio tout en atteignant une précision de pointe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!