Intelligence Artificielle
TinyML : applications, limitations et utilisation dans les appareils IoT et Edge

Ces dernières années, l’intelligence artificielle (IA) et Machine Learning Le ML a connu une popularité et des applications fulgurantes, non seulement dans l'industrie, mais aussi dans le monde universitaire. Cependant, les modèles actuels de ML et d'IA présentent une limite majeure : ils nécessitent une puissance de calcul et de traitement considérable pour obtenir les résultats et la précision souhaités. Cela limite souvent leur utilisation aux appareils performants dotés d'une puissance de calcul importante.
Mais compte tenu des progrès réalisés dans la technologie des systèmes embarqués et du développement substantiel de l’industrie de l’Internet des objets, il est souhaitable d’incorporer l’utilisation des techniques et des concepts de ML dans un système embarqué aux ressources limitées pour une intelligence omniprésente. Le désir d'utiliser les concepts de ML dans les systèmes embarqués et IoT est le principal facteur de motivation derrière le développement de TinyML, une technique de ML embarquée qui permet des modèles et des applications de ML sur plusieurs appareils à ressources limitées, à puissance limitée et bon marché.
Cependant, la mise en œuvre du ML sur des appareils aux ressources limitées n'a pas été simple, car la mise en œuvre de modèles de ML sur des appareils à faible puissance de calcul présente ses propres défis en termes d'optimisation, de capacité de traitement, de fiabilité, de maintenance des modèles et bien plus encore.
Dans cet article, nous approfondirons le modèle TinyML et en apprendrons davantage sur son contexte, les outils prenant en charge TinyML et les applications de TinyML utilisant des technologies avancées. Alors commençons.
Une introduction Ă TinyML : Pourquoi le monde a besoin de TinyML
L'Internet des objets ou les appareils IoT visent à tirer parti de l'informatique de pointe, un paradigme informatique qui fait référence à une gamme d'appareils et de réseaux proches de l'utilisateur pour permettre un traitement transparent et en temps réel des données provenant de millions de capteurs et d'appareils interconnectés les uns aux autres. L’un des principaux avantages des appareils IoT est qu’ils nécessitent une faible puissance de calcul et de traitement car ils peuvent être déployés à la périphérie du réseau et ont donc une faible empreinte mémoire.
De plus, les appareils IoT s'appuient fortement sur des plates-formes périphériques pour collecter puis transmettre les données, car ces appareils périphériques collectent des données sensorielles, puis les transmettent soit à un emplacement à proximité, soit à des plates-formes cloud pour traitement. La technologie informatique de pointe stocke et effectue des calculs sur les données et fournit également l'infrastructure nécessaire pour prendre en charge l'informatique distribuée.
La mise en œuvre de l'informatique de pointe dans les appareils IoT fournit
- Sécurité, confidentialité et fiabilité efficaces pour les utilisateurs finaux.
- Délai réduit.
- Disponibilité accrue et réponse du débit aux applications et services.
De plus, étant donné que les appareils périphériques peuvent déployer une technique collaborative entre les capteurs et le cloud, le traitement des données peut être effectué à la périphérie du réseau au lieu d'être effectué sur la plate-forme cloud. Cela peut se traduire par une gestion efficace des données, une persistance des données, une livraison efficace et une mise en cache du contenu. De plus, la mise en œuvre de l’IoT dans des applications qui traitent de l’interaction H2M ou homme-machine et de l’informatique de pointe moderne dans le domaine des soins de santé offre un moyen d’améliorer considérablement les services réseau.
Des recherches récentes dans le domaine de l'informatique de pointe de l'IoT ont démontré le potentiel de mise en œuvre de techniques d'apprentissage automatique dans plusieurs cas d'utilisation de l'IoT. Cependant, le problème majeur est que les modèles d'apprentissage automatique traditionnels nécessitent souvent une puissance de calcul et de traitement élevée, ainsi qu'une capacité de mémoire élevée, ce qui limite la mise en œuvre de modèles de ML dans les appareils et applications IoT.
De plus, la technologie informatique de pointe manque aujourd'hui d'une capacité de transmission élevée et d'économies d'énergie efficaces, ce qui conduit à des systèmes hétérogènes, ce qui est la principale raison de la nécessité d'une infrastructure harmonieuse et holistique, principalement pour la mise à jour, la formation et le déploiement de modèles ML. L'architecture conçue pour les appareils embarqués pose un autre défi car ces architectures dépendent des exigences matérielles et logicielles qui varient d'un appareil à l'autre. C'est la principale raison pour laquelle il est difficile de créer une architecture ML standard pour les réseaux IoT.
De plus, dans le scénario actuel, les données générées par différents appareils sont envoyées vers des plates-formes cloud pour traitement en raison de la nature gourmande en calcul des implémentations de réseau. De plus, les modèles de ML dépendent souvent du Deep Learning, des réseaux de neurones profonds, des circuits intégrés spécifiques à une application (ASIC) et des unités de traitement graphique (GPU) pour traiter les données, et ils ont souvent des besoins en énergie et en mémoire plus élevés. Le déploiement de modèles ML à part entière sur des appareils IoT n'est pas une solution viable en raison du manque évident de puissances de calcul et de traitement et de solutions de stockage limitées.
La demande de miniaturisation des appareils embarqués à faible consommation, associée à l'optimisation des modèles ML pour les rendre plus efficaces en termes de consommation et de mémoire, a ouvert la voie à TinyML, qui vise à mettre en œuvre des modèles et des pratiques de ML sur les appareils et les cadres IoT de pointe. MinusculeML permet le traitement du signal sur les appareils IoT et fournit une intelligence intégrée, éliminant ainsi le besoin de transférer des données vers des plates-formes cloud pour le traitement. La mise en œuvre réussie de TinyML sur les appareils IoT peut à terme entraîner une confidentialité et une efficacité accrues tout en réduisant les coûts d'exploitation. De plus, ce qui rend TinyML plus attrayant, c'est qu'en cas de connectivité inadéquate, il peut fournir des analyses sur site.
TinyML : Introduction et présentation
TinyML est un outil d'apprentissage automatique capable d'effectuer des analyses sur l'appareil pour différentes modalités de détection telles que l'audio, la vision et la parole. Les modèles ML basés sur l'outil TinyML ont de faibles exigences en matière de consommation, de mémoire et de calcul, ce qui les rend adaptés aux réseaux intégrés et aux appareils fonctionnant sur batterie. De plus, les faibles exigences de TinyML en font la solution idéale pour déployer des modèles ML sur le framework IoT.
Dans le scénario actuel, les systèmes ML basés sur le cloud sont confrontés à quelques difficultés, notamment des problèmes de sécurité et de confidentialité, une consommation d'énergie élevée, une fiabilité et des problèmes de latence. C'est pourquoi les modèles sur les plates-formes matérielles et logicielles sont préinstallés. Les capteurs collectent les données qui simulent le monde physique, puis sont traitées à l'aide d'un CPU ou d'un MPU (Microprocessing unit). Le MPU répond aux besoins de prise en charge analytique ML grâce aux réseaux et à l'architecture ML sensibles à la périphérie. L'architecture Edge ML communique avec le cloud ML pour le transfert de données, et la mise en œuvre de TinyML peut entraîner des progrès technologiques significatifs.
On peut affirmer sans se tromper que TinyML est un amalgame de logiciels, de matériel et d'algorithmes qui fonctionnent en synchronisation les uns avec les autres pour offrir les performances souhaitées. L'informatique analogique ou à mémoire peut être nécessaire pour offrir une expérience d'apprentissage meilleure et plus efficace pour le matériel et les appareils IoT qui ne prennent pas en charge les accélérateurs matériels. En ce qui concerne les logiciels, les applications créées à l'aide de TinyML peuvent être déployées et implémentées sur des plates-formes telles que Linux ou Linux embarqué, ainsi que sur des logiciels compatibles cloud. Enfin, les applications et les systèmes construits sur l'algorithme TinyML doivent prendre en charge de nouveaux algorithmes nécessitant des modèles de faible taille de mémoire pour éviter une consommation élevée de mémoire.
Pour résumer, les applications créées à l'aide de l'outil TinyML doivent optimiser les principes et méthodes de ML tout en concevant le logiciel de manière compacte, en présence de données de haute qualité. Ces données doivent ensuite être flashées via des fichiers binaires générés à l’aide de modèles formés sur des machines d’une capacité et d’une puissance de calcul beaucoup plus grandes.
De plus, les systèmes et les applications exécutés sur l'outil TinyML doivent fournir une grande précision lorsqu'ils fonctionnent sous des contraintes plus strictes, car un logiciel compact est nécessaire pour une faible consommation d'énergie prenant en charge les implications de TinyML. De plus, les applications ou modules TinyML peuvent dépendre de l'alimentation de la batterie pour prendre en charge leurs opérations sur les systèmes embarqués de pointe.
Cela étant dit, les applications TinyML ont deux exigences fondamentales :
- Capacité à faire évoluer des milliards de systèmes embarqués bon marché.
- Stockage du code sur la RAM de l'appareil avec une capacité inférieure à quelques Ko.
Applications de TinyML utilisant des technologies avancées
L'une des principales raisons pour lesquelles TinyML est un sujet brûlant dans l'industrie de l'IA et du ML est due à ses applications potentielles, notamment les applications basées sur la vision et la parole, le diagnostic de santé, la compression et la classification des modèles de données, l'interface de contrôle cérébral, l'informatique de pointe, la phénomique, l'auto-analyse. -conduire des voitures, et plus encore.
Applications basées sur la parole
Communications vocales
En règle générale, les applications basées sur la parole s'appuient sur des méthodes de communication conventionnelles dans lesquelles toutes les données sont importantes et sont transmises. Cependant, ces dernières années, la communication sémantique est apparue comme une alternative à la communication conventionnelle car dans la communication sémantique, seul le sens ou le contexte des données est transmis. La communication sémantique peut être implémentée dans des applications basées sur la parole à l'aide des méthodologies TinyML.
Certaines des applications les plus populaires dans le secteur des communications vocales aujourd'hui sont la détection vocale, la reconnaissance vocale, l'apprentissage en ligne, l'enseignement en ligne et la communication orientée objectifs. Ces applications ont généralement une consommation d'énergie plus élevée et ont également des besoins en données élevés sur le périphérique hôte. Pour répondre à ces exigences, une nouvelle bibliothèque TinySpeech a été introduite. Elle permet aux développeurs de créer une architecture de calcul faible utilisant des réseaux convolutifs profonds pour créer une installation de stockage faible.
Pour utiliser TinyML pour l'amélioration de la parole, les développeurs ont d'abord étudié le dimensionnement du modèle d'amélioration de la parole, soumis à des limitations et contraintes matérielles. Pour résoudre ce problème, un élagage structuré et une quantification d'entiers pour le modèle d'amélioration de la parole RNN (réseaux neuronaux récurrents) ont été déployés. Les résultats suggèrent une réduction de la taille du modèle de près de 12 fois, tandis que les opérations sont réduites de près de 3 fois. De plus, il est essentiel d'utiliser efficacement les ressources, notamment lors du déploiement sur des applications de reconnaissance vocale aux ressources limitées.
En conséquence, pour diviser le processus, une méthode de co-conception a été proposée pour les applications de reconnaissance vocale et vocale basées sur TinyML. Les développeurs ont utilisé l'opération de fenêtrage pour partitionner les logiciels et le matériel de manière à prétraiter les données vocales brutes. La méthode semble fonctionner puisque les résultats indiquent une diminution de la consommation d’énergie du matériel. Enfin, il est également possible de mettre en œuvre un partitionnement optimisé entre la co-conception logicielle et matérielle pour de meilleures performances dans un avenir proche.
En outre, des recherches récentes ont proposé l'utilisation d'un transducteur téléphonique pour les systèmes de reconnaissance vocale, et la proposition vise à remplacer les prédicteurs LSTM par la couche Conv1D afin de réduire les besoins de calcul sur les appareils de pointe. Une fois mise en œuvre, la proposition a donné des résultats positifs car la SVD ou Singular Value Decomposition avait compressé le modèle avec succès, tandis que l'utilisation du décodage basé sur WFST ou Weighted Finite State Transducers a entraîné une plus grande flexibilité dans le biais d'amélioration du modèle.
De nombreuses applications importantes de reconnaissance vocale, telles que les assistants virtuels ou vocaux, le sous-titrage en direct et les commandes vocales, utilisent des techniques de ML pour fonctionner. Les assistants vocaux populaires actuellement comme Siri et Google Assistant envoient une requête ping à la plate-forme cloud chaque fois qu'ils reçoivent des données, ce qui crée des problèmes importants liés à la confidentialité et à la sécurité des données. TinyML est une solution viable à ce problème car il vise à effectuer une reconnaissance vocale sur les appareils et à éliminer le besoin de migrer les données vers des plates-formes cloud. L'un des moyens d'obtenir une reconnaissance vocale sur l'appareil consiste à utiliser Tiny Transducer, un modèle de reconnaissance vocale qui utilise une couche DFSMN ou Deep Feed-Forward Sequential Memory Block couplée à une couche Conv1D au lieu des couches LSTM pour réduire les exigences de calcul. et les paramètres réseau.
Aides auditives
La perte auditive est un problème de santé majeur dans le monde entier, et la capacité des humains à entendre les sons s'affaiblit généralement avec l'âge, et constitue un problème majeur dans les pays confrontés au vieillissement de la population, notamment la Chine, le Japon et la Corée du Sud. Les appareils auditifs fonctionnent actuellement sur le principe simple d'amplifier tous les sons d'entrée provenant de l'environnement, ce qui rend difficile pour la personne de distinguer ou de différencier le son souhaité, en particulier dans un environnement bruyant.
TinyML pourrait être la solution viable à ce problème, car l'utilisation d'un modèle TinyLSTM qui utilise un algorithme de reconnaissance vocale pour les appareils auditifs peut aider les utilisateurs à distinguer les différents sons.
Applications basées sur la vision
TinyML a le potentiel de jouer un rôle crucial dans le traitement vision par ordinateur car pour des sorties plus rapides, ces ensembles de données doivent être traités sur la plate-forme Edge elle-même. Pour y parvenir, le modèle TinyML rencontre les défis pratiques rencontrés lors de la formation du modèle à l'aide de la carte microcontrôleur OpenMV H7. Les développeurs ont également proposé une architecture pour détecter la langue des signes américaine à l'aide d'un microcontrôleur ARM Cortex M7 qui fonctionne uniquement avec 496 Ko de RAM frame-buffer.
La mise en œuvre de TinyML pour les applications basées sur la vision par ordinateur sur les plates-formes de pointe a obligé les développeurs à surmonter le défi majeur du CNN ou des réseaux de neurones convolutifs avec une erreur de généralisation élevée et une précision de formation et de test élevée. Cependant, la mise en œuvre ne s'est pas généralisée efficacement aux images dans de nouveaux cas d'utilisation ainsi qu'aux arrière-plans avec du bruit. Lorsque les développeurs ont utilisé la méthode d'augmentation par interpolation, le modèle a renvoyé un score de précision de plus de 98 % sur les données de test et d'environ 75 % en généralisation.

