AI: jusqu'où pouvez-vous aller?

Mise à jour : 10 décembre 2023

 

AI: jusqu'où pouvez-vous aller?

AI: jusqu'où pouvez-vous aller?

Les marchés sont sujets aux modes et le secteur du contrôle intégré est loin d'y être à l'abri. Dans les années 1990, la logique floue semblait être la voie à suivre et les fournisseurs de microcontrôleurs (MCU) se sont efforcés de prendre en charge leurs offres uniquement pour les voir s'éteindre.

 

L'apprentissage automatique embarqué (ML) connaît une frénésie alimentaire bien plus grande alors que les acteurs établis du MCU et les start-ups d'accélération IA tentent de démontrer leur engagement envers l'idée, qui passe principalement sous la bannière de TinyML.

Daniel Situnayake, ingénieur fondateur de TinyML au sein de la société d'outils logiciels Edge Impulse et co-auteur d'un ouvrage de renom sur le sans souci, dit que la situation actuelle est très différente de celle des années 1990.

«Ce qui est passionnant à propos du ML embarqué, c'est que l'apprentissage automatique et l'apprentissage en profondeur ne sont pas des technologies nouvelles et non éprouvées - ils ont en fait été déployés avec succès sur des ordinateurs de classe serveur depuis relativement longtemps et sont au cœur d'une tonne de succès. des produits. Le ML embarqué consiste à appliquer un ensemble de technologies éprouvées à un nouveau contexte qui permettra de nombreuses nouvelles applications qui n'étaient pas possibles auparavant. »

ABI Research prévoit que le marché des microcontrôleurs et accélérateurs de faible puissance compatibles avec l'IA pour le marché TinyML passera de moins de 30 millions de dollars de revenus annuels cette année à plus de 2 milliards de dollars d'ici le début de la prochaine décennie.

Malgré la croissance rapide, l'analyste ABI Lian Jye Su s'attend à ce que la concurrence devienne plus féroce à mesure que de grandes entreprises telles que Bosch entrent sur le marché. Déjà, certaines start-up comme Eta Compute sont passées du silicium aux outils logiciels.

«Nous voyons une certaine consolidation. Dans le même temps, l'énorme fragmentation du marché de l'IoT signifie qu'un nombre important de fournisseurs survivront, comme les marchés des microcontrôleurs ou des chipsets IoT en général », dit-il, soulignant le grand nombre de fournisseurs qui se concentrent sur des marchés verticaux spécifiques.

TinyML est confronté à de sévères contraintes. Pete Warden, responsable technique du framework TensorFlow Micro chez le géant des moteurs de recherche et co-auteur de Situnayake sur « TinyML : Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers », a déclaré lors de la conférence d'automne sur les processeurs du groupe Linley : l’objectif est de prendre des modèles d’apprentissage en profondeur et de « les faire fonctionner sur des appareils dotés d’aussi peu que 20 Ko de RAM ». Nous voulons prendre des modèles construits à l'aide de cette technologie de pointe sans souci et écrasez-les pour fonctionner sur des processeurs à très faible consommation.

«Comme il s'agit d'un logiciel open source, nous pouvons non seulement interagir avec les équipes produit au sein de Google, mais aussi recevoir de nombreuses demandes d'équipes produit du monde entier qui tentent de créer des produits intéressants. Et nous devons souvent dire: non, ce n'est pas encore possible. Nous voyons, dans l'ensemble, un grand nombre d'exigences non satisfaites », déclare Warden.

Le problème central est que les modèles d'apprentissage en profondeur portés à partir de l'environnement serveur nécessitent des millions, voire des milliards de fonctions MAC (multiply-add) à exécuter en un court laps de temps, même pour des modèles relativement simples. Linley Gwennap, président du Linley Group, affirme que des applications audio relativement simples, telles que la saisie de mots dans la parole qui peuvent activer la reconnaissance vocale, nécessitent environ 2 millions de MAC par seconde. La vidéo a besoin de bien plus.

Les fournisseurs de silicium ont été en mesure d'augmenter le nombre de MAC en tirant parti de l'exigence relativement faible de précision dans les calculs individuels lors de l'inférence. Alors que la formation sur les serveurs exige généralement de l'arithmétique à virgule flottante simple ou double précision, les calculs d'entiers (int8) à l'échelle de l'octet semblent être suffisants pour la plupart des applications.

Il y a des indications que pour les couches sélectionnées dans un modèle, même les MAC int8 ne sont pas nécessaires. Les calculs binaires ou ternaires qui peuvent être effectués en utilisant un peu plus de quelques portes chacun ne nuisent pas à la précision globale dans de nombreux cas. Potentiellement, les gains de performances sont énormes, mais ne disposent pas de la combinaison du support matériel et logiciel nécessaire pour les exploiter pleinement, explique Situnayake.

