Faire avancer l'IA avec des modèles spécifiques au matériel pour VPU
Explorer les avantages de la recherche d'architecture neuronale pour le VPU Movidius d'Intel.
― 7 min lire
Table des matières
- Le besoin de modèles spécifiques au hardware
- Utiliser la recherche d'architecture neuronale avec le VPU
- Recherche d'architecture neuronale consciente du hardware
- Profilage de latence
- Mise en œuvre de ProxylessNAS
- Insights pour concevoir des réseaux adaptés au VPU
- Futur travail
- Conclusion
- Source originale
- Liens de référence
La recherche d'architecture neuronale (NAS) est une méthode pour concevoir des modèles d'IA automatiquement. Ça aide à créer des modèles qui fonctionnent mieux sur du hardware spécifique, comme l'unité de traitement de vision Movidius d'Intel (VPU). Cette techno vise à améliorer la qualité des modèles et leur rapidité lors des prédictions.
Les méthodes traditionnelles créent souvent des modèles d'IA généraux qui ne sont pas optimisés pour des hardwares particuliers. Ça peut donner des performances plus lentes ou une précision moindre. Avec le NAS, on peut créer des modèles qui fonctionnent mieux et plus vite sur le VPU.
Le besoin de modèles spécifiques au hardware
La plupart des modèles d'IA sont conçus sans penser au hardware sur lequel ils vont tourner. Les modèles généraux ne profitent pas pleinement des capacités d'appareils comme le VPU de Movidius. Ça offre l’opportunité de concevoir des modèles qui traitent les données plus rapidement ou offrent plus de précision sans sacrifier la performance.
Mais, l’espace des designs de réseaux possibles est immense et complexe, rendant la conception manuelle difficile même pour des experts.
Utiliser la recherche d'architecture neuronale avec le VPU
Dans cette méthode, le NAS est adapté pour cibler le VPU de Movidius. Pour ça, c’est important de mesurer combien de temps le modèle met à s’exécuter sur le hardware. Ce délai, connu sous le nom de Latence, est inclus dans le processus de conception. On propose deux méthodes pour mesurer la latence :
- Coût matériel précollecté sur l’appareil : Ça implique d’utiliser des données collectées lors de mesures précédentes sur le VPU.
- Modèle de coût matériel spécifique à l’appareil (VPUNN) : C’est un modèle qui estime les coûts basés sur des paramètres matériels spécifiques.
En profitant du NAS, on peut améliorer la performance des tâches sur le VPU. Par exemple, dans des tâches de classification, on voit une augmentation de vitesse de 1,3 fois par rapport au Mobilenet-v2-1.4 et 2,2 fois plus rapide que le Resnet50 tout en gardant la même précision. Pour les tâches de super résolution, on atteint une augmentation de 1,08 fois de la qualité d'image et 6 fois plus de vitesse par rapport à un modèle existant.
Recherche d'architecture neuronale consciente du hardware
Pour optimiser directement pour le VPU, le processus intègre la latence dans les critères de conception. Ça veut dire que les designs choisis se concentrent sur la vitesse et la précision.
ProxylessNAS est une méthode utilisée ici pour créer des modèles sans dépendre d'étapes intermédiaires. Ça permet un éventail plus large de choix de conception tout en s'assurant que les modèles résultants sont adaptés au hardware ciblé. La méthode a montré son efficacité sur d'autres plateformes et est maintenant étendue au VPU.
Profilage de latence
Mesurer combien de temps chaque composant d'un modèle prend pour s'exécuter sur le hardware est crucial. Cette info aide à s'assurer que les modèles choisis ne sont pas seulement performants en théorie mais aussi efficaces sur le hardware réel.
Mesure précise
Pour évaluer la latence, le moyen le plus simple est de faire tourner un modèle avec un seul opérateur et de mesurer combien de temps ça prend. Mais, cette méthode peut donner des résultats inconsistants à cause d'autres facteurs qui pourraient influencer le temps de démarrage. Pour contrer ça, une technique pour empiler plusieurs opérateurs est utilisée quand ils ont la même entrée et sortie. Cette approche minimise les variations et offre une mesure de latence plus stable.
Utilisation de VPUNN pour l’estimation
Une autre façon d’évaluer la latence est d’utiliser VPUNN, un modèle basé sur un réseau neuronal. Il prend des infos pertinentes sur les tâches d’un réseau et prédit combien de temps elles prendront à s'exécuter. Ce modèle a montré de bons résultats comparé aux méthodes de mesure traditionnelles.
Mise en œuvre de ProxylessNAS
Combiner ProxylessNAS avec les méthodes de profilage de latence permet de rechercher des réseaux efficaces adaptés à des tâches comme la classification d'images et la super résolution. Les modèles générés à travers ce processus peuvent être convertis en formats adaptés pour le VPU, menant à des performances plus rapides et plus précises.
Résultats de classification d'images
Dans les tâches de classification, on utilise ProxylessNAS avec la méthode de profilage matériel. L'objectif est de construire un réseau basé sur un élément de construction efficace connu sous le nom de MBConv de Mobilenet-v2.
Testés sur le VPU de Movidius, ces réseaux ont montré des améliorations significatives par rapport aux modèles existants. Les résultats ont montré une amélioration de vitesse de 1,3 fois par rapport aux modèles établis tout en maintenant des niveaux de précision comparables.
Résultats de super résolution
Pour les tâches de super résolution, ProxylessNAS a été appliqué avec VPUNN pour identifier les meilleurs modèles. Ces modèles ont évité d'utiliser des méthodes plus lentes sur le VPU, comme certaines fonctions d'activation et techniques d'upsampling. Les résultats ont montré un boost de vitesse remarquable de 6 fois sur le dernier VPU.
Insights pour concevoir des réseaux adaptés au VPU
Après avoir analysé les résultats, quelques insights clés émergent pour créer des modèles qui fonctionnent bien sur le VPU :
- Éviter les opérations qui ralentissent les performances, comme des fonctions d'activation complexes ou certaines méthodes d'upsampling.
- Viser une taille de canal de sortie qui est un multiple de 16, car ça aide à optimiser les calculs sur le VPU.
- Utiliser des convolutions séparables en profondeur quand c'est possible, car elles peuvent atteindre des performances similaires avec moins de temps de calcul.
Futur travail
Bien que les méthodes présentées ici soient efficaces, il reste des défis, surtout avec des conceptions de réseaux plus complexes. Le futur se concentrera sur la résolution des limitations des méthodes existantes, notamment sur la manière dont les différentes couches interagissent et sur la planification des tâches.
En travaillant sur des outils et méthodes plus efficaces pour compiler et simuler des réseaux, d'autres avancées dans l'optimisation des modèles d'IA pour des hardwares comme le VPU peuvent être réalisées.
Conclusion
Cette enquête montre l'importance de créer des modèles conscients du hardware qui peuvent offrir à la fois vitesse et précision. En appliquant des méthodes comme ProxylessNAS et en développant des outils de profilage de latence efficaces, les modèles d'IA peuvent être ajustés pour profiter pleinement des capacités offertes par des appareils comme le VPU Movidius d'Intel. Les progrès réalisés ici ouvrent de nouvelles voies pour concevoir des solutions d'IA efficientes qui peuvent répondre aux exigences de diverses applications en vision par ordinateur et en intelligence artificielle.
Titre: Neural Architecture Search for Intel Movidius VPU
Résumé: Hardware-aware Neural Architecture Search (NAS) technologies have been proposed to automate and speed up model design to meet both quality and inference efficiency requirements on a given hardware. Prior arts have shown the capability of NAS on hardware specific network design. In this whitepaper, we further extend the use of NAS to Intel Movidius VPU (Vision Processor Units). To determine the hardware-cost to be incorporated into the NAS process, we introduced two methods: pre-collected hardware-cost on device and device-specific hardware-cost model VPUNN. With the help of NAS, for classification task on VPU, we can achieve 1.3x fps acceleration over Mobilenet-v2-1.4 and 2.2x acceleration over Resnet50 with the same accuracy score. For super resolution task on VPU, we can achieve 1.08x PSNR and 6x higher fps compared with EDSR3.
Auteurs: Qian Xu, Victor Li, Crews Darren S
Dernière mise à jour: 2023-05-04 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.03739
Source PDF: https://arxiv.org/pdf/2305.03739
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://doi.org/10.48550/arxiv.2101.09336
- https://doi.org/10.48550/arxiv.1910.11609
- https://doi.org/10.48550/arxiv.2103.10584
- https://doi.org/10.48550/arxiv.2205.04586
- https://doi.org/10.48550/arxiv.1704.04861
- https://doi.org/10.48550/arxiv.1512.03385
- https://doi.org/10.48550/arxiv.1707.02921
- https://doi.org/10.48550/arxiv.1812.00332