En outre, il a été observé que lorsque les développeurs utilisaient la méthode d'augmentation par interpolation, il y avait une baisse de la précision du modèle lors de la quantification, mais en même temps, il y avait également une augmentation de la vitesse d'inférence du modèle et de la généralisation de la classification. Les développeurs ont également proposé une méthode pour améliorer encore la précision de la formation du modèle de généralisation sur des données obtenues à partir de diverses sources différentes, et tester les performances pour explorer la possibilité de le déployer sur des plates-formes de pointe telles que les montres intelligentes portables.
Par ailleurs, des études complémentaires sur CNN a indiqué qu'il est possible de déployer et d'obtenir des résultats souhaitables avec l'architecture CNN sur des appareils aux ressources limitées. Récemment, les développeurs ont pu développer un cadre pour la détection de masques médicaux sur un microcontrôleur ARM Cortex M7 avec des ressources limitées en utilisant TensorFlow Lite avec une empreinte mémoire minimale. La taille du modèle après quantification était d'environ 138 Ko alors que la vitesse d'interférence sur la carte cible était d'environ 30 FPS.
Une autre application de TinyML pour les applications basées sur la vision par ordinateur consiste à mettre en œuvre un dispositif de reconnaissance gestuelle qui peut être fixé à une canne pour aider les personnes malvoyantes à naviguer facilement dans leur vie quotidienne. Pour le concevoir, les développeurs ont utilisé l'ensemble de données de gestes et ont utilisé l'ensemble de données pour entraîner le modèle ProtoNN avec un algorithme de classification. Les résultats obtenus grâce à la configuration étaient précis, la conception était peu coûteuse et a donné des résultats satisfaisants.
Une autre application importante de TinyML concerne le secteur de la conduite autonome et des véhicules autonomes en raison du manque de ressources et de puissance de calcul embarquée. Pour résoudre ce problème, les développeurs ont introduit une méthode d'apprentissage en boucle fermée basée sur le modèle TinyCNN qui proposait un modèle de prédicteur en ligne qui capture l'image au moment de l'exécution. Le principal problème auquel les développeurs ont été confrontés lors de la mise en œuvre de TinyML pour la conduite autonome était que le modèle de décision formé pour fonctionner sur des données hors ligne pouvait ne pas fonctionner aussi bien lorsqu'il s'agissait de données en ligne. Pour maximiser pleinement les applications des voitures autonomes et des voitures autonomes, le modèle devrait idéalement être capable de s'adapter aux données en temps réel.
Classification et compression des modèles de données
L'un des plus grands défis du framework TinyML actuel est de faciliter son adaptation aux données de formation en ligne. Pour résoudre ce problème, les développeurs ont proposé une méthode connue sous le nom de TinyOL ou TinyML Online Learning pour permettre la formation avec un apprentissage en ligne incrémentiel sur les unités de microcontrôleur, permettant ainsi au modèle de se mettre à jour sur les appareils IoT Edge. L'implémentation a été réalisée à l'aide du langage de programmation C++ et une couche supplémentaire a été ajoutée à l'architecture TinyOL.
En outre, les développeurs ont également effectué l'encodage automatique de la carte capteur Arduino Nano 33 BLE, et le modèle formé a été capable de classer de nouveaux modèles de données. En outre, le travail de développement comprenait la conception d'algorithmes efficaces et plus optimisés pour les réseaux de neurones afin de prendre en charge les modèles de formation des appareils en ligne.
Les recherches sur TinyOL et TinyML ont indiqué que le nombre de couches d'activation constitue un problème majeur pour les appareils IoT Edge dont les ressources sont limitées. Pour résoudre ce problème, les développeurs ont introduit le nouveau modèle TinyTL ou Tiny Transfer Learning pour rendre l'utilisation de la mémoire sur les appareils IoT Edge beaucoup plus efficace et éviter l'utilisation de couches intermédiaires à des fins d'activation. De plus, les développeurs ont également introduit un tout nouveau module de biais appelé «module léger-résiduel" pour maximiser les capacités d'adaptation, et bien sûr permettre aux extracteurs de fonctionnalités de découvrir des cartes de fonctionnalités résiduelles.
Par rapport au réglage complet du réseau, les résultats étaient en faveur de l'architecture TinyTL, car ils ont montré que TinyTL réduisait la surcharge de mémoire d'environ 6.5 fois avec une perte de précision modérée. Lorsque la dernière couche a été affinée, TinyML a amélioré la précision de 34 % avec une perte de précision modérée.
De plus, des recherches sur la compression des données ont indiqué que algorithmes de compression de données doit gérer les données collectées sur un appareil portable, et pour y parvenir, les développeurs ont proposé TAC ou Tiny Anomaly Compressor. Le TAC a pu surpasser les algorithmes SDT ou Swing Door Trending et DCT ou Discrete Cosine Transform. De plus, l'algorithme TAC a surpassé les algorithmes SDT et DCT en atteignant un taux de compression maximal de plus de 98 % et en ayant le rapport signal/bruit de crête supérieur parmi les trois algorithmes.
Diagnostic de santé
La pandémie mondiale de Covid-19 a ouvert de nouvelles opportunités pour la mise en œuvre de TinyML, car il s'agit désormais d'une pratique essentielle pour détecter en permanence les symptômes respiratoires liés à la toux et au rhume. Pour assurer une surveillance ininterrompue, les développeurs ont proposé un modèle CNN Tiny RespNet qui fonctionne sur un paramètre multi-modèle, et le modèle est déployé sur un FPGA Xilinx Artix-7 100t qui permet à l'appareil de traiter les informations en parallèle, a une grande efficacité, et une faible consommation d'énergie. De plus, le modèle TinyResp prend également en compte la parole des patients, les enregistrements audio et les informations démographiques comme entrées pour la classification, et les symptômes liés à la toux d'un patient sont classés à l'aide de trois ensembles de données distincts.
En outre, les développeurs ont également proposé un modèle capable d'exécuter des calculs d'apprentissage en profondeur sur des appareils de pointe, un modèle TinyML nommé TinyDL. Le modèle TinyDL peut être déployé sur des appareils de pointe tels que les montres intelligentes et les appareils portables pour le diagnostic de santé, et est également capable d'effectuer une analyse des performances pour réduire la bande passante, la latence et la consommation d'énergie. Pour réaliser le déploiement de TinyDL sur les appareils portables, un modèle LSTM a été conçu et formé spécifiquement pour un appareil portable, et il a été alimenté en données collectées en entrée. Le modèle a un score de précision d'environ 75 à 80 % et il est également capable de fonctionner avec des données hors appareil. Ces modèles fonctionnant sur des appareils de pointe ont montré le potentiel de résoudre les défis actuels auxquels sont confrontés les appareils IoT.
Enfin, les développeurs ont également proposé une autre application pour surveiller la santé des personnes âgées en estimant et analysant leurs poses corporelles. Le modèle utilise le cadre agnostique sur l'appareil qui permet au modèle de permettre la validation et une promotion rapide pour effectuer des adaptations. Le modèle a mis en œuvre des algorithmes de détection de pose corporelle couplés à des repères faciaux pour détecter les poses spatio-temporelles du corps en temps réel.
EdgeComputing
L'une des principales applications de TinyML se situe dans le domaine de l'informatique de pointe, car avec l'utilisation croissante d'appareils IoT pour connecter des appareils à travers le monde, il est essentiel de configurer des appareils de périphérie car cela contribuera à réduire la charge sur les architectures cloud. . Ces appareils de pointe comporteront des centres de données individuels qui leur permettront d'effectuer des calculs de haut niveau sur l'appareil lui-même, plutôt que de s'appuyer sur l'architecture cloud. En conséquence, cela contribuera à réduire la dépendance au cloud, à réduire la latence, à améliorer la sécurité et la confidentialité des utilisateurs, ainsi qu'à réduire la bande passante.
Les appareils Edge utilisant les algorithmes TinyML aideront à résoudre les contraintes actuelles liées aux exigences en matière de puissance, de calcul et de mémoire, et cela est expliqué dans l'image ci-dessous.

