Modèles et plateformes d’IA

EfficientViT : Un Transformateur de Vision Économe en Mémoire pour la Vision par Ordinateur à Haute Résolution

mm
Ajouter Unite.AI à vos sources préférées sur Google

En raison de leur grande capacité de modèle, les modèles de transformateurs de vision ont connu un grand succès ces derniers temps. Malgré leurs performances, les modèles de transformateurs de vision ont un défaut majeur : leur puissance de calcul remarquable se fait au prix de coûts de calcul élevés, et c’est la raison pour laquelle les transformateurs de vision ne sont pas le premier choix pour les applications en temps réel. Pour résoudre ce problème, un groupe de développeurs a lancé EfficientViT, une famille de transformateurs de vision à haute vitesse.

Lorsqu’ils travaillaient sur EfficientViT, les développeurs ont observé que la vitesse des modèles de transformateurs actuels est souvent limitée par des opérations de mémoire inefficaces, en particulier les fonctions élément par élément et le remodelage de tenseurs dans le réseau d’auto-attention multi-tête. Pour résoudre ces opérations de mémoire inefficaces, les développeurs d’EfficientViT ont travaillé sur un nouveau bloc de construction utilisant une disposition en sandwich, c’est-à-dire que le modèle EfficientViT utilise une seule couche d’auto-attention multi-tête entre des couches de réseau de neurones à avant-propagation efficaces qui aident à améliorer l’efficacité de la mémoire, et qui améliorent également la communication globale des canaux. De plus, le modèle découvre que les cartes d’attention ont souvent des similarités élevées entre les têtes, ce qui entraîne une redondance de calcul. Pour résoudre le problème de redondance, le modèle EfficientViT présente un module d’attention de groupe en cascade qui alimente les têtes d’attention avec des divisions différentes de la fonction de caractéristiques complète. La méthode non seulement aide à économiser les coûts de calcul, mais améliore également la diversité de l’attention du modèle.

Des expériences complètes effectuées sur le modèle EfficientViT dans différents scénarios indiquent que le modèle EfficientViT surpasse les modèles efficaces existants pour la vision par ordinateur tout en trouvant un bon équilibre entre la précision et la vitesse. Alors, plongeons plus en profondeur et explorons le modèle EfficientViT en détail.

Introduction aux Transformateurs de Vision et à EfficientViT

Les transformateurs de vision restent l’un des cadres les plus populaires de l’industrie de la vision par ordinateur car ils offrent des performances supérieures et des capacités de calcul élevées. Cependant, avec l’amélioration constante de la précision et des performances des modèles de transformateurs de vision, les coûts opérationnels et la charge de calcul augmentent également. Par exemple, les modèles actuels connus pour fournir des performances de pointe sur les ensembles de données ImageNet comme SwinV2 et V-MoE utilisent respectivement 3 milliards et 14,7 milliards de paramètres. La taille considérable de ces modèles, couplée avec les coûts de calcul et les exigences, les rend pratiquement inadaptés aux appareils et aux applications en temps réel.

Le modèle EfficientNet vise à explorer comment améliorer les performances des modèles de transformateurs de vision et à trouver les principes impliqués dans la conception de cadres de transformateurs efficaces et efficaces. Le modèle EfficientViT est basé sur les cadres de transformateurs de vision existants comme Swim et DeiT, et il analyse trois facteurs essentiels qui affectent les vitesses d’interférence des modèles, notamment la redondance de calcul, l’accès à la mémoire et l’utilisation de paramètres. De plus, le modèle observe que la vitesse des modèles de transformateurs de vision est limitée par la mémoire, ce qui signifie que l’utilisation complète de la puissance de calcul dans les CPU/GPU est interdite ou restreinte par le retard d’accès à la mémoire, ce qui a un impact négatif sur la vitesse d’exécution des transformateurs. Les fonctions élément par élément et le remodelage de tenseurs dans le réseau d’auto-attention multi-tête sont les opérations les plus inefficaces en termes de mémoire. Le modèle observe également qu’une ajustement optimal du rapport entre le réseau de neurones à avant-propagation et le réseau d’auto-attention multi-tête peut aider à réduire considérablement le temps d’accès à la mémoire sans affecter les performances. Cependant, le modèle observe également une redondance dans les cartes d’attention en raison de la tendance des têtes d’attention à apprendre des projections linéaires similaires.

