Inteligencia artificial

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

mm

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

  1. Seguridad, privacidad y confiabilidad efectivas para los usuarios finales.
  2. Menor retraso.
  3. 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

  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 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, 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.

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.