En outre, TinyML peut également améliorer l'utilisation et l'application des véhicules aériens sans pilote ou UAV en répondant aux limitations actuelles auxquelles ces machines sont confrontées. L'utilisation de TinyML peut permettre aux développeurs de mettre en œuvre un dispositif économe en énergie, doté d'une faible latence et d'une puissance de calcul élevée, pouvant servir de contrôleur pour ces drones.
Interface cerveau-ordinateur ou BCI
TinyML a des applications importantes dans le secteur de la santé et peut s'avérer très bénéfique dans différents domaines, notamment la détection du cancer et des tumeurs, les prévisions de santé à l'aide des signaux ECG et EEG et l'intelligence émotionnelle. L’utilisation de TinyML peut permettre à la stimulation cérébrale adaptative profonde ou aDBS de s’adapter avec succès aux adaptations cliniques. L'utilisation de TinyMl peut également permettre à aDBS d'identifier les biomarques liées à la maladie et leurs symptômes à l'aide d'enregistrements invasifs des signaux cérébraux.
De plus, le secteur de la santé implique souvent la collecte d'un volume important de données sur les patients, qui doivent ensuite être traitées pour élaborer des solutions spécifiques pour le traitement des patients aux premiers stades de la maladie. Il est donc essentiel de concevoir un système non seulement performant, mais aussi hautement sécurisé. L'association des applications IoT au modèle TinyML donne naissance à un nouveau domaine : l'IoT médical (H-IoT), ou Internet des objets pour la santé. Ses principales applications sont le diagnostic, la surveillance, la logistique, le contrôle de la propagation et les systèmes d'assistance. Pour développer des appareils capables de détecter et d'analyser l'état de santé d'un patient à distance, il est essentiel de développer un système accessible partout dans le monde et à faible latence.