Le modèle est le résultat final des découvertes effectuées lors des travaux de recherche sur EfficientViT. Le modèle présente un nouveau bloc de construction avec une disposition en sandwich qui applique une seule couche d’auto-attention multi-tête entre les couches de réseau de neurones à avant-propagation, ce qui non seulement réduit le temps d’exécution des opérations liées à la mémoire dans le réseau d’auto-attention multi-tête, mais rend également le processus plus efficace en termes de mémoire en permettant à plus de couches de réseau de neurones à avant-propagation de faciliter la communication entre les différents canaux. Le modèle utilise également un nouveau module d’attention de groupe en cascade qui vise à rendre les calculs plus efficaces en réduisant la redondance de calcul non seulement dans les têtes d’attention, mais également en augmentant la profondeur du réseau, ce qui entraîne une capacité de modèle élevée. Enfin, le modèle élargit la largeur de canal des composants de réseau essentiels, notamment les projections de valeur, tout en réduisant la largeur de canal des composants de réseau peu importants, comme les dimensions cachées dans les réseaux de neurones à avant-propagation, pour réallouer les paramètres dans le cadre.

Comme on peut le voir dans l’image ci-dessus, le cadre EfficientViT se comporte mieux que les modèles CNN et ViT actuels en termes de précision et de vitesse. Mais comment le cadre EfficientViT a-t-il réussi à surpasser certains des cadres actuels de pointe ? Découvrons-le.

EfficientViT : Améliorer l’Efficacité des Transformateurs de Vision

Le modèle EfficientViT vise à améliorer l’efficacité des modèles de transformateurs de vision existants en utilisant trois perspectives,

  1. Redondance de calcul.
  2. Accès à la mémoire.
  3. Utilisation de paramètres.

Le modèle vise à découvrir comment les paramètres ci-dessus affectent l’efficacité des modèles de transformateurs de vision et comment les résoudre pour obtenir de meilleurs résultats avec une meilleure efficacité. Découvrons-les en détail.

Accès à la Mémoire et Efficacité

L’un des facteurs essentiels qui affectent la vitesse d’un modèle est la charge de surcharge d’accès à la mémoire ou MAO. Comme on peut le voir dans l’image ci-dessous, plusieurs opérateurs dans le transformateur, notamment les fonctions élément par élément, la normalisation et le remodelage de tenseurs fréquent, sont des opérations inefficaces en termes de mémoire, car elles nécessitent l’accès à des unités de mémoire différentes, ce qui est un processus chronophage.

Bien qu’il existe des méthodes existantes qui peuvent simplifier les calculs d’auto-attention standard, comme l’approximation de faible rang et l’attention éparse, elles offrent souvent une accélération limitée et dégradent la précision.

D’un autre côté, le cadre EfficientViT vise à réduire les coûts d’accès à la mémoire en réduisant le nombre de couches inefficaces en termes de mémoire dans le cadre. Le modèle réduit les sous-réseaux DeiT-T et Swin-T à de petits sous-réseaux avec un débit d’interférence plus élevé de 1,25X et 1,5X, et compare les performances de ces sous-réseaux avec les proportions des couches d’auto-attention multi-tête. Comme on peut le voir dans l’image ci-dessous, lorsque mis en œuvre, l’approche améliore la précision des couches d’auto-attention multi-tête d’environ 20 à 40 %.

Efficacité de Calcul

