Qu’est-ce que le TinyML
- TinyML désigne l’usage du machine learning sur des microcontrôleurs.
- Contrairement aux systèmes utilisés dans le ML traditionnel, il s’emploie sur des systèmes disposant de très peu de CPU et de RAM, avec une consommation électrique de l’ordre du milliwatt ou du microwatt.
- Il consiste à réduire de grands modèles afin qu’ils puissent être utilisés sur des équipements aux ressources très limitées et sur des microcontrôleurs.
- Le site officiel de la TinyML Foundation est https://www.tinyml.org/
- Une série de 3 cours gratuits est proposée par l’université Harvard :
- Les bases du TinyML (ce que l’on peut construire, pourquoi, et quels sont les problèmes)
- Les applications du TinyML (piloté par les données, biais, etc.)
- Le déploiement du TinyML (où déployer les modèles, sécurité et confidentialité)
Principes de base du TinyML
- Les systèmes embarqués utilisant des microcontrôleurs disposent au maximum de 256 kB de mémoire, ce qui ne permet pas d’exécuter de grands modèles.
- Exemples de systèmes d’exploitation utilisables avec des microcontrôleurs :
- FreeRTOS
- Mbed OS
- Le machine learning est constitué d’algorithmes qui détectent des motifs dans les données.
- En TinyML, ces algorithmes sont compressés afin de pouvoir détecter efficacement des motifs dans les données.
- Les données générées chaque jour par l’IoT atteignent 5 quintillions d’octets, dont moins de 1 % seulement sont analysés.
Techniques de compression des algorithmes
-
Élagage (Pruning)
- Élagage des synapses : suppression de connexions dans le réseau du modèle. Cela peut parfois réduire la précision.
- Élagage des neurones : suppression de neurones entiers dans le modèle afin de diminuer les besoins de calcul du réseau.
-
Quantification (Quantization)
- Elle discrétise les valeurs dans une plage plus réduite. Par exemple, si l’on discrétise des nombres à virgule flottante dans une plage de -128 à 127, il n’y a plus que 256 valeurs possibles à explorer.
- Remplacer des valeurs à virgule flottante stockées sur 4 octets par des entiers stockés sur 1 octet réduit la taille d’un facteur 4.
- En raison des ressources limitées, la quantification est essentielle en TinyML.
-
Distillation des connaissances (Knowledge distillation)
- Elle permet de réduire la taille d’un modèle en appliquant connaissances et savoir-faire.
Outils
- Utilisation de TensorFlow Lite.
- TensorFlow cible les chercheurs en ML, tandis que TensorFlow Lite s’adresse aux développeurs d’applications.
Usages du TinyML
- Des cas d’usage du TinyML, particulièrement orientés vers le monde du DIY, des makers et des hackers, peuvent être trouvés sur ce site web.
Usage du TinyML dans l’industrie
- Dans l’industrie, il est utilisé pour la maintenance afin d’améliorer l’efficacité et de réduire les coûts, en alertant d’une panne probable lorsqu’une vibration apparaît.
- Des problèmes de précision peuvent entraîner de fausses alertes, et la responsabilité de ces fausses alertes incombe à l’opérateur ou au système.
Le TinyML pour l’environnement
- Au lieu de collecter les données puis de les traiter ensuite, le TinyML permet d’obtenir des réponses en temps réel face aux changements de l’environnement. Par exemple, il peut signaler en temps réel des changements dans la vie des animaux sauvages.
Le TinyML au service de l’humain
- Il aide les personnes en situation de handicap à accomplir davantage de tâches sans utiliser leurs mains.
- Il améliore l’UI et l’UX des applications pour les rendre plus faciles à utiliser.
- La technologie est conçue pour améliorer l’expérience humaine. Elle doit aider les gens.
Risques et inconvénients
- Cela fonctionnera-t-il correctement pour tous les groupes de population ?
- La confidentialité des données est-elle garantie ?
- Peut-on protéger ces données ?
- Il faut construire la technologie sur la base d’une IA centrée sur l’humain. Il faut en tenir compte lors de la conception, du développement et du déploiement.
L’avis de GN⁺
- Le TinyML est une technologie innovante qui rend le machine learning possible même dans des environnements aux ressources limitées, et peut considérablement améliorer l’efficacité et l’intelligence des appareils IoT.
- Les techniques de compression d’algorithmes comme l’élagage, la quantification et la distillation des connaissances sont des éléments clés pour miniaturiser les modèles de machine learning et les rendre exécutables sur des appareils à faible consommation.
- Les applications du TinyML, qu’il s’agisse de maintenance industrielle, de surveillance environnementale ou d’assistance aux personnes handicapées, peuvent contribuer à améliorer la vie humaine dans de nombreux domaines, ce qui constitue un bon exemple de l’impact positif de la technologie sur la société.
1 commentaires
Avis sur Hacker News
Développement d’un compilateur TinyML en Rust
predict()qui effectue l’inférence pour le modèle donné.L’attrait du domaine TinyML
Un virus ciblant les infrastructures à l’aide de LLM
Explication de TinyML / Edge ML par Edge Impulse
Exemple d’utilisation de l’ESP32, de Tensor Flow Lite et d’Edge Impulse par Hacker Box
Le présent et l’avenir de TinyML
Divers avis sur TinyML