Connect with us

Inteligencia artificial

TinyML: Aplicaciones, Limitaciones y su Uso en Dispositivos IoT y Edge

mm

En los últimos años, la Inteligencia Artificial (AI) y el Aprendizaje Automático (ML) han experimentado un aumento meteórico en popularidad y aplicaciones, no solo en la industria sino también en la academia. Sin embargo, los modelos de ML y AI actuales tienen una limitación importante: requieren una cantidad enorme de potencia 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 una gran potencia de cálculo.

Pero dado los avances realizados 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 dispositivos embebidos e 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 potencia 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 más 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 informática de borde, un paradigma de cálculo 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 porque se pueden desplegar en el borde de la red, y por lo tanto tienen una huella de memoria baja.

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 de sensores y los transmiten a una ubicación cercana o a plataformas en la nube para su procesamiento. La tecnología de cálculo de borde almacena y realiza cálculos en los datos y también proporciona la infraestructura necesaria para respaldar el cálculo distribuido.

La implementación de cálculo de borde en dispositivos IoT proporciona

  1. Seguridad, privacidad y confiabilidad efectivas para los usuarios finales.
  2. Menor retraso.
  3. Mayor disponibilidad y respuesta a aplicaciones y servicios.

Además, dado que los dispositivos de borde pueden desplegar 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 realizarse en la plataforma en la nube. Esto puede resultar en un manejo de datos efectivo, persistencia de datos, entrega efectiva y almacenamiento en caché de contenido. Además, para implementar IoT en aplicaciones que involucran interacción Humano a Máquina (H2M) y atención médica moderna, el cálculo de borde proporciona una forma de mejorar significativamente los servicios de red.

La investigación reciente en el campo del cálculo de borde de IoT ha demostrado el potencial de implementar técnicas de ML en varios casos de uso de IoT. Sin embargo, el principal problema es que los modelos de ML 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 cálculo de borde actual carece de alta capacidad de transmisión y ahorro de energía efectivo, lo que conduce a sistemas heterogéneos, que es la principal razón detrás de la necesidad de una infraestructura armónica 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.

También, en el escenario 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, Redes Neuronales Profundas, Circuitos Integrados Específicos de Aplicación (ASIC) y Unidades de Procesamiento Gráfico (GPU) para el procesamiento de los datos, y a menudo tienen un mayor requisito de potencia 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, junto con la optimización de modelos de ML para hacerlos más eficientes en términos de potencia 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 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 ML 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 potencia, 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 el escenario 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, por lo que los modelos en plataformas de hardware y software están preinstalados. Los sensores recopilan los datos que simulan el mundo físico y 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 amalgama de software, hardware y algoritmos que trabajan en sincronía entre sí para ofrecer el rendimiento deseado. Es posible que se requiera cálculo analógico o de memoria para proporcionar una mejor y más efectiva experiencia de aprendizaje para hardware y dispositivos de IoT que no admiten aceleradores de hardware. En cuanto al software, las aplicaciones construidas utilizando 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 TinyML deben tener el soporte de nuevos algoritmos que requieran modelos de tamaño de memoria bajo para evitar un alto consumo de memoria.

Para resumir, las aplicaciones construidas utilizando la herramienta TinyML deben optimizar los principios y métodos de ML, junto con el diseño compacto del software, en presencia de datos de alta calidad. Estos datos luego deben ser procesados a través de archivos binarios generados utilizando modelos entrenados en máquinas con mayor capacidad y potencia de cálculo.

Además, los sistemas y aplicaciones que ejecutan la herramienta TinyML deben proporcionar alta precisión al realizar bajo restricciones más estrictas, porque se requiere software compacto para un bajo consumo de energía que admita las implicaciones de TinyML. Además, las aplicaciones o módulos 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

  1. Capacidad para escalar miles de millones de sistemas embebidos baratos.
  2. Almacenar el código en la memoria RAM del dispositivo con una capacidad inferior a 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 AI 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 de control cerebral, cálculo de borde, fenómica, vehículos autónomos y más.

Aplicaciones Basadas en Habla

Comunicaciones de Habla

Las aplicaciones basadas en habla suelen depender 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 suelen tener 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 llamada TinySpeech que permite a los desarrolladores construir una arquitectura de bajo cálculo que utiliza redes neuronales convolucionales 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 brutos. El método parecía funcionar, ya que los resultados indicaron una disminución en el consumo de energía en el hardware.

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 LSTM con una capa 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 en valor singular (SVD) comprimió con éxito el modelo, mientras que el uso de decodificación basada en WFST o Autómatas Finitos Estocásticos Pesados resultó en más 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 como Siri y el Asistente de Google envían ping a la plataforma en la nube cada vez que reciben algunos datos, y esto crea 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 Profunda (DFSMN) acoplada con una capa Conv1D en lugar de las capas LSTM para reducir las necesidades 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 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 de visión basados en computadora, 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 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 americanas con la ayuda de un microcontrolador ARM Cortex M7 que funciona solo con 496 KB de memoria de búfer 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 una 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 impulso 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 generalización al entrenar 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 CNN indicaron que es posible desplegar y lograr resultados deseables con la arquitectura de CNN en dispositivos con recursos limitados. Recientemente, los desarrolladores fueron capaces de 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 una huella de memoria mínima. 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 acoplar 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 ProtoNN con un algoritmo de clasificación. Los resultados obtenidos del conjunto fueron precisos, el diseño fue de bajo costo y entregó resultados satisfactorios.

