electronique-news.com
29
'21
Written on Modified on
Mouser News
La périphérie représente le nouvel embarqué
Le cloud computing présente de nombreux avantages, notamment un environnement de télétravail flexible et productif, facteur très important en période de pandémie. Il a également démocratisé l'accès à des technologies de pointe telles que l’intelligence artificielle (IA) et les applications Big Data.
Le machine learning embarqué est un atout majeur pour la périphérie intelligente.Parce qu'il est au cœur de l’Internet des objets (IoT), le cloud computing permet aux particuliers comme aux entreprises de jouir des avantages d’un monde plus « smart » avec des milliards d’objets connectés tels que des capteurs environnementaux, des actionneurs industriels, des véhicules autonomes, etc.
Cette technologie n’est cependant pas dénuée d’inconvénients. Par exemple, maintenir une connexion Internet active, en plus d’être énergivore, s’avère parfois techniquement difficile ou trop coûteux pour certains petits appareils. De même, un réseau peut vite se trouver congestionné par le trafic machine-to-machine (M2M) lorsque chaque bit de donnée doit être renvoyé dans le cloud. De plus, le cloud computing introduit une latence susceptible de dégrader la prestation de services et d’empêcher les appareils IoT de fonctionner en temps réel. Enfin, le fait de transmettre des données via un réseau et de les partager avec des applications cloud pose également des problèmes sur le plan de la sécurité et de la confidentialité.
Déplacement de l’effort de traitement
La puissance de calcul nécessaire pour traiter les données et prendre des décisions en fonction des résultats tend à se déplacer du cloud vers la périphérie du réseau. Du point de vue des services informatiques d’entreprise ou des opérateurs, l’edge computing (c’est-à-dire l’informatique en périphérie de réseau ) est associée à des passerelles situées à la périphérie du réseau central. L’infrastructure en périphérie proche héberge généralement les services génériques, tandis la périphérie éloignée, plus proche de l’utilisateur final, héberge des applications plus spécialisées.
Grâce à l’augmentation de sa puissance de calcul, la périphérie devient « intelligente ». Mais cela ne s’arrête pas là. En repoussant la puissance de calcul assez loin pour englober les terminaux de l’IoT (capteurs, actionneurs, agrégateurs de données, passerelles, etc.), on a créé l’embedded edge (la périphérie embarquée). Dès lors, de nouvelles solutions sont envisageables afin de contourner les contraintes auxquelles les concepteurs de systèmes embarqués sont traditionnellement confrontés, comme la consommation d’énergie, les performances de calcul, l’empreinte mémoire ou les dimensions physiques.
Quels sont les avantages du traitement en périphérie ?
Chaque nouvelle génération de processeur est capable de gérer des tâches plus complexes et d’offrir de meilleures performances tout en consommant moins d’énergie que la génération précédente. Tirant parti de cet avantage, l’embedded edge devient un élément essentiel du traitement de données de l’IoT.
Plus spécifiquement, des tendances émergentes telles que l’industrie 4.0 et la conduite autonome favorisent le développement d’applications qui exigent une faible latence et des réseaux indépendants, deux exigences que le traitement en périphérie est capable de satisfaire. Citons parmi ces applications les systèmes de vision robotique (figure 1) et de guidage de véhicule. Ces applications peuvent gagner en rapidité et en efficacité en intégrant l’inférence de l’apprentissage automatique (machine learning) sur des systèmes embarqués.
En plus de surpasser les performances des applications de vision industrielle conventionnelles, le machine learning ouvre tout un champ de possibilités supplémentaires. Ainsi, un véhicule autonome ne se contenterait plus dedétecter les obstacles qui se dressent sur son parcours. Il pourrait également identifier et classer les différents objets rencontrés. Cette possibilité s’avère d’autant plus intéressante que les espaces de travail dans les usines sont des lieux de plus en plus encombrés où humains et robots statiques ou mobiles sont amenés à travailler à proximité les uns des autres.
De même, les techniques de machine learning peuvent améliorer l’efficacité de la reconnaissance des formes dans les systèmes de surveillance des conditions industrielles afin d’obtenir un diagnostic encore plus précis. Dans le domaine de l’agriculture intelligente, par exemple, la reconnaissance d’images pourrait, grâce à des capacités de machine learning exécutées localement, identifier les maladies des cultures de manière autonome, même en l’absence de connexion Internet.
Machine Learning avec TinyML
Le concept d’apprentissage automatique minuscule (Tiny Machine Learning ou TinyML) tend à se développer afin d’intégrer ces fonctionnalités aux équipements embarqués. Le TinyML fournit des frameworks de machine learning adaptés aux besoins des systèmes embarqués dont les ressources sont limitées. Les développeurs ont besoin d’outils pour créer et former des modèles de machine learning, puis les optimiser en vue de leur déploiement sur un système périphérique tel qu’un microcontrôleur, un petit processeur ou un FPGA.
Les principes du TinyML se retrouvent dans des frameworks ML orientés périphérie tels que TensorFlow Lite (figure 2). Ce framework populaire et largement utilisé comprend des outils tels qu’un convertisseur pour optimiser les modèles TensorFlow standard en vue de les exécuter sur des systèmes tels qu’un appareil Linux embarqué, et un interpréteur pour exécuter le modèle optimisé.
Tensorflow Lite optimise les modèles de machine learning pour le déploiement embarqué.
En outre, TensorFlow Lite pour microcontrôleurs est spécialement conçu pour exécuter le machine learning sur des appareils dotés d’une mémoire extrêmement limitée. Le noyau d’exécution n’occupe que quelques kilooctets de mémoire et a été testé sur de nombreux microcontrôleurs de la famille ARM Cortex-M®. Les outils TensorFlow Lite proposent différentes manières de réduire la taille des modèles TensorFlow pour qu’ils s’exécutent sur un appareil embarqué ou un microcontrôleur.
Solutions d’inférence à la périphérie
Les principaux fournisseurs de microcontrôleurs proposent désormais des écosystèmes et des flux de processus pour le déploiement de l’inférence IA et du machine learning. Il existe ainsi des microcontrôleurs embarqués dont l’architecture permet de déployer des réseaux neuronaux afin d’exécuter des algorithmes de machine learning.
De nouvelles générations de microcontrôleurs spécialement conçus pour l’inférence ML font leur apparition, comme la famille de processeurs Sitara de Texas Instruments, dont est issu l’AM5729. Outre deux cœurs ARM Cortex-A15 et un cœur intégré Cortex-M4, l’AM5729 comprend quatre moteurs de vision embarqués (EVE) capables de prendre en charge des réseaux d’apprentissage profond (deep learning) afin d’assurer une inférence hautes performances. Le framework logiciel et l’interface TI Deep Learning (TIDL) permettent aux développeurs de créer, former et déployer des réseaux neuronaux sur des processeurs embarqués.
Parmi les outils proposés dans la boîte à outils pour réseaux neuronaux de STMicroelectronics, l’outil de conversion STM32Cube.AI permet de convertir les réseaux neuronaux formés créés à l’aide de divers frameworks populaires. Cet outil génère automatiquement des bibliothèques optimisées pour les microcontrôleurs STM32 ARM Cortex-M de STMicroelectronics. L’écosystème IA fournit également des packs de fonctions logicielles contenant les pilotes de bas niveau et les bibliothèques de middleware nécessaires au déploiement d’un réseau neuronal formé. Les utilisateurs désireux d’apprendre rapidement à utiliser l’IA embarquée pourront se servir des exemples d’applications fournis pour la classification des scènes audio et la détection de l’activité humaine. Enfin, la boîte à outils contient également une application mobile dédiée et le matériel de référence SensorTile de STMicroelectronics pour exécuter des inférences ou collecter des données. SensorTile est une carte clé en main contenant des capteurs environnementaux et contextuels, tous préintégrés sous forme de modules plug-and-play.
Le fabricant Microchip propose la prise en charge du machine learning pour ses microprocesseurs, ses FPGA et ses microcontrôleurs 32 bits tels que ceux de la gamme SAM D21. Ses outils permettent aux développeurs d’utiliser divers frameworks ML comme TensorFlow, Keras et Caff, ainsi que des frameworks TinyML comme TensorFlow Lite. Avec son jeu d’outils MPLAB®, Microchip met à la disposition des développeurs qui travaillent avec des microcontrôleurs ou des microprocesseurs des outils comme le ML Plugin et le visualiseur de données MPLAB, avec lesquels ils pourront saisir des données qui serviront à former des réseaux neuronaux à l’aide d’outils fournis par les partenaires de Microchip. Citons parmi ces outils Cartesiam Nano Edge AI Studio, qui recherche automatiquement des modèles d’IA, aide à analyser les données des capteurs et génère des bibliothèques, et Edge Impulse Studio associé à la bibliothèque Edge Impulse Inferencing SDK C++, qui utilise TensorFlow Lite pour les microcontrôleurs. Microchip fournit également le logiciel MPLAB X IDE, qui permet aux utilisateurs de déployer leurs projets sur le microcontrôleur de leur choix.
La plate-forme d’intelligence artificielle embarquée (e-AI) de Renesas propose plusieurs concepts destinés à faciliter l’intégration de l’IA dans les terminaux. Les microprocesseurs Renesas RZ/A2M intègrent la technologie DRP (processeur à reconfiguration dynamique) qui combine les performances d’un accélérateur matériel et la flexibilité d’un processeur pour des applications de vision industrielle très rapides et peu gourmandes en énergie. Parmi les outils inclus dans la plate-forme, le traducteur e-AI permet de convertir le traitement d’inférence des modèles de réseaux neuronaux formés et de l’importer dans des fichiers de code source qui peuvent ensuite être utilisés dans le cadre d’un projet e² studio IDE C/C++. Les réseaux neuronaux peuvent être formés à l’aide d’un framework DL open source comme TensorFlow.
En outre, fabricants, jeunes ingénieurs et professionnels peuvent désormais se frotter à la construction d’appareils intelligents grâce aux kits d’IA « à assembler soi-même » Google AIY et à la plate-forme d’IA locale Google Coral. Les kits AIY contiennent un module de caméra intelligente constitué d’une carte et d’une caméra Raspberry Pi, une carte Vision Bonnet, les câbles et boutons nécessaires et un simple boîtier en carton. Ce kit a pour objectif d’aider les utilisateurs à se familiariser rapidement avec la reconnaissance d’images. Suivant le même principe, il existe également un kit de haut-parleur intelligent destiné quant à lui à expérimenter la reconnaissance vocale.
Google Coral propose un choix de matériel, dont une carte de développement, une mini carte de développement et un accélérateur USB afin de constituer un coprocesseur permettant aux utilisateurs de « connecter » l’IA aux produits existants. Cette plate-forme prend en charge TensorFlow Lite. Toutes les cartes disposent de la puce électronique Edge TPU, une unité de traitement de tenseur qui s’apparente au TPU de Google Cloud, mais spécialement conçue pour un encombrement minimal et une faible consommation d’énergie.
Conclusion : l’intelligence embarquée représente l’avenir de la périphérie
L’augmentation de la puissance de calcul des appareils se trouvant à la périphérie du réseau permet de garantir un IoT fiable et performant dans le respect des règles de confidentialité. Dans cette optique, divers appareils situés à divers emplacements, qu’il s’agisse de passerelles réseau, d’agrégateurs ou de terminaux IoT, peuvent être considérés comme des appareils périphériques. En réponse au besoin croissant de performance et d’efficacité, l’intelligence artificielle se généralise, notamment par le biais de solutions de machine learning pouvant être déployées sur des microcontrôleurs. Citons parmi ces solutions les frameworks open source TinyML, tandis que les principaux fabricants proposent désormais des architectures de microcontrôleurs optimisées et accélérées. Les développeurs débutants ou confirmés disposent ainsi d’une variété d’outils, de plates-formes et de kits plug-and-play leur permettant d’explorer les possibilités qui s’offrent à eux.
www.mouser.com