Bien que les outils du framework TensorFlow Lite prennent généralement en charge les poids int8, la prise en charge des résolutions inférieures est loin d'être répandue. «Cela évolue rapidement», note Situnayake, pointant vers des accélérateurs tels que Syntiant qui prennent en charge les poids binaires, 2 bits et 4 bits ainsi que le travail de Plumerai pour entraîner directement les réseaux de neurones binarisés.

«Bien que ces technologies soient toujours à la pointe de la technologie et qu'elles ne soient pas encore devenues la norme pour les développeurs de ML embarqué, elles ne tarderont pas à faire partie de la boîte à outils standard», ajoute-t-il.

Réduire la charge arithmétique

Il existe d'autres options pour le travail TinyML qui réduisent la charge arithmétique. S'exprimant lors de la conférence TinyML Asia à la fin de l'année dernière, Jan Jongboom, co-fondateur et CTO d'Edge Impulse, a déclaré que le principal attrait du ML était sa capacité à trouver des corrélations dans les données que les algorithmes conventionnels ne sélectionnent pas. Le problème réside dans le grand nombre de paramètres que la plupart des modèles conventionnels doivent traiter pour trouver ces corrélations si les entrées sont des échantillons bruts.

«Vous voulez donner un coup de main à votre algorithme d'apprentissage automatique pour lui faciliter la vie», déclare Jongboom. La technique la plus utile pour les signaux en temps réel typiques est l'utilisation de l'extraction de caractéristiques: transformer les données en représentations qui permettent de construire des réseaux de neurones avec des ordres de grandeur moins de paramètres.

Prenant la parole comme exemple, une transformation dans l'espace mel-cepstre réduit massivement le nombre de paramètres qui peuvent encoder efficacement les changements de son.

Dans d'autres données de capteur, telles que l'alimentation d'un accéléromètre utilisé pour la détection des vibrations dans les machines tournantes, d'autres formes de représentations conjointes temps-fréquence fonctionnent souvent.

Cette approche est utilisée par John Edwards, consultant et ingénieur DSP chez Sigma Numerix et professeur invité à l'Université d'Oxford, dans un projet d'analyse des vibrations.

Dans ce cas, une transformée de Fourier courte avait le meilleur compromis couplé avec des transformations qui compensent les moteurs à vitesse variable. L'extraction de caractéristiques a réduit la taille du modèle à seulement deux couches qui pourraient facilement être traitées sur un NXP LPC55C69, qui combine des cœurs Arm Cortex-M33 avec un accélérateur DSP.

Jongboom dit que s'il peut être tentant de suivre la voie de l'apprentissage en profondeur, d'autres algorithmes d'apprentissage automatique peuvent donner des résultats. «Notre meilleur modèle de détection d'anomalies n'est pas un réseau de neurones: son clustering de base k-means.»

Là où l'apprentissage en profondeur est une exigence, la parcimonie permet une réduction supplémentaire de la surcharge du modèle. Cela peut prendre la forme d'un élagage, dans lequel les pondérations qui ont peu d'effet sur la sortie du modèle sont simplement supprimées du pipeline. Une autre option consiste à concentrer les efforts sur les parties du flux de données qui démontrent les changements au fil du temps. Par exemple, dans les vidéos de surveillance, cela peut signifier l'utilisation d'un traitement d'image pour détecter des objets en mouvement et les séparer de l'arrière-plan avant d'alimenter les pixels traités dans un modèle.

Cela a été une expérience d'apprentissage pour Jongboom et d'autres. En décrivant ses progrès à travers les étapes de TinyML, à l'été 2017, il pensait que tout le concept était impossible. À l'été 2020, après avoir examiné les moyens d'optimiser ensemble la conception des applications et des modèles, son attitude avait changé pour croire que la classification d'images en temps réel sur du matériel à faible consommation d'énergie était faisable. À mesure que les accélérateurs de faible puissance prenant en charge la faible précision et la parcimonie apparaissent plus efficacement, la gamme de modèles pouvant fonctionner en micro-puissance devrait s'étendre.

Le résultat, affirme Situnayake, est probablement que «le ML finira par représenter une fraction plus importante que tout autre type de charge de travail. Les avantages du ML sur appareil conduiront l'industrie à créer et à déployer des puces basse consommation plus rapides et plus performantes qui représenteront la majorité de tous les calculs embarqués dans le monde ». Bien que de nombreux périphériques n'exécutent pas ces charges de travail, le besoin de vitesse à mesure que la taille des modèles augmente inévitablement attirera l'attention sur ses besoins et commencera à dominer le développement d'architectures logicielles et matérielles, tant que les applications suivront.