Otra aplicación significativa de TinyML es en la industria de vehículos autónomos y vehículos autónomos, 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 de bucle cerrado basado en el modelo TinyCNN que propuso un modelo de predictor en línea que captura la imagen en tiempo de ejecución. El problema importante que los desarrolladores enfrentaron al implementar TinyML para la conducción autónoma fue que el modelo de decisión entrenado 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 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 llamado TinyOL o Aprendizaje en Línea de TinyML para permitir el entrenamiento con aprendizaje en línea incremental en unidades de microcontrolador, 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ó el diseño de algoritmos de redes neuronales más eficientes y optimizados para respaldar el entrenamiento de patrones 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 con 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, evitando 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.

Cuando se comparó con la afinación de la red completa, los resultados favorecieron 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 administrar 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 SDT o Tendencia de Puerta de Balanceo y DCT o Transformada de Coseno Discreta. Además, el algoritmo TAC superó a ambos algoritmos SDT y DCT al lograr una tasa de compresión máxima de más 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 multi-modelo 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 un bajo consumo de energía. Además, el modelo 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 TinyDL se puede desplegar en dispositivos de borde como relojes inteligentes y dispositivos portátiles para el diagnóstico de salud y también es capaz de realizar un análisis de rendimiento para reducir la banda ancha, 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 portátil y se le proporcionaron datos recopilados como entrada. El modelo tiene una puntuación de precisión de alrededor del 75 al 80% y puede 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 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 acoplados con puntos de referencia faciales para detectar posturas corporales espaciotemporales en tiempo real.

Cálculo de Borde

Una de las principales aplicaciones de TinyML es en el campo del cálculo 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, ya 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 la banda ancha.

Los dispositivos de borde que utilizan los algoritmos de TinyML ayudarán a resolver las limitaciones actuales relacionadas con la potencia, 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 Vehículos Aéreos No Tripulados (UAV) al abordar las limitaciones actuales que enfrentan estas máquinas. El uso de TinyML puede permitir que los desarrolladores implementen un dispositivo eficiente en términos de energía con baja latencia y alta potencia de cálculo que pueda actuar como controlador para estos UAV.

Interfaz de Control Cerebro-Computadora (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, predicciones de salud utilizando señales de ECG y EEG, e 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 aDBS identifique biomarcadores y síntomas relacionados con enfermedades utilizando grabaciones invasivas de señales de cerebro.

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 efectivo, sino también muy seguro. Cuando combinamos la aplicación de IoT con el modelo de TinyML, nace un nuevo campo llamado Internet de las Cosas de Salud (H-IoT), y las principales aplicaciones de H-IoT son diagnóstico, monitoreo, logística, control de propagación y 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 vehículos autónomos, ya que estos vehículos se pueden utilizar de diversas maneras, incluyendo seguimiento humano, propósitos militares y tienen aplicaciones industriales. Estos vehículos tienen un requisito principal de poder identificar objetos de manera eficiente cuando se busca el objeto.

Actualmente, los vehículos autónomos y la conducción autónoma son una tarea bastante compleja, especialmente cuando se desarrollan vehículos de tamaño pequeño o mini. Los desarrollos recientes han mostrado potencial para 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 AI y ML, y a pesar del progreso, todavía no es tan efectivo como necesitamos para su despliegue masivo en dispositivos de borde y 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 de borde y IoT deben tener una vida útil de la batería que se extiende durante más de 10 años. Por ejemplo, en condiciones ideales, un dispositivo de IoT que funciona con una batería de 2 Ah 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 ua. Sin embargo, en el estado dado, una arquitectura de IoT con un sensor de temperatura, una unidad de MCU y un módulo de WiFi, el consumo de corriente es de aproximadamente 176,4 mA, y con este consumo de energía, la batería durará solo alrededor de 11 horas, en lugar de la vida útil de la batería de 10 años requerida.

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 la implementación de algoritmos de TinyML en una escala amplia sea difícil 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 potencia, memoria y cálculo, lo que los hace inadecuados para su despliegue en dispositivos de borde que a menudo están limitados en términos de recursos.

Como resultado, una nueva rama en AI 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, el despliegue 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 desplegados en dispositivos de IoT y de borde tienen varias complejidades y restricciones, incluyendo problemas de compatibilidad de hardware y marco de trabajo.

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.