Les couches d’auto-attention multi-tête tendent à intégrer la séquence d’entrée dans plusieurs sous-espaces ou têtes, et calculent les cartes d’attention individuellement, une approche qui est connue pour améliorer les performances. Cependant, les cartes d’attention ne sont pas bon marché en termes de calcul, et pour explorer les coûts de calcul, le modèle EfficientViT explore comment réduire la redondance d’attention dans les petits modèles de transformateurs de vision. Le modèle mesure la similarité cosinuse maximale de chaque tête et des têtes restantes dans chaque bloc en entraînant les modèles DeiT-T et Swim-T avec une vitesse d’inférence de 1,25 fois. Comme on peut l’observer dans l’image ci-dessous, il y a un nombre élevé de similarité entre les têtes d’attention, ce qui suggère que le modèle incourt une redondance de calcul car de nombreuses têtes tendent à apprendre des projections similaires de la fonction de caractéristiques complète.

Pour encourager les têtes à apprendre des modèles différents, le modèle applique explicitement une solution intuitive dans laquelle chaque tête est alimentée avec une partie de la fonction de caractéristiques complète, une technique qui ressemble à l’idée de convolution de groupe. Le modèle entraîne différents aspects des modèles réduits qui présentent des couches d’auto-attention multi-tête modifiées.

Efficacité des Paramètres

Les modèles de transformateurs de vision moyens héritent de leurs stratégies de conception, comme l’utilisation d’une largeur équivalente pour les projections, la fixation du rapport d’expansion à 4 dans le réseau de neurones à avant-propagation, et l’augmentation des têtes sur les étapes à partir de NLP. Les configurations de ces composants doivent être conçues soigneusement pour les modules légers. Le modèle EfficientViT déploie une élagage structuré Taylor pour trouver les composants essentiels dans les couches DeiT-T et Swim-T automatiquement, et explore également les principes sous-jacents d’allocation de paramètres. Sous certaines contraintes de ressources, les méthodes d’élagage suppriment les canaux non importants et conservent les canaux critiques pour assurer la précision la plus élevée possible. La figure ci-dessous compare le rapport des canaux aux embeddings d’entrée avant et après élagage sur le cadre Swin-T. Il a été observé que : Précision de base : 79,1 % ; précision élaguée : 76,5 %.

L’image ci-dessus indique que les deux premières étapes du cadre conservent plus de dimensions, tandis que les deux dernières étapes conservent beaucoup moins de dimensions. Cela peut signifier qu’une configuration de canal typique qui double la largeur de canal après chaque étape ou utilise des canaux équivalents pour tous les blocs peut entraîner une redondance considérable dans les derniers blocs.

Transformateur de Vision Économe : Architecture

Sur la base des connaissances acquises lors de l’analyse ci-dessus, les développeurs ont travaillé sur la création d’un nouveau modèle hiérarchique qui offre des vitesses d’interférence rapides, le modèle EfficientViT. Découvrons la structure du cadre EfficientViT en détail. La figure ci-dessous donne une idée générale du cadre EfficientViT.

Blocs de Construction du Cadre EfficientViT

Le bloc de construction pour le réseau de transformateur de vision plus efficace est illustré dans la figure ci-dessous.

Le cadre se compose d’un module d’attention de groupe en cascade, d’une disposition en sandwich efficace en termes de mémoire, et d’une stratégie de réallocation de paramètres qui se concentrent sur l’amélioration de l’efficacité du modèle en termes de calcul, de mémoire et de paramètres, respectivement. Découvrons-les en détail.

Disposition en Sandwich

Le modèle utilise une nouvelle disposition en sandwich pour construire un bloc de mémoire plus efficace pour le cadre. La disposition en sandwich utilise moins de couches d’auto-attention liées à la mémoire et utilise plus de réseaux de neurones à avant-propagation efficaces pour la communication des canaux. Plus précisément, le modèle applique une seule couche d’auto-attention pour le mélange spatial qui est sandwichée entre les couches de réseau de neurones à avant-propagation. La conception non seulement aide à réduire le temps de consommation de mémoire en raison des couches d’auto-attention, mais permet également une communication efficace entre les différents canaux dans le réseau grâce à l’utilisation des couches de réseau de neurones à avant-propagation. Le modèle applique également une couche de jeton d’interaction supplémentaire avant chaque couche de réseau de neurones à avant-propagation en utilisant une convolution déceptive, et améliore la capacité du modèle en introduisant un biais inductif d’informations structurelles locales.

