Peu de domaines échappent à l’influence de l’intelligence artificielle (IA). Parmi les nombreux cas d’usage concernant les grandes entreprises, de nombreuses applications de machine learning et d’IA voient le jour pour les ordinateurs et les dispositifs IoT (Internet des objets) en périphérie du réseau, le plus souvent en conjonction avec le traitement des signaux et des images. La sécurité est incontournable pour la plupart des applications. La technologie fournit les moyens de détecter les intrusions et, à plus grande échelle, de détecter des anomalies dans la dynamique des foules qui justifient une intervention humaine.
D’autres secteurs, allant du contrôle industriel à l’agriculture, fournissent de nombreux cas d’usage où un ou plusieurs modèles d’IA prennent les informations provenant de plusieurs capteurs et les transforment en un modèle cohérent et unique permettant d’identifier des comportements types. Les nombreuses possibilités de défaillance des composants rendent difficile l’utilisation de modèles déterministes pour évaluer l’état d’une machine-outil. L’entraînement d’un modèle de machine learning, en revanche, recourt à des données réelles qui permettent d’évaluer quand et pourquoi une machine doit être entretenue.
L’IA donne les moyens d’améliorer le contrôle qualité dans l’industrie et les services collectifs, tels que la distribution d’eau. Un modèle entraîné à partir des flux et des anomalies prévisibles permet de savoir si le système s’écarte des tolérances bien avant que la qualité ne se dégrade au point où les pièces et les sous-systèmes sont rejetés et doivent être repris.
La combinaison de l’IA et du traitement des signaux crée des opportunités de mise en réseau et de communication. En effet, le machine learning et l’IA peuvent utiliser les données d’entraînement pour optimiser l’état du canal et prendre des décisions calculées de routage qui réduisent les risques de congestion.
Au-delà des applications basées sur les capteurs, l’IA permet d’améliorer radicalement l’interface utilisateur en incluant la commande vocale et les interactions par gestes. Dans les environnements où les opérations en mains libres sont importantes, ces fonctions peuvent améliorer la sécurité, l’hygiène et la productivité.
La diversité des applications est si vaste qu’aucune solution IA ne permet de les traiter toutes à elle seule. Chaque cas d’usage nécessite un modèle spécialement optimisé. Le contrôle vocal ou gestuel utilise la même technologie de modèle de langage que celle de l’IA générative. Les applications basées sur les capteurs s’appuient plus fréquemment sur des architectures de réseaux neuronaux convolutifs (CNN), même si certaines peuvent bénéficier des fonctionnalités supplémentaires offertes par des implémentations basées sur des Transformers spécialisés en vision, au prix toutefois d’exigences de performances plus élevées.
L’IA est également gourmande en performances. Avant l’avènement de l’IA générative, la croissance annuelle de la capacité des modèles avait un facteur de 3. Les modèles basés sur des Transformers portent cette croissance à un facteur supérieur à dix chaque année. L’IA basée sur les serveurs permet d’accéder aux modèles les plus performants. Mais dans de nombreuses applications industrielles et embarquées, l’accès à ces systèmes n’est pas idéal. Les opérateurs et les utilisateurs sont soucieux de la sécurité des données et, dans de nombreux cas, les connexions réseau sur le terrain ne sont pas suffisamment fiables pour prendre en charge l’IA basée sur le cloud.
Il est essentiel que les utilisateurs puissent exécuter les modèles d’IA sur les périphériques. Cette capacité vient en partie de l’utilisation de processeurs de plus haute performance qui sont optimisés pour l’environnement cible, afin de renforcer la confidentialité et de réduire la latence. De plus, dans la mesure où l’utilisation de l’IA en périphérie du réseau ne nécessite pas une connexion fiable à Internet, elle excelle dans ces environnements. Le développement de l’IA embarquée est également lié à la façon dont les experts de terrain ont adapté les modèles basés sur serveur et ont optimisé leur fonctionnement.
Les chercheurs ont développé des architectures CNN, telles que ResNet et Mobilenet, afin d’offrir une précision élevée de la reconnaissance d’image avec moins de multiplications de matrice que les modèles précédents, conçus pour une implémentation sur serveur. Ces architectures de modèles décomposent des filtres volumineux et coûteux en calcul à plusieurs convolutions 2D plus compactes. Elles recourent également à des techniques telles que la fusion des couches, dans lesquelles des opérations successives canalisent les données lors des calculs de pondération et des opérations d’activation de plusieurs couches. Dans la mesure où les données sont locales ; ces techniques évitent les accès coûteux à la mémoire externe, aussi bien en termes d’énergie que de latence.
Les concepteurs ont utilisé cela et d’autres architectures de modèle optimisées pour la périphérie du réseau avec des techniques telles que l’élagage et la quantification. L’élagage réduit le nombre global d’opérations nécessaires pour traiter chaque couche. Mais ce processus convient rarement aux moteurs de multiplication de matrices hautement optimisés qui ont été développés pour le traitement neuronal. Dans la pratique, la quantification offre de meilleurs résultats avec moins de surcharges, ce qui permet d’utiliser les moteurs arithmétiques SIMD (Single-Instruction Multiple-Data) conçus pour les opérations matricielles et vectorielles.
L’utilisation de l’arithmétique entière sur 8 bits, voire avec des mots plus petits, au lieu des formats à virgule flottante, bien plus grands, qui sont utilisés pendant l’entraînement des modèles, permet d’obtenir des réductions spectaculaires de la demande en calcul et en énergie. Dans la mesure où il est possible d’utiliser de nombreux moteurs arithmétiques de 8 bits en parallèle, au lieu d’une simple unité haute précision à virgule flottante, un processeur embarqué peut apporter des améliorations majeures de débit pour le même coût en énergie et en fabrication.
Le processeur neuronal (NPU) Hexagon de Qualcomm utilise ces techniques pour sa série Snapdragon de téléphones mobiles avec SoC (System-on-Chips). Ainsi, les SoC peuvent prendre en charge des fonctionnalités telles que la reconnaissance faciale et vocale. Le même processeur est désormais disponible pour l’industrie sous la forme de la série de SoC Dragonwing, qui vient compléter les cœurs applicatifs Arm Cortex-A et l’unité de traitement graphique (GPU) Adreno.
Les générations actuelles de Hexagon reflètent un engagement à long terme du traitement des signaux, du machine learning et des charges de travail en IA. La première itération de Hexagon est apparue en 2007 et gérait le traitement des signaux numériques (DSP) avec un moteur scalaire basé sur une architecture à mot d’instruction très long (VLIW) offrant un débit de données élevé. L’une des innovations clés qui remonte à cette implémentation est l’utilisation du multithreading symétrique (SMT). En exploitant le parallélisme au niveau du thread, l’architecture gomme la plupart des problèmes induits par la latence mémoire externe. Cette approche a débouché sur plusieurs générations de Hexagon et la volonté de créer une architecture unifiée qui permette aux développeurs de profiter pleinement de toutes les ressources matérielles de Hexagon.
Les générations ultérieures du NPU Hexagon ont apporté la prise en charge du calcul vectoriel parallèle, puis des tenseurs multidimensionnels, accompagnés d’un processeur scalaire complet capable d’exécuter Linux sans recourir aux cœurs Arm du SoC si l’application l’exige. La fusion des moteurs scalaires, vectoriels et de tenseurs, qui ont tous accès à la mémoire centrale, garantit une flexibilité optimale.
Le NPU est également équipé d’un mécanisme d’inférence par micro-blocs, une technique qui permet de prendre en charge de petits modèles d’IA de manière efficace si le cas d’usage impose une très faible consommation d’énergie. Cela permet d’exécuter un modèle simple de façon prolongée en consommant très peu d’énergie, afin de détecter certains types de son, tels qu’une voix humaine. Plusieurs micro-blocs peuvent s’exécuter de façon simultanée pour que ce modèle continue de s’exécuter pendant que d’autres assurent la reconnaissance vocale. L’architecture à mémoire partagée permet aux développeurs de tirer pleinement parti de techniques comme la fusion des couches. Cette technique permet de combiner plus de dix couches pour ne plus avoir à écrire des résultats intermédiaires en mémoire externe. La récente tentative de rachat d’Edge Impulse par Qualcomm témoigne d’un intérêt soutenu pour le marché de l’IA en périphérie et embarquée. Par ailleurs, elle coïncide avec le lancement de SoC de la gamme Dragonwing qui intègrent différentes versions des cœurs Hexagon, Adreno et Cortex-A pour s’adapter à divers niveaux de performance. Compte tenu de la nécessité de diversification des modèles, la solution AI Hub de Qualcomm permet d’accéder à des centaines d’implémentations de modèles, chacune étant optimisée pour les plateformes Snapdragon et Dragonwing.
Il ne reste plus aux utilisateurs qu’à sélectionner et télécharger des modèles pour profiter de l’IA, ce qui leur permet d’essayer différentes approches pour identifier celle qui convient le mieux à l’application cible. Un autre facteur d’accélération du prototypage et du développement réside dans la disponibilité du matériel de computer-on-module (CoM) basé sur le standard ouvert SMARC. Le partenariat de Tria avec Qualcomm permet de personnaliser les modules basés sur ce standard tout en accélérant la commercialisation et en élargissant l’évolutivité en termes de processeur et de mémoire. Les processeurs actuellement disponibles dans ce format incluent le QCS5490 et le QCS6490, ainsi que le Vision AI-KIT, qui est plus puissant. Optimisé pour le traitement vidéo hautes performances, le processeur IQ9075 de Vision AI-KIT peut assurer jusqu’à 100 téra-opérations par seconde (TOP/s).
Alors que l’IA se développe durablement à la périphérie des réseaux et dans les applications embarquées, les développeurs recherchent un accès simple à autant de modèles que possible et des points de performance compatibles avec les impératifs de coût et de service. La disponibilité des accélérateurs Dragonwing AI de Qualcomm sur des modules couplés à une bibliothèque riche de modèles et logiciels d’accompagnement permettra de poursuivre cette évolution.