3 points par GN⁺ 2024-01-17 | 1 commentaires | Partager sur WhatsApp

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 :
    1. Les bases du TinyML (ce que l’on peut construire, pourquoi, et quels sont les problèmes)
    2. Les applications du TinyML (piloté par les données, biais, etc.)
    3. 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

 
GN⁺ 2024-01-17
Avis sur Hacker News
  • Développement d’un compilateur TinyML en Rust

    • Développement d’un compilateur TinyML basé sur Rust dans le cadre d’un projet de mémoire de master.
    • Utilisation de macros procédurales Rust pour évaluer le modèle à la compilation et générer une fonction predict() qui effectue l’inférence pour le modèle donné.
    • Obtention d’une taille de binaire bien plus petite que TensorFlow Lite for Microcontrollers et d’autres moteurs.
    • Exécution réussie d’un système de reconnaissance de commandes vocales (TinyConv) sur un ATmega328 8 bits (Arduino Uno).
  • L’attrait du domaine TinyML

    • TinyML est un domaine formidable qui permet de faire beaucoup de choses même avec un matériel très modeste.
    • Par exemple, il est possible de construire un système de vision par ordinateur en temps réel avec un esp32-s3 (pour environ 2 dollars).
    • Il est facile d’aborder TinyML grâce à des solutions comme AutoML.
    • Les fabricants de matériel commencent à proposer des MCU équipés de NPU afin de minimiser la consommation électrique.
    • TinyML a de fortes chances d’attirer davantage l’attention à l’avenir.
  • Un virus ciblant les infrastructures à l’aide de LLM

    • Idée d’un virus visant les infrastructures en utilisant des LLM (Large Language Models).
    • Il pourrait dissimuler de petits appareils dans le réseau électrique pour collecter le trafic réseau et tenter de détruire des systèmes.
    • Ces appareils seraient difficiles à détecter, car ils peuvent être cachés dans des équipements réseau sans nécessiter de trafic externe.
  • Explication de TinyML / Edge ML par Edge Impulse

    • Edge Impulse a créé une plateforme permettant de construire des modèles de ML et de les déployer sur des edge devices.
    • L’utilisateur peut créer un compte, construire un modèle de keyword spotting, puis l’exécuter directement en WASM.
    • L’émergence d’accélérateurs embarqués de type ASIC/NPU stimule l’adoption de l’Edge ML.
  • Exemple d’utilisation de l’ESP32, de Tensor Flow Lite et d’Edge Impulse par Hacker Box

    • Hacker Box a récemment proposé un exemple détaillé utilisant l’ESP32, Tensor Flow Lite et Edge Impulse.
  • Le présent et l’avenir de TinyML

    • TinyML désigne l’exécution du machine learning sur des appareils embarqués à faible consommation.
    • Tous les téléphones intègrent une puce DSP basse consommation qui détecte des mots-clés comme "Hey Google" ou "Hey Siri".
    • TinyML est un sous-ensemble de l’edge AI, qui englobe tous les types d’appareils situés à la périphérie du réseau.
    • C’est un domaine très passionnant, capable de résoudre des problèmes variés et applicable à presque tous les environnements.
  • Divers avis sur TinyML

    • Certains estiment que, dans le domaine TinyML, la création de solutions sous contraintes peut avoir un impact important.
    • À l’instar de l’IoT, TinyML est considéré comme une technologie importante pour l’avenir, mais son développement reste en réalité lent.
    • Pour celles et ceux qui cherchent davantage de contenu sur TinyML, des vidéos de la conférence Asia 2023 sont proposées.