Attention de Groupe en Cascade

L’un des principaux problèmes des couches d’auto-attention multi-tête est la redondance dans les têtes d’attention, ce qui rend les calculs moins efficaces. Pour résoudre le problème, le modèle propose un module d’attention de groupe en cascade pour les transformateurs de vision, un nouveau module d’attention qui s’inspire des convolutions de groupe dans les réseaux de neurones à convolution efficaces. Dans cette approche, le modèle alimente les têtes d’attention individuelles avec des divisions des fonctions de caractéristiques complètes, et décompose ainsi explicitement le calcul d’attention à travers les têtes. La division des fonctions de caractéristiques au lieu de les alimenter avec les fonctions de caractéristiques complètes à chaque tête économise des calculs et rend le processus plus efficace, et le modèle continue de travailler sur l’amélioration de la précision et de la capacité en encourageant les couches à apprendre des projections sur des fonctions de caractéristiques plus riches en informations.

Réallocation de Paramètres

Pour améliorer l’efficacité des paramètres, le modèle réalloue les paramètres dans le réseau en élargissant la largeur de canal des composants de réseau essentiels, notamment les projections de valeur, tout en réduisant la largeur de canal des composants de réseau peu importants, comme les dimensions cachées dans les réseaux de neurones à avant-propagation. Sur la base de l’analyse de Taylor, le modèle soit définit de petites dimensions de canal pour les projections dans chaque tête à chaque étape, soit permet aux projections d’avoir la même dimension que l’entrée. Le rapport d’expansion du réseau de neurones à avant-propagation est également réduit à 2 à partir de 4 pour aider à la redondance de paramètres. La stratégie de réallocation proposée que le cadre EfficientViT met en œuvre alloue plus de canaux aux composants importants pour leur permettre d’apprendre des représentations dans un espace à haute dimension de manière plus efficace, ce qui minimise la perte d’informations de fonction de caractéristiques. De plus, pour accélérer le processus d’interférence et améliorer l’efficacité du modèle, le modèle supprime automatiquement les paramètres redondants dans les composants non importants.

La vue d’ensemble du cadre EfficientViT peut être expliquée dans l’image ci-dessus, où les parties,

  1. Architecture d’EfficientViT,
  2. Bloc de disposition en sandwich,
  3. Attention de groupe en cascade.

 

EfficientViT : Architectures de Réseau

L’image ci-dessus résume l’architecture de réseau du cadre EfficientViT. Le modèle introduit un embedding de patch chevauchant [20,80] qui intègre des patches de 16×16 dans des jetons de dimension C1, ce qui améliore la capacité du modèle à effectuer une représentation visuelle de bas niveau. L’architecture du modèle se compose de trois étapes, où chaque étape empile les blocs de construction proposés du cadre EfficientViT, et le nombre de jetons à chaque couche d’échantillonnage (2× échantillonnage de la résolution) est réduit de 4X. Pour rendre l’échantillonnage plus efficace, le modèle propose un bloc d’échantillonnage qui a également la disposition en sandwich proposée, à l’exception qu’un bloc résiduel inversé remplace la couche d’auto-attention pour réduire la perte d’informations pendant l’échantillonnage. De plus, au lieu de la normalisation de couche conventionnelle (LN), le modèle utilise la normalisation de lot (BN) car la BN peut être intégrée dans les couches linéaires ou de convolution précédentes, ce qui lui donne un avantage en termes de temps d’exécution par rapport à la LN.

 

Famille de Modèles EfficientViT

