La communauté TinyML cherche à intégrer l’apprentissage automatique dans des systèmes ultrasobres

[EDITION ABONNES] TinyML est une communauté d'ingénieurs récemment créée aux Etats-Unis qui réfléchit aux meilleures façons de mettre en œuvre des algrithmes d'apprentissage automatique (machine learning) dans des systèmes à très basse consommation, moins de 1 W typiquement, tels que les microcontrôleurs.... Premier événement du genre, le TinyML Summit s’est tenu en mars dernier à Sunnyvale en Californie. Un second est d’ores et déjà planifié pour l’année prochaine et se tiendra en février 2020 à San José (Californie). Avec comme promoteurs de cette initiative, Arm, Google, Microsoft et Qualcomm, notamment.

L’idée avec TinyML est de réunir des experts du monde entier (à ce titre, le français GreenWaves, concepteur d’un circuit à très basse consommation fondé sur un cœur RISC-V, est partie prenante des discussions) pour échanger sur les avancées et les pratiques de terrain liées aux applications d’apprentissage automatique sur des systèmes à très basse consommation fonctionnant sur pile ou batterie. Un secteur en plein devenir. Car si industriels et chercheurs sont capables à moyen terme de créer des modèles de réseaux de neurones et des accélérateurs matériels pouvant fonctionner avec quelques dizaines de kilooctets de mémoire, de nouvelles applications révolutionnaires vont voir le jour, selon les participants au TinyML Summit 19.

Dans cette optique, la start-up californienne BabbleLabs, fondée en 2017, crée par exemple des modèles modérément complexes comprenant environ 20 couches de neurones sur moins de 100 Ko de mémoire pour transmettre des commandes vocales aux téléviseurs et autres périphériques intégrés. Le logiciel de la société fonctionne avec les circuits i.MX, Ambiq Apollo 3 et Tensilica Fusion F.

Côté conception, des versions “allégées” d’environnements de développement de systèmes d’apprentissage automatique comme TensorFlow Lite existent déjà. Il s’agit là d’une version de l’outil en open source TensorFlow, développé par Google et publié sous licence Apache. Spécifiquement pensé pour les microcontrôleurs, TensorFlow Lite autorise des opérations comme la quantification sur des modèles de très petite taille. Des collaborations sont aussi en cours avec des fournisseurs de puces pour optimiser l'utilisation de la mémoire de TensorFlow Lite afin d'exécuter des modèles plus sophistiqués sur les mêmes périphériques, sans oublier d’ouvrir cet environnement à davantage de plates-formes matérielles de développement. SparkFun Edge est en effet la seule solution disponible à ce jour, tandis que les plates-formes Arduino et Mbed seront bientôt utilisables pour ce logiciel.

Pour les participants aux discussions autour du concept TinyML, l’écosystème logiciel actuel pour ce type d’applications est extrêmement fragmenté. Une des pistes avancées lors des premières discussions est de stabiliser les interfaces logicielles et d’investir dans l'interopérabilité entre systèmes. Mais pour le moment aucun comité de normalisation ne s’est encore penché sur la question, et la création d’un consortium d’industriels qui pourrait être moteur dans cette démarche n’est pas à l’ordre du jour. A suivre donc.

Pour être complet, signalons enfin qu’un ouvrage sur la question va paraître à la fin de l’année aux éditions O’Reilly, écrit par Pete Warden et Daniel Situnayake, ingénieurs chez Google.

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à l’intelligence artificielle dans l’embarqué : Embedded-IA https://www.linkedin.com/showcase/embedded-ia/