Modelos y plataformas de IA
TinyML: Aplicaciones, Limitaciones y su Uso en Dispositivos IoT y Edge

En los Últimos aÃąos, la Inteligencia Artificial (IA) y el Aprendizaje AutomÃĄtico (ML) han experimentado un aumento meteorico en popularidad y aplicaciones, no solo en la industria sino tambiÃĐn en la academia. Sin embargo, los modelos de ML y IA actuales tienen una limitaciÃģn importante: requieren una gran cantidad de poder de cÃĄlculo y procesamiento para lograr los resultados y la precisiÃģn deseados. Esto a menudo limita su uso a dispositivos de alta capacidad con un gran poder de cÃĄlculo.
Pero gracias a los avances en la tecnologÃa de sistemas embebidos y el desarrollo sustancial en la industria de Internet de las Cosas, es deseable incorporar el uso de tÃĐcnicas y conceptos de ML en un sistema embebido con recursos limitados para la inteligencia ubicua. El deseo de utilizar conceptos de ML en sistemas embebidos y IoT es el factor motivador principal detrÃĄs del desarrollo de TinyML, una tÃĐcnica de ML embebida que permite modelos y aplicaciones de ML en mÚltiples dispositivos con recursos limitados, con restricciones de poder y baratos.
Sin embargo, la implementaciÃģn de ML en dispositivos con recursos limitados no ha sido sencilla porque implementar modelos de ML en dispositivos con baja potencia de cÃĄlculo presenta sus propios desafÃos en tÃĐrminos de optimizaciÃģn, capacidad de procesamiento, confiabilidad, mantenimiento de modelos y mucho mÃĄs.
En este artÃculo, nos sumergiremos profundamente en el modelo TinyML y aprenderemos mÃĄs sobre su trasfondo, las herramientas que respaldan TinyML y las aplicaciones de TinyML utilizando tecnologÃas avanzadas. Asà que comencemos.
IntroducciÃģn a TinyML: Por quÃĐ el mundo necesita TinyML
Los dispositivos de Internet de las Cosas (IoT) apuntan a aprovechar la computaciÃģn de borde, un paradigma de computaciÃģn que se refiere a una serie de dispositivos y redes cerca del usuario para permitir el procesamiento en tiempo real de datos de millones de sensores y dispositivos interconectados entre sÃ. Una de las principales ventajas de los dispositivos IoT es que requieren baja potencia de cÃĄlculo y procesamiento, ya que se pueden desplegar en el borde de la red y, por lo tanto, tienen un bajo perfil de memoria.
AdemÃĄs, los dispositivos IoT dependen en gran medida de las plataformas de borde para recopilar y transmitir los datos, ya que estos dispositivos de borde recopilan datos sensoriales y los transmiten a una ubicaciÃģn cercana o a plataformas en la nube para su procesamiento. La tecnologÃa de computaciÃģn de borde almacena y realiza cÃĄlculos en los datos y tambiÃĐn proporciona la infraestructura necesaria para respaldar la computaciÃģn distribuida.
La implementaciÃģn de la computaciÃģn de borde en los dispositivos IoT proporciona
- Seguridad, privacidad y confiabilidad efectivas para los usuarios finales.
- Menor retraso.
- Mayor disponibilidad y respuesta de los aplicativos y servicios.
AdemÃĄs, dado que los dispositivos de borde pueden implementar una tÃĐcnica colaborativa entre los sensores y la nube, el procesamiento de datos se puede realizar en el borde de la red en lugar de en la plataforma en la nube. Esto puede resultar en una gestiÃģn de datos efectiva, persistencia de datos, entrega y almacenamiento en cachÃĐ de contenido. AdemÃĄs, para implementar IoT en aplicaciones que involucran interacciÃģn humano-mÃĄquina y atenciÃģn mÃĐdica moderna, la computaciÃģn de borde proporciona una forma de mejorar significativamente los servicios de red.
Las investigaciones recientes en el campo de la computaciÃģn de borde de IoT han demostrado el potencial de implementar tÃĐcnicas de aprendizaje automÃĄtico en varios casos de uso de IoT. Sin embargo, el principal problema es que los modelos de aprendizaje automÃĄtico tradicionales a menudo requieren una gran potencia de cÃĄlculo y procesamiento, y una alta capacidad de memoria que limita la implementaciÃģn de modelos de ML en dispositivos y aplicaciones de IoT.
AdemÃĄs, la tecnologÃa de computaciÃģn de borde actual carece de alta capacidad de transmisiÃģn y ahorro de energÃa, lo que conduce a sistemas heterogÃĐneos, que es la principal razÃģn detrÃĄs de la necesidad de una infraestructura armoniosa y holÃstica, principalmente para la actualizaciÃģn, capacitaciÃģn y despliegue de modelos de ML. La arquitectura diseÃąada para dispositivos embebidos plantea otro desafÃo, ya que estas arquitecturas dependen de los requisitos de hardware y software que varÃan de un dispositivo a otro. Es la principal razÃģn por la que es difÃcil construir una arquitectura de ML estÃĄndar para redes de IoT.
AdemÃĄs, en la situaciÃģn actual, los datos generados por diferentes dispositivos se envÃan a plataformas en la nube para su procesamiento debido a la naturaleza computacionalmente intensiva de las implementaciones de la red. AdemÃĄs, los modelos de ML a menudo dependen del aprendizaje profundo, las redes neuronales profundas, los circuitos integrados de aplicaciÃģn especÃfica (ASIC) y las unidades de procesamiento grÃĄfico (GPU) para procesar los datos, y a menudo tienen un mayor requisito de energÃa y memoria. Desplegar modelos de ML completos en dispositivos de IoT no es una soluciÃģn viable debido a la falta evidente de potencia de cÃĄlculo y procesamiento, y soluciones de almacenamiento limitadas.
La demanda de miniaturizar dispositivos embebidos de baja potencia, combinada con la optimizaciÃģn de modelos de ML para hacerlos mÃĄs eficientes en tÃĐrminos de energÃa y memoria, ha allanado el camino para TinyML, que apunta a implementar modelos y prÃĄcticas de ML en dispositivos y marcos de IoT de borde. TinyML permite el procesamiento de seÃąales en dispositivos de IoT y proporciona inteligencia embebida, lo que elimina la necesidad de transferir datos a plataformas en la nube para su procesamiento. La implementaciÃģn exitosa de TinyML en dispositivos de IoT puede resultar finalmente en un aumento de la privacidad y la eficiencia, mientras se reducen los costos de operaciÃģn. AdemÃĄs, lo que hace que TinyML sea aÚn mÃĄs atractivo es que, en caso de conectividad inadecuada, puede proporcionar anÃĄlisis en el lugar.
TinyML: IntroducciÃģn y visiÃģn general
TinyML es una herramienta de aprendizaje automÃĄtico que tiene la capacidad de realizar anÃĄlisis en el dispositivo para diferentes modalidades de detecciÃģn, como audio, visiÃģn y habla. Los modelos de ML construidos con la herramienta TinyML tienen bajos requisitos de energÃa, memoria y cÃĄlculo, lo que los hace adecuados para redes y dispositivos embebidos que operan con energÃa de baterÃa. AdemÃĄs, los bajos requisitos de TinyML lo convierten en una opciÃģn ideal para desplegar modelos de ML en el marco de IoT.
En la situaciÃģn actual, los sistemas de ML basados en la nube enfrentan algunas dificultades, incluyendo preocupaciones de seguridad y privacidad, alto consumo de energÃa, dependencia y problemas de latencia, lo que es por quÃĐ los modelos en plataformas de hardware y software estÃĄn preinstalados. Los sensores recopilan los datos que simulan el mundo fÃsico y luego se procesan utilizando una CPU o MPU (Unidad de procesamiento micro). El MPU atiende las necesidades de soporte de anÃĄlisis de ML habilitado por redes y arquitectura de borde consciente. La arquitectura de ML de borde se comunica con la nube de ML para la transferencia de datos y la implementaciÃģn de TinyML puede resultar en un avance significativo en la tecnologÃa.
SerÃa seguro decir que TinyML es una combinaciÃģn de software, hardware y algoritmos que trabajan en sincronÃa para proporcionar el rendimiento deseado. Es posible que se requiera computaciÃģn analÃģgica o de memoria para proporcionar una mejor experiencia de aprendizaje para dispositivos de hardware y IoT que no admiten aceleradores de hardware. En cuanto al software, las aplicaciones construidas con TinyML se pueden implementar y desplegar en plataformas como Linux o Linux embebido, y en software habilitado para la nube. Finalmente, las aplicaciones y sistemas construidos en el algoritmo de TinyML deben tener el respaldo de nuevos algoritmos que requieran modelos de tamaÃąo de memoria bajo para evitar el alto consumo de memoria.
Para resumir, las aplicaciones construidas con la herramienta de TinyML deben optimizar los principios y mÃĐtodos de ML, asà como diseÃąar el software de manera compacta, en presencia de datos de alta calidad. Estos datos luego deben transferirse a travÃĐs de archivos binarios que se generan utilizando modelos entrenados en mÃĄquinas con mucha mayor capacidad y potencia de cÃĄlculo.
AdemÃĄs, los sistemas y aplicaciones que se ejecutan en la herramienta de TinyML deben proporcionar alta precisiÃģn al realizar bajo restricciones mÃĄs estrictas, ya que se requiere software compacto para un bajo consumo de energÃa que respalde las implicaciones de TinyML. AdemÃĄs, los mÃģdulos o aplicaciones de TinyML pueden depender de la energÃa de la baterÃa para respaldar sus operaciones en sistemas embebidos de borde.
Con eso dicho, las aplicaciones de TinyML tienen dos requisitos fundamentales
- Capacidad para escalar miles de millones de sistemas embebidos baratos.
- Almacenar el cÃģdigo en la memoria RAM del dispositivo con una capacidad de menos de unos pocos KB.
Aplicaciones de TinyML utilizando tecnologÃas avanzadas
Una de las principales razones por las que TinyML es un tema candente en la industria de IA y ML es debido a sus posibles aplicaciones, incluyendo aplicaciones basadas en visiÃģn y habla, diagnÃģstico de salud, compresiÃģn y clasificaciÃģn de patrones de datos, interfaz cerebro-ordenador, computaciÃģn de borde, fenÃģmica, automÃģviles autÃģnomos y mÃĄs.
Aplicaciones basadas en habla
Comunicaciones de habla
Normalmente, las aplicaciones basadas en habla dependen de mÃĐtodos de comunicaciÃģn convencionales en los que todos los datos son importantes y se transmiten. Sin embargo, en los Últimos aÃąos, la comunicaciÃģn semÃĄntica ha surgido como una alternativa a la comunicaciÃģn convencional, ya que en la comunicaciÃģn semÃĄntica solo se transmite el significado o contexto de los datos. La comunicaciÃģn semÃĄntica se puede implementar en aplicaciones basadas en habla utilizando metodologÃas de TinyML.
Algunas de las aplicaciones mÃĄs populares en la industria de comunicaciones de habla hoy en dÃa son la detecciÃģn de habla, el reconocimiento de habla, el aprendizaje en lÃnea, la enseÃąanza en lÃnea y la comunicaciÃģn orientada a objetivos. Estas aplicaciones normalmente tienen un alto consumo de energÃa y tambiÃĐn tienen altos requisitos de datos en el dispositivo host. Para superar estos requisitos, se ha introducido una nueva biblioteca de TinySpeech que permite a los desarrolladores construir una arquitectura de cÃĄlculo bajo que utiliza redes neuronales profundas para construir una instalaciÃģn de almacenamiento de bajo tamaÃąo.
Para utilizar TinyML para la mejora de la habla, los desarrolladores abordaron primero el tamaÃąo del modelo de mejora de la habla porque estaba sujeto a limitaciones y restricciones de hardware. Para abordar el problema, se implementÃģ la poda estructurada y la cuantificaciÃģn de enteros para el modelo de mejora de la habla de RNN o Redes Neuronales Recurrentes. Los resultados sugirieron que el tamaÃąo del modelo se redujo en casi 12 veces, mientras que las operaciones se redujeron en casi 3 veces. AdemÃĄs, es vital que los recursos se utilicen de manera efectiva, especialmente cuando se despliegan en aplicaciones con recursos limitados que ejecutan aplicaciones de reconocimiento de voz.
Como resultado, para dividir el proceso, se propuso un mÃĐtodo de codiseÃąo para aplicaciones de reconocimiento de voz y habla basadas en TinyML. Los desarrolladores utilizaron la operaciÃģn de ventanas para dividir el software y el hardware de una manera que permitiera preprocesar los datos de voz crudos. El mÃĐtodo parecÃa funcionar, ya que los resultados indicaron una disminuciÃģn en el consumo de energÃa en el hardware. Finalmente, tambiÃĐn hay potencial para implementar una particiÃģn optimizada entre el codiseÃąo de software y hardware para un mejor rendimiento en el futuro.
AdemÃĄs, la investigaciÃģn reciente ha propuesto el uso de un transductor basado en telÃĐfono para sistemas de reconocimiento de habla, y la propuesta apunta a reemplazar los predictores de LSTM con una capa de Conv1D para reducir las necesidades de cÃĄlculo en dispositivos de borde. Cuando se implementÃģ, la propuesta devolviÃģ resultados positivos, ya que la descomposiciÃģn de valor singular (SVD) habÃa comprimido con ÃĐxito el modelo, mientras que el uso de decodificaciÃģn basada en WFST o AutÃģmatas Estatales Pesados (Weighted Finite State Transducers) resultÃģ en mayor flexibilidad en la mejora del sesgo del modelo.
Muchas aplicaciones prominentes de reconocimiento de habla, como asistentes virtuales o de voz, y subtÃtulos en vivo, utilizan tÃĐcnicas de ML para funcionar. Los asistentes de voz populares actuales, como Siri y el Asistente de Google (GOOGL ), envÃan la plataforma en la nube cada vez que reciben algunos datos, lo que genera preocupaciones significativas relacionadas con la privacidad y la seguridad de los datos. TinyML es una soluciÃģn viable para este problema, ya que apunta a realizar el reconocimiento de habla en los dispositivos y eliminar la necesidad de migrar los datos a plataformas en la nube. Una de las formas de lograr el reconocimiento de habla en el dispositivo es utilizar Tiny Transducer, un modelo de reconocimiento de habla que utiliza una capa de bloque de memoria secuencial profundo (DFSMN) con una capa de Conv1D en lugar de las capas de LSTM para reducir los requisitos de cÃĄlculo y parÃĄmetros de la red.
Ayudas auditivas
La pÃĐrdida auditiva es una preocupaciÃģn de salud importante en todo el mundo, y la capacidad de los humanos para escuchar sonidos generalmente se debilita con la edad, y es un problema importante en paÃses que lidian con una poblaciÃģn envejecida, incluyendo China, JapÃģn y Corea del Sur. Los dispositivos de ayuda auditiva funcionan actualmente segÚn el principio simple de amplificar todos los sonidos de entrada del entorno, lo que hace que sea difÃcil para la persona distinguir o diferenciar entre el sonido deseado, especialmente en un entorno ruidoso.
TinyML podrÃa ser la soluciÃģn viable para este problema, ya que utilizar un modelo de TinyLSTM que utiliza un algoritmo de reconocimiento de habla para dispositivos de ayuda auditiva podrÃa ayudar a los usuarios a distinguir entre diferentes sonidos.
Aplicaciones basadas en visiÃģn
TinyML tiene el potencial de desempeÃąar un papel crucial en el procesamiento de conjuntos de datos basados en visiÃģn, ya que para obtener resultados mÃĄs rÃĄpidos, estos conjuntos de datos deben procesarse en la plataforma de borde en sÃ. Para lograr esto, el modelo de TinyML enfrenta los desafÃos prÃĄcticos que se presentan al entrenar el modelo utilizando la placa de microcontrolador OpenMV H7. Los desarrolladores tambiÃĐn propusieron una arquitectura para detectar el lenguaje de seÃąas estadounidense con la ayuda de un microcontrolador ARM Cortex M7 que funciona solo con 496KB de RAM de buffer de trama.
La implementaciÃģn de TinyML para aplicaciones basadas en visiÃģn en plataformas de borde requiriÃģ que los desarrolladores superaran el desafÃo importante de las redes neuronales convolucionales (CNN) con un alto error de generalizaciÃģn y alta precisiÃģn de entrenamiento y prueba. Sin embargo, la implementaciÃģn no se generalizÃģ de manera efectiva a imÃĄgenes dentro de nuevos casos de uso, asà como a fondos con ruido. Cuando los desarrolladores utilizaron el mÃĐtodo de interpolaciÃģn de aumento, el modelo devolviÃģ una puntuaciÃģn de precisiÃģn de mÃĄs del 98% en los datos de prueba y alrededor del 75% en generalizaciÃģn.