Véhicules autonomes
Enfin, TinyML peut avoir des applications généralisées dans l'industrie des véhicules autonomes, car ces véhicules peuvent être utilisés de différentes manières, notamment pour le suivi humain, à des fins militaires et ont des applications industrielles. Ces véhicules ont pour exigence première de pouvoir identifier efficacement les objets lorsque l'objet est recherché.
À l’heure actuelle, les véhicules autonomes et la conduite autonome constituent une tâche assez complexe, en particulier lors du développement de véhicules mini ou de petite taille. Des développements récents ont montré le potentiel d'améliorer l'application de la conduite autonome pour les mini-véhicules en utilisant une architecture CNN et en déployant le modèle sur le GAP8 MCI.
Défis
TinyML est un concept relativement nouveau dans le secteur de l'IA et du ML, et malgré les progrès réalisés, il n'est toujours pas aussi efficace que nous en aurions besoin pour un déploiement de masse pour les appareils Edge et IoT.
Le plus grand défi actuellement rencontré par les appareils TinyML est la consommation électrique de ces appareils. Idéalement, les appareils Edge et IoT intégrés devraient avoir une durée de vie de la batterie supérieure à 10 ans. Par exemple, dans des conditions idéales, un appareil IoT fonctionnant avec une batterie de 2 Ah est censé avoir une autonomie de plus de 10 ans étant donné que la consommation électrique de l'appareil est d'environ 12 uun. Cependant, dans l'état donné, une architecture IoT avec un capteur de température, une unité MCU et un module WiFi, la consommation de courant s'élève à environ 176.4 mA, et avec cette consommation d'énergie, la batterie ne durera qu'environ 11 heures, au lieu de cela. des 10 années requises d’autonomie de la batterie.
Contraintes de ressources
Pour maintenir la cohérence d'un algorithme, il est essentiel de maintenir la disponibilité de l'énergie. Or, dans le contexte actuel, la disponibilité limitée de l'énergie pour les appareils TinyML constitue un défi majeur. De plus, les limitations de mémoire constituent également un défi majeur, car le déploiement de modèles nécessite souvent une quantité importante de mémoire pour fonctionner efficacement et avec précision.
Contraintes matérielles
Les contraintes matérielles rendent difficile le déploiement d'algorithmes TinyML à grande échelle en raison de l'hétérogénéité des périphériques matériels. Il existe des milliers d'appareils, chacun avec ses propres spécifications et exigences matérielles, et par conséquent, un algorithme TinyML doit actuellement être peaufiné pour chaque appareil individuel, ce qui fait du déploiement de masse un problème majeur.
Contraintes des ensembles de données
L'un des problèmes majeurs des modèles TinyML est qu'ils ne prennent pas en charge les ensembles de données existants. C'est un défi pour tous les appareils de pointe, car ils collectent des données à l'aide de capteurs externes, et ces appareils ont souvent des contraintes de puissance et d'énergie. Par conséquent, les ensembles de données existants ne peuvent pas être utilisés pour entraîner efficacement les modèles TinyML.
Réflexions finales
Le développement des techniques de ML a provoqué une révolution et un changement de perspective dans l'écosystème IoT. L'intégration de modèles ML dans les appareils IoT permettra à ces appareils de périphérie de prendre eux-mêmes des décisions intelligentes sans aucune intervention humaine externe. Cependant, de manière conventionnelle, les modèles de ML ont souvent des exigences élevées en matière de puissance, de mémoire et de calcul, ce qui les rend unifiés pour être déployés sur des appareils de périphérie dont les ressources sont souvent limitées.
En conséquence, une nouvelle branche de l’IA a été dédiée à l’utilisation du ML pour les appareils IoT, et elle a été appelée TinyML. Le TinyML est un framework ML qui permet même aux appareils aux ressources limitées d'exploiter la puissance de l'IA et du ML pour garantir une précision, une intelligence et une efficacité accrues.
Dans cet article, nous avons parlé de la mise en œuvre de modèles TinyML sur des appareils IoT aux ressources limitées, et cette mise en œuvre nécessite la formation des modèles, le déploiement des modèles sur le matériel et l'exécution de techniques de quantification. Cependant, compte tenu de la portée actuelle, les modèles ML prêts à être déployés sur les appareils IoT et Edge présentent plusieurs complexités et contraintes, notamment des problèmes de compatibilité matérielle et de framework.