La famille de modèles EfficientViT se compose de 6 modèles avec des échelles de profondeur et de largeur différentes, et un nombre fixe de têtes est alloué pour chaque étape. Les modèles utilisent moins de blocs dans les premières étapes par rapport aux dernières étapes, un processus similaire à celui suivi par le cadre MobileNetV3, car le processus de traitement des premières étapes avec des résolutions plus grandes est chronophage. La largeur est augmentée sur les étapes avec un petit facteur pour réduire la redondance dans les dernières étapes. Le tableau ci-joint fournit les détails architecturaux de la famille de modèles EfficientViT, où C, L et H font référence à la largeur, à la profondeur et au nombre de têtes dans l’étape particulière.

EfficientViT : Mise en Œuvre du Modèle et Résultats

Le modèle EfficientViT a une taille de lot totale de 2 048, est construit avec Timm et PyTorch, est entraîné à partir de zéro pendant 300 époques en utilisant 8 GPU Nvidia (NVDA ) V100, utilise un planificateur d’apprentissage cosinus, un optimiseur AdamW, et effectue son expérience de classification d’images sur ImageNet-1K. Les images d’entrée sont coupées et redimensionnées aléatoirement dans une résolution de 224×224. Pour les expériences qui impliquent la classification d’images en aval, le cadre EfficientViT affine le modèle pendant 300 époques et utilise un optimiseur AdamW avec une taille de lot de 256. Le modèle utilise RetineNet pour la détection d’objets sur COCO et entraîne les modèles pendant 12 époques supplémentaires avec les mêmes paramètres.

Résultats sur ImageNet

Pour analyser les performances d’EfficientViT, il est comparé aux modèles de transformateurs de vision et de CNN actuels sur l’ensemble de données ImageNet. Les résultats de la comparaison sont présentés dans la figure ci-dessous. Comme on peut le voir, la famille de modèles EfficientViT surpasse les cadres actuels dans la plupart des cas et parvient à atteindre un équilibre idéal entre la vitesse et la précision.

Comparaison avec les CNN Efficaces et les Transformateurs de Vision Efficaces

Le modèle compare d’abord ses performances avec les CNN efficaces comme EfficientNet et les cadres de CNN classiques comme MobileNets. Comme on peut le voir, lorsque comparé aux cadres MobileNet, les modèles EfficientViT obtiennent un score de précision supérieur, tout en fonctionnant 3,0 fois et 2,5 fois plus rapidement sur les CPU Intel (INTC ) et les GPU V100, respectivement.

La figure ci-dessus compare les performances du modèle EfficientViT avec les modèles de transformateurs de vision à grande échelle actuels qui fonctionnent sur l’ensemble de données ImageNet-1K.

Classification d’Images en Aval

Le modèle EfficientViT est appliqué à diverses tâches en aval pour étudier les capacités d’apprentissage de transfert du modèle, et l’image ci-dessous résume les résultats de l’expérience. Comme on peut l’observer, le modèle EfficientViT-M5 parvient à atteindre de meilleures performances ou des performances similaires sur tous les ensembles de données, tout en maintenant un débit plus élevé. La seule exception est l’ensemble de données Cars, où le modèle EfficientViT ne parvient pas à atteindre la précision.

Détection d’Objets

Pour analyser la capacité du modèle EfficientViT à détecter les objets, il est comparé avec les modèles efficaces sur la tâche de détection d’objets COCO, et l’image ci-dessous résume les résultats de la comparaison.

Pensées Finales

Dans cet article, nous avons discuté d’EfficientViT, une famille de modèles de transformateurs de vision rapides qui utilisent l’attention de groupe en cascade et fournissent des opérations efficaces en termes de mémoire. Des expériences approfondies menées pour analyser les performances d’EfficientViT ont montré des résultats prometteurs, car le modèle EfficientViT surpasse les modèles de CNN et de transformateurs de vision actuels dans la plupart des cas. Nous avons également essayé de fournir une analyse sur les facteurs qui jouent un rôle dans l’interférence de la vitesse des transformateurs de vision.

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.