AdemÃĄs, se observÃģ que cuando los desarrolladores utilizaron el mÃĐtodo de interpolaciÃģn de aumento, hubo una disminuciÃģn en la precisiÃģn del modelo durante la cuantificaciÃģn, pero al mismo tiempo, tambiÃĐn hubo un aumento en la velocidad de inferencia del modelo y la generalizaciÃģn de la clasificaciÃģn. Los desarrolladores tambiÃĐn propusieron un mÃĐtodo para aumentar aÚn mÃĄs la precisiÃģn del modelo de entrenamiento en datos obtenidos de una variedad de fuentes diferentes y probar el rendimiento para explorar la posibilidad de desplegarlo en plataformas de borde como relojes inteligentes portÃĄtiles.
AdemÃĄs, estudios adicionales sobre las CNN indicaron que es posible desplegar y lograr resultados deseables con la arquitectura de CNN en dispositivos con recursos limitados. Recientemente, los desarrolladores pudieron desarrollar un marco para la detecciÃģn de mÃĄscaras faciales mÃĐdicas en un microcontrolador ARM Cortex M7 con recursos limitados utilizando TensorFlow Lite con huellas de memoria mÃnimas. El tamaÃąo del modelo despuÃĐs de la cuantificaciÃģn fue de aproximadamente 138 KB, mientras que la velocidad de inferencia en la placa objetivo fue de aproximadamente 30 FPS.
Otra aplicaciÃģn de TinyML para aplicaciones basadas en visiÃģn es implementar un dispositivo de reconocimiento de gestos que se puede sujetar a un bastÃģn para ayudar a las personas con discapacidad visual a navegar por sus vidas diarias con facilidad. Para diseÃąarlo, los desarrolladores utilizaron el conjunto de datos de gestos y utilizaron el conjunto de datos para entrenar el modelo de ProtoNN con un algoritmo de clasificaciÃģn. Los resultados obtenidos del conjunto fueron precisos, el diseÃąo fue de bajo costo y produjo resultados satisfactorios.
Otra aplicaciÃģn significativa de TinyML es en la industria de vehÃculos autÃģnomos y automÃģviles, debido a la falta de recursos y potencia de cÃĄlculo a bordo. Para abordar este problema, los desarrolladores introdujeron un mÃĐtodo de aprendizaje en bucle cerrado basado en el modelo de TinyCNN que propuso un modelo de predictor en lÃnea que captura la imagen en tiempo de ejecuciÃģn. El principal problema que los desarrolladores enfrentaron al implementar TinyML para la conducciÃģn autÃģnoma fue que el modelo de decisiÃģn que se entrenÃģ para funcionar con datos fuera de lÃnea puede no funcionar igual de bien cuando se ocupa de datos en lÃnea. Para maximizar completamente las aplicaciones de automÃģviles autÃģnomos y vehÃculos autÃģnomos, el modelo debe idealmente poder adaptarse a los datos en tiempo real.
ClasificaciÃģn y compresiÃģn de patrones de datos
Uno de los mayores desafÃos del marco de trabajo de TinyML actual es permitir que se adapte a los datos de entrenamiento en lÃnea. Para abordar este problema, los desarrolladores han propuesto un mÃĐtodo conocido como TinyOL o Aprendizaje en lÃnea de TinyML para permitir el entrenamiento con aprendizaje en lÃnea incremental en unidades de controlador micro, lo que permite que el modelo se actualice en dispositivos de borde de IoT. La implementaciÃģn se logrÃģ utilizando el lenguaje de programaciÃģn C++ y se agregÃģ una capa adicional a la arquitectura de TinyOL.
AdemÃĄs, los desarrolladores tambiÃĐn realizaron la codificaciÃģn automÃĄtica de la placa de sensor Arduino Nano 33 BLE y el modelo entrenado pudo clasificar nuevos patrones de datos. AdemÃĄs, el trabajo de desarrollo incluyÃģ diseÃąar algoritmos eficientes y mÃĄs optimizados para las redes neuronales para respaldar los patrones de entrenamiento de dispositivos en lÃnea.
La investigaciÃģn en TinyOL y TinyML ha indicado que el nÚmero de capas de activaciÃģn ha sido un problema importante para los dispositivos de borde de IoT que tienen recursos limitados. Para abordar este problema, los desarrolladores introdujeron el nuevo modelo de TinyTL o Aprendizaje de Transferencia de TinyML para hacer que la utilizaciÃģn de la memoria en los dispositivos de borde de IoT sea mÃĄs efectiva y evitar el uso de capas intermedias para fines de activaciÃģn. AdemÃĄs, los desarrolladores tambiÃĐn introdujeron un nuevo mÃģdulo de sesgo llamado âmÃģdulo de residuo ligeroâ para maximizar las capacidades de adaptaciÃģn y, en el proceso, permitir que los extractores de caracterÃsticas descubran mapas de caracterÃsticas residuales.
En comparaciÃģn con la afinaciÃģn de la red completa, los resultados fueron a favor de la arquitectura de TinyTL, ya que los resultados mostraron que TinyTL reduce la sobrecarga de memoria alrededor de 6,5 veces con una pÃĐrdida de precisiÃģn moderada. Cuando se afinÃģ la Última capa, TinyML mejorÃģ la precisiÃģn en un 34% con una pÃĐrdida de precisiÃģn moderada.
AdemÃĄs, la investigaciÃģn sobre la compresiÃģn de datos ha indicado que los algoritmos de compresiÃģn de datos deben gestionar los datos recopilados en un dispositivo portÃĄtil y, para lograrlo, los desarrolladores propusieron TAC o Compresor de AnomalÃas PequeÃąo. El TAC pudo superar a los algoritmos de SDT o Tendencia de Puerta de Balanceo y DCT o Transformada de Coseno Discreta. AdemÃĄs, el algoritmo de TAC superÃģ a ambos algoritmos de SDT y DCT al lograr una tasa de compresiÃģn mÃĄxima del 98% y tener la mejor relaciÃģn seÃąal a ruido pico de los tres algoritmos.
DiagnÃģstico de salud
La pandemia global de Covid-19 abriÃģ nuevas oportunidades para la implementaciÃģn de TinyML, ya que ahora es una prÃĄctica esencial detectar continuamente los sÃntomas respiratorios relacionados con la tos y el resfriado. Para garantizar un monitoreo ininterrumpido, los desarrolladores han propuesto un modelo de CNN llamado Tiny RespNet que opera en un entorno de modelo mÚltiple y el modelo se despliega en un FPGA Xilinx Artix-7 100t que permite que el dispositivo procese la informaciÃģn en paralelo, tiene una alta eficiencia y bajo consumo de energÃa. AdemÃĄs, el modelo de TinyResp tambiÃĐn toma la voz de los pacientes, grabaciones de audio y informaciÃģn demogrÃĄfica como entrada para clasificar y los sÃntomas relacionados con la tos de un paciente se clasifican utilizando tres conjuntos de datos distinguibles.
AdemÃĄs, los desarrolladores tambiÃĐn han propuesto un modelo capaz de ejecutar cÃĄlculos de aprendizaje profundo en dispositivos de borde, un modelo de TinyML llamado TinyDL. El modelo de TinyDL se puede desplegar en dispositivos de borde como relojes inteligentes y wearables para el diagnÃģstico de salud y tambiÃĐn es capaz de realizar un anÃĄlisis de rendimiento para reducir el ancho de banda, la latencia y el consumo de energÃa. Para lograr el despliegue de TinyDL en dispositivos portÃĄtiles, se diseÃąÃģ y entrenÃģ un modelo de LSTM especÃficamente para un dispositivo wearable y se le proporcionÃģ los datos recopilados como entrada. El modelo tiene una puntuaciÃģn de precisiÃģn de alrededor del 75 al 80% y pudo funcionar con datos fuera del dispositivo.
Finalmente, los desarrolladores tambiÃĐn han propuesto otra aplicaciÃģn para monitorear la salud de las personas mayores estimando y analizando sus posturas corporales. El modelo utiliza el marco de trabajo agnÃģstico en el dispositivo que permite que el modelo habilite la validaciÃģn y la adopciÃģn rÃĄpida para realizar adaptaciones. El modelo implementÃģ algoritmos de detecciÃģn de posturas corporales combinados con puntos de referencia faciales para detectar posturas corporales espaciotemporales en tiempo real.
ComputaciÃģn de borde
Una de las principales aplicaciones de TinyML es en el campo de la computaciÃģn de borde, ya que con el aumento del uso de dispositivos de IoT para conectar dispositivos en todo el mundo, es esencial establecer dispositivos de borde, lo que ayudarÃĄ a reducir la carga sobre las arquitecturas en la nube. Estos dispositivos de borde contarÃĄn con centros de datos individuales que les permitirÃĄn realizar cÃĄlculos de alto nivel en el dispositivo en sÃ, en lugar de depender de la arquitectura en la nube. Como resultado, ayudarÃĄ a reducir la dependencia de la nube, reducir la latencia, mejorar la seguridad y la privacidad del usuario y tambiÃĐn reducir el ancho de banda.
Los dispositivos de borde que utilizan los algoritmos de TinyML ayudarÃĄn a resolver las limitaciones actuales relacionadas con el poder, el cÃĄlculo y los requisitos de memoria y se discute en la imagen a continuaciÃģn.

AdemÃĄs, TinyML tambiÃĐn puede mejorar el uso y la aplicaciÃģn de los vehÃculos aÃĐreos no tripulados (UAV) al abordar las limitaciones actuales que enfrentan estas mÃĄquinas. El uso de TinyML puede permitir a los desarrolladores implementar un dispositivo de bajo consumo de energÃa con baja latencia y alta potencia de cÃĄlculo que pueda actuar como controlador para estos UAV.
Interfaz cerebro-ordenador o BCI
TinyML tiene aplicaciones significativas en la industria de la salud, y puede ser muy beneficioso en diferentes ÃĄreas, incluyendo la detecciÃģn de cÃĄncer y tumores, las predicciones de salud utilizando seÃąales de ECG y EEG y la inteligencia emocional. El uso de TinyML puede permitir que la estimulaciÃģn cerebral profunda adaptativa (aDBS) se adapte con ÃĐxito a las adaptaciones clÃnicas. El uso de TinyML tambiÃĐn puede permitir que la aDBS identifique biomarcadores y sÃntomas relacionados con la enfermedad utilizando grabaciones invasivas de las seÃąales de las ondas cerebrales.
AdemÃĄs, la industria de la salud a menudo incluye la recopilaciÃģn de una gran cantidad de datos de un paciente y estos datos luego deben procesarse para llegar a soluciones especÃficas para el tratamiento de un paciente en las primeras etapas de una enfermedad. Como resultado, es vital construir un sistema que no solo sea muy eficaz, sino tambiÃĐn muy seguro. Cuando combinamos la aplicaciÃģn de IoT con el modelo de TinyML, surge un nuevo campo llamado Internet de las cosas de la salud (H-IoT) y las principales aplicaciones de H-IoT son el diagnÃģstico, el monitoreo, la logÃstica, el control de la propagaciÃģn y los sistemas de asistencia. Si queremos desarrollar dispositivos que puedan detectar y analizar la salud de un paciente de forma remota, es esencial desarrollar un sistema que tenga accesibilidad global y baja latencia.

VehÃculos autÃģnomos
Finalmente, TinyML puede tener aplicaciones generalizadas en la industria de los vehÃculos autÃģnomos, ya que estos vehÃculos se pueden utilizar de diferentes maneras, incluyendo seguimiento humano, propÃģsitos militares y aplicaciones industriales. Estos vehÃculos tienen un requisito principal de poder identificar objetos de manera eficiente cuando se busca el objeto.
En la actualidad, los vehÃculos autÃģnomos y la conducciÃģn autÃģnoma son una tarea bastante compleja, especialmente al desarrollar vehÃculos pequeÃąos o miniaturizados. Los desarrollos recientes han demostrado el potencial de mejorar la aplicaciÃģn de la conducciÃģn autÃģnoma para vehÃculos miniaturizados utilizando una arquitectura de CNN y desplegando el modelo en el GAP8 MCI.
DesafÃos
TinyML es un concepto relativamente nuevo en la industria de IA y ML y, a pesar del progreso, todavÃa no es tan efectivo como necesitamos para su despliegue masivo en dispositivos y dispositivos de borde de IoT.
El mayor desafÃo que enfrentan actualmente los dispositivos de TinyML es el consumo de energÃa de estos dispositivos. Idealmente, los dispositivos embebidos y los dispositivos de borde y IoT deben tener una vida Útil de la baterÃa que se extienda durante mÃĄs de 10 aÃąos. Por ejemplo, en condiciones ideales, un dispositivo de IoT que funciona con una baterÃa de 2Ah debe tener una vida Útil de la baterÃa de mÃĄs de 10 aÃąos, siempre que el consumo de energÃa del dispositivo sea de aproximadamente 12 ΞA. Sin embargo, en el estado dado, una arquitectura de IoT con un sensor de temperatura, una unidad de controlador micro y un mÃģdulo de WiFi, el consumo de corriente se encuentra en aproximadamente 176,4 mA y, con este consumo de energÃa, la baterÃa durarÃĄ solo alrededor de 11 horas, en lugar de los 10 aÃąos de vida Útil de la baterÃa requeridos.
Restricciones de recursos
Para mantener la consistencia de un algoritmo, es vital mantener la disponibilidad de energÃa y, dado el escenario actual, la disponibilidad de energÃa limitada para los dispositivos de TinyML es un desafÃo crÃtico. AdemÃĄs, las limitaciones de memoria tambiÃĐn son un desafÃo significativo, ya que desplegar modelos a menudo requiere una gran cantidad de memoria para funcionar de manera efectiva y precisa.
Restricciones de hardware
Las restricciones de hardware hacen que sea difÃcil desplegar algoritmos de TinyML a gran escala, debido a la heterogeneidad de los dispositivos de hardware. Hay miles de dispositivos, cada uno con sus propias especificaciones y requisitos de hardware, y, en consecuencia, un algoritmo de TinyML actualmente debe ajustarse para cada dispositivo individual, lo que hace que el despliegue masivo sea un problema importante.
Restricciones del conjunto de datos
Uno de los principales problemas con los modelos de TinyML es que no admiten los conjuntos de datos existentes. Es un desafÃo para todos los dispositivos de borde, ya que recopilan datos utilizando sensores externos y estos dispositivos a menudo tienen restricciones de energÃa y potencia. Por lo tanto, los conjuntos de datos existentes no se pueden utilizar para entrenar los modelos de TinyML de manera efectiva.
Pensamientos finales
El desarrollo de tÃĐcnicas de ML ha causado una revoluciÃģn y un cambio de perspectiva en el ecosistema de IoT. La integraciÃģn de modelos de ML en dispositivos de IoT permitirÃĄ que estos dispositivos de borde tomen decisiones inteligentes por sà mismos sin ninguna entrada humana externa. Sin embargo, convencionalmente, los modelos de ML a menudo tienen altos requisitos de energÃa, memoria y cÃĄlculo, lo que los hace inadecuados para ser desplegados en dispositivos de borde que a menudo estÃĄn limitados por los recursos.
Como resultado, una nueva rama en IA se dedicÃģ al uso de ML para dispositivos de IoT y se denominÃģ TinyML. TinyML es un marco de trabajo de ML que permite que incluso los dispositivos con recursos limitados aprovechen el poder de la IA y el ML para garantizar una mayor precisiÃģn, inteligencia y eficiencia.
En este artÃculo, hemos hablado sobre la implementaciÃģn de modelos de TinyML en dispositivos de IoT con recursos limitados y esta implementaciÃģn requiere el entrenamiento de los modelos, la implementaciÃģn de los modelos en el hardware y la realizaciÃģn de tÃĐcnicas de cuantificaciÃģn. Sin embargo, dado el alcance actual, los modelos de ML listos para ser implementados en dispositivos de IoT y dispositivos de borde tienen varias complejidades y restricciones, incluyendo problemas de hardware y compatibilidad de marco de trabajo.












