Optimiser les Vision Transformers pour les appareils à faible ressource
Rendre les transformateurs de vision efficaces pour les drones et les appareils mobiles afin d'améliorer les tâches visuelles.
― 8 min lire
Table des matières
Les transformateurs de vision sont devenus populaires dans les tâches d'apprentissage visuel comme la classification d'images et la détection d'objets grâce à leur capacité à se concentrer sur différentes zones d'une image et à comprendre les relations entre ces zones. Cependant, ces modèles sont souvent volumineux et nécessitent une puissance de calcul importante, ce qui les rend difficiles à utiliser sur des appareils avec des ressources limitées, comme les drones ou les téléphones mobiles. Dans ce travail, notre objectif est de rendre les transformateurs de vision plus petits et plus rapides afin qu'ils puissent fonctionner efficacement sur des appareils à faibles ressources, permettant des applications telles que la surveillance et le suivi environnemental.
Énoncé du problème
Les transformateurs de vision sont excellents pour atteindre une grande précision dans les tâches visuelles, mais leur taille et leurs exigences en ressources peuvent poser problème. Par exemple, un transformateur de vision classique a environ 86 millions de paramètres, ce qui peut le rendre inadapté aux petits dispositifs. Notre objectif est de réduire la taille et la complexité de ces modèles tout en conservant leur capacité à bien performer dans des tâches comme la détection d'objets et la segmentation d'images. Nous nous concentrons sur des appareils comme les drones qui n'ont qu'une petite quantité de mémoire et d'énergie.
Techniques de compression
Pour atteindre notre but, on utilise plusieurs techniques de compression de modèle :
Distillation de connaissances : Cette méthode consiste à entraîner un modèle plus petit (l'élève) pour imiter un modèle plus grand et plus précis (le professeur). Le modèle plus petit apprend des prédictions du professeur, qui sont jugées plus informatives que les étiquettes de formation classiques.
Élagage (Pruning) : Cette technique réduit la Taille du modèle en supprimant les poids qui ont peu d'impact sur la performance du modèle. Il y a deux types d'élagage :
- Élagage non structuré : Supprime des poids individuels selon certains critères, entraînant des motifs irréguliers qui peuvent compliquer l'accélération matérielle.
- Élagage structuré : Vise des groupes de paramètres, comme des canaux ou des couches entières, ce qui facilite l'optimisation sur le matériel.
Quantification : Cela consiste à réduire le nombre de bits utilisés pour représenter les poids du modèle, comprimant ainsi le modèle. Il y a deux méthodes principales :
- Entraînement conscient de la quantification (QAT) : Cela implique d’entraîner le modèle en tenant compte de la quantification pour maintenir la précision.
- Quantification post-entraînement (PTQ) : Cette approche applique la quantification après que le modèle a été entraîné, ce qui le rend plus facile à exécuter.
En combinant ces techniques, on espère créer un modèle plus petit et efficace adapté aux environnements à faibles ressources.
Environnement cible
On se concentre sur l'utilisation de drones alimentés par des batteries et ayant une mémoire limitée, similaires à des dispositifs comme le NVIDIA Jetson Nano, qui a 4 Go de RAM. Ces appareils doivent effectuer des tâches avec précision, comme détecter des objets et localiser des humains lors de missions de recherche et de sauvetage, tout en maintenant une faible latence pour des réponses rapides.
Notre but est de permettre un traitement rapide des transformateurs de vision sur de tels appareils sans sacrifier trop de précision. Cela pourrait mener à leur utilisation dans diverses applications pratiques en réponse aux catastrophes, en suivi environnemental, et plus encore.
Travaux connexes
Des recherches précédentes ont montré que les techniques de compression de modèles dans d'autres domaines, en particulier dans les réseaux neuronaux convolutifs et le traitement du langage naturel, peuvent ne pas bien fonctionner pour les transformateurs de vision. Une grande partie de la recherche existante a tendance à se concentrer sur des techniques individuelles plutôt que de les intégrer dans un seul modèle. Quelques-uns ont essayé de combiner différentes méthodes, mais ils manquent souvent d'inclure la quantification.
On cherche à combler cette lacune en intégrant plusieurs techniques dans un cadre unifié pour compresser efficacement les transformateurs de vision pour une utilisation pratique.
Stratégie de mise en œuvre
Notre cadre combine l'élagage structuré pour enlever les parties inutiles du modèle, la distillation de connaissances pour améliorer la performance des modèles plus petits, et une quantification efficace pour réduire les besoins en mémoire. On porte également une attention particulière aux types de tâches que l'on veut effectuer, comme la segmentation de scènes de désastre.
En se concentrant sur une application spécifique qui nécessite une haute précision mais doit aussi fonctionner sur des appareils à faibles ressources, on croit pouvoir apporter des contributions significatives au domaine.
Utilisation des données
Pour valider notre modèle, on utilise un ensemble de données provenant d'un défi récent spécifiquement axé sur les scènes de désastre. Cet ensemble de données contient des images prises de drones de diverses situations de catastrophe, avec des étiquettes qui aident à entraîner des modèles de segmentation. En utilisant cet ensemble de données, notre but est d'améliorer le développement de systèmes de réponse aux catastrophes efficaces qui peuvent fonctionner sur des appareils à faibles ressources.
Métriques d'évaluation
Pour évaluer la performance de notre modèle, on va regarder plusieurs métriques :
- Précision : Mesurée en utilisant la moyenne de l'Intersection sur l'Union (IoU), qui compare à quel point notre modèle identifie bien différentes classes dans une image.
- Temps d'exécution : Le temps moyen nécessaire au modèle pour traiter chaque image.
- Taille du modèle : Important pour s'assurer qu'on respecte les limites de mémoire de l'appareil.
De plus, on va faire des expériences pour voir comment chaque méthode de compression fonctionne pour équilibrer précision et rapidité.
Résultats expérimentaux
Dans nos expériences, on a d'abord évalué différents architectures de décodeurs de segmentation pour trouver le meilleur équilibre entre performance et efficacité. On a ensuite évalué divers backbones (les structures principales de nos modèles) en utilisant l'ensemble de données mentionné sur les scènes de désastre.
On a découvert que certains décodeurs performaient mieux dans les tâches de segmentation tout en gardant la taille du modèle raisonnable. Par exemple, UPerNet s'est révélé être un bon choix pour nos tâches.
Lors de l'entraînement et des tests de nos modèles, on a utilisé plusieurs techniques, y compris la distillation de connaissances pour améliorer la sortie de nos modèles plus petits en apprenant des plus grands. Cette approche s'est révélée efficace pour augmenter la précision de notre modèle.
On a également noté que nos modèles compressés parvenaient encore à capturer des caractéristiques essentielles des images, mais avaient du mal avec des détails plus complexes, notamment pour identifier des classes qui se ressemblaient, comme les routes et les coulées de boue.
Défis rencontrés
Malgré nos progrès, on a rencontré des défis lors de nos expériences. Par exemple, nos tentatives d'élagage itératif n'ont pas donné d'améliorations significatives. On a constaté que MobileViT, qui est conçu pour être petit et efficace, ne supportait pas bien d'autres élargissements sans sacrifier la précision.
De plus, on a découvert que le déséquilibre des classes dans l'ensemble de données posait des problèmes. Les classes à faible fréquence, qui sont critiques dans les scénarios de désastre, n’étaient parfois pas segmentées avec précision car l'accent était davantage mis sur les classes dominantes dans les images.
Directions futures
En regardant vers l'avenir, on prévoit de peaufiner davantage nos modèles, en explorant des techniques de compression supplémentaires qui pourraient améliorer la performance sur des appareils encore plus contraints, comme une version du Jetson Nano avec seulement 2 Go de RAM.
On vise également à explorer de nouvelles méthodes de quantification pour réduire le temps de traitement tout en maintenant la précision élevée. Une autre zone d'intérêt sera de s'attaquer aux limites des outils logiciels existants pour la quantification, en enquêtant peut-être sur des approches alternatives pour mieux faire fonctionner nos modèles.
En continuant à rechercher et à mettre en œuvre des techniques d'élagage adaptatif, on espère trouver un équilibre entre la parcimonie et la performance qui nous permette de créer des modèles plus petits et efficaces sans un réglage exhaustif.
Ce travail continu est essentiel au développement de systèmes fiables qui peuvent être utilisés dans des scénarios de désastre réels, fournissant un soutien critique dans des environnements difficiles.
Titre: Compressing Vision Transformers for Low-Resource Visual Learning
Résumé: Vision transformer (ViT) and its variants have swept through visual learning leaderboards and offer state-of-the-art accuracy in tasks such as image classification, object detection, and semantic segmentation by attending to different parts of the visual input and capturing long-range spatial dependencies. However, these models are large and computation-heavy. For instance, the recently proposed ViT-B model has 86M parameters making it impractical for deployment on resource-constrained devices. As a result, their deployment on mobile and edge scenarios is limited. In our work, we aim to take a step toward bringing vision transformers to the edge by utilizing popular model compression techniques such as distillation, pruning, and quantization. Our chosen application environment is an unmanned aerial vehicle (UAV) that is battery-powered and memory-constrained, carrying a single-board computer on the scale of an NVIDIA Jetson Nano with 4GB of RAM. On the other hand, the UAV requires high accuracy close to that of state-of-the-art ViTs to ensure safe object avoidance in autonomous navigation, or correct localization of humans in search-and-rescue. Inference latency should also be minimized given the application requirements. Hence, our target is to enable rapid inference of a vision transformer on an NVIDIA Jetson Nano (4GB) with minimal accuracy loss. This allows us to deploy ViTs on resource-constrained devices, opening up new possibilities in surveillance, environmental monitoring, etc. Our implementation is made available at https://github.com/chensy7/efficient-vit.
Auteurs: Eric Youn, Sai Mitheran J, Sanjana Prabhu, Siyuan Chen
Dernière mise à jour: 2023-09-05 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2309.02617
Source PDF: https://arxiv.org/pdf/2309.02617
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://github.com/chensy7/efficient-vit
- https://doi.org/10.48550/arxiv.2106.04533
- https://doi.org/10.48550/arxiv.1905.10650
- https://doi.org/10.48550/arxiv.1810.05723
- https://doi.org/10.48550/arxiv.2006.04768
- https://doi.org/10.48550/arxiv.2006.16236
- https://doi.org/10.48550/arxiv.1904.10509
- https://doi.org/10.48550/arxiv.2102.12122
- https://doi.org/10.48550/arxiv.2103.14030
- https://doi.org/10.48550/arxiv.2204.02557
- https://doi.org/10.48550/arxiv.2201.02767
- https://doi.org/10.48550/arxiv.2209.02432
- https://doi.org/10.48550/arxiv.2203.08243
- https://doi.org/10.48550/arxiv.2203.13444
- https://www.computer.org/about/contact