TinyML Aplicaciones, Limitaciones y su uso en dispositivos IoT y de borde
TinyML Aplicaciones, Limitaciones y uso en IoT y dispositivos de borde
En los últimos años, la Inteligencia Artificial (IA) y el Aprendizaje Automático (AA) 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 AA e IA actuales tienen una limitación importante: requieren una inmensa cantidad de potencia informática y procesamiento para lograr los resultados y la precisión deseados. Esto a menudo limita su uso a dispositivos de alta capacidad con una potencia informática sustancial.
Pero dado el avance en la tecnología de sistemas integrados y el desarrollo sustancial en la industria de Internet de las Cosas, es deseable incorporar el uso de técnicas y conceptos de AA en un sistema integrado con recursos limitados para una inteligencia ubicua. El deseo de utilizar conceptos de AA en sistemas integrados e IoT es el factor motivador principal detrás del desarrollo de TinyML, una técnica de AA integrada que permite modelos y aplicaciones de AA en múltiples dispositivos con recursos limitados, restricciones de potencia y económicos.
Sin embargo, la implementación de AA en dispositivos con recursos limitados no ha sido simple, ya que implementar modelos de AA en dispositivos con poca potencia informática 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, profundizaremos en el modelo de TinyML y aprenderemos más sobre su contexto, las herramientas que admiten TinyML y las aplicaciones de TinyML utilizando tecnologías avanzadas. Así que vamos a empezar.
Una introducción a TinyML: Por qué el mundo necesita TinyML
Los dispositivos de Internet de las Cosas (IoT) tienen como objetivo aprovechar la computación en el borde, un paradigma de computación que se refiere a una variedad de dispositivos y redes cercanos al usuario para permitir el procesamiento sin problemas y 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 poca potencia informática y de procesamiento, ya que se pueden implementar en el borde de la red y, por lo tanto, tienen una huella de memoria reducida.
- Nuevo algoritmo propuesto para seleccionar variables de manera efic...
- Infundir ética en la IA
- Aprendizaje por Reforzamiento Proceso de Decisión de Markov –...
Además, los dispositivos IoT dependen en gran medida de las plataformas en el borde para recopilar y luego transmitir los datos, ya que estos dispositivos en el borde recopilan datos sensoriales y los transmiten ya sea a una ubicación cercana o a plataformas en la nube para su procesamiento. La tecnología de computación en el borde almacena y realiza cálculos en los datos, y también proporciona la infraestructura necesaria para admitir la computación distribuida.
La implementación de la computación en el borde en dispositivos IoT proporciona:
- Seguridad, privacidad y confiabilidad efectivas para los usuarios finales.
- Menor retraso.
- Mayor disponibilidad y respuesta de rendimiento a aplicaciones y servicios.
Además, debido a que los dispositivos en el borde pueden implementar una técnica de colaboración 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 una gestión de datos efectiva, persistencia de datos, entrega efectiva y almacenamiento en caché de contenido. Además, para implementar IoT en aplicaciones que tratan la interacción de persona a máquina (H2M) y la atención médica moderna, la computación en el borde proporciona una forma de mejorar significativamente los servicios de red.
Investigaciones recientes en el campo de la computación en el borde de IoT han demostrado el potencial de implementar técnicas de AA 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 potencia informática y de procesamiento sólida, y una capacidad de memoria alta que limita la implementación de los modelos de AA en dispositivos y aplicaciones de IoT.
Además, la tecnología de computación en el borde actualmente carece de capacidad de transmisión alta y ahorro de energía efectivo, lo que lleva 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 e implementación de modelos de AA. La arquitectura diseñada para dispositivos integrados 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 AA estándar para redes de IoT.
Además, 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 intensiva en cálculos de las implementaciones de red. Además, los modelos de AA 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 procesar los datos, y a menudo tienen un requisito de energía y memoria más alto. La implementación de modelos de AA completos en dispositivos IoT no es una solución viable debido a la evidente falta de potencia informática y de procesamiento y soluciones de almacenamiento limitadas.
La demanda de miniaturizar dispositivos integrados de baja potencia junto con la optimización de modelos de AA para hacerlos más eficientes en cuanto a energía y memoria ha allanado el camino para TinyML, que tiene como objetivo implementar modelos y prácticas de AA en dispositivos y marcos de IoT en el borde. TinyML permite el procesamiento de señales en dispositivos IoT y proporciona inteligencia integrada, eliminando así la necesidad de transferir datos a plataformas en la nube para su procesamiento. La implementación exitosa de TinyML en dispositivos IoT puede resultar en un aumento de la privacidad y la eficiencia, al tiempo que reduce los costos operativos. 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 sitio.
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 requisitos de energía, memoria y computación bajos, lo que los hace adecuados para redes integradas y dispositivos que funcionan con energía de batería. Además, los requisitos bajos de TinyML lo convierten en una opción ideal para implementar modelos de ML en el marco de IoT.
En el escenario actual, los sistemas de ML basados en la nube enfrentan algunas dificultades, incluidas preocupaciones de seguridad y privacidad, alto consumo de energía, confiabilidad y problemas de latencia, por lo que los modelos en plataformas hardware-software se preinstalan. Los sensores recopilan los datos que simulan el mundo físico, que luego se procesan utilizando una CPU o una MPU (unidad de microprocesamiento). La MPU atiende las necesidades de soporte analítico de ML habilitadas por redes y arquitecturas de ML conscientes del borde. La arquitectura de ML en el 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.
Se podría decir con seguridad que TinyML es una amalgama de software, hardware y algoritmos que trabajan en sincronía para ofrecer el rendimiento deseado. Puede ser necesario utilizar computación analógica o en memoria para proporcionar una experiencia de aprendizaje mejor y más efectiva para dispositivos de hardware e IoT que no admiten aceleradores de hardware. En cuanto al software, las aplicaciones construidas utilizando TinyML se pueden implementar en plataformas como Linux o Linux integrado, y en software habilitado para la nube. Finalmente, las aplicaciones y sistemas construidos con el algoritmo TinyML deben contar con el soporte de nuevos algoritmos que requieran modelos de tamaño de memoria baja para evitar un alto consumo de memoria.
En resumen, las aplicaciones construidas utilizando la herramienta TinyML deben optimizar los principios y métodos de ML junto con el diseño del software de manera compacta, en presencia de datos de alta calidad. Luego, estos datos deben ser cargados a través de archivos binarios que se generan utilizando modelos entrenados en máquinas con una capacidad y potencia de cómputo mucho mayores.
Además, los sistemas y aplicaciones que se ejecutan en la herramienta TinyML deben brindar una alta precisión cuando funcionan bajo restricciones más estrictas, ya que se necesita un software compacto para un consumo de energía reducido 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 admitir sus operaciones en sistemas integrados en el borde.
Dicho esto, las aplicaciones de TinyML tienen dos requisitos fundamentales:
- Capacidad para escalar miles de millones de sistemas integrados económicos.
- Almacenar el código en la memoria RAM del dispositivo con una capacidad 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, que incluyen aplicaciones basadas en visión y habla, diagnóstico de salud, compresión y clasificación de patrones de datos, interfaces de control cerebral, cómputo en el borde, fenómica, autos autónomos y más.
Aplicaciones basadas en el habla
Comunicaciones de habla
Típicamente, las aplicaciones basadas en el 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 el habla utilizando metodologías de TinyML.
Algunas de las aplicaciones más populares en la industria de las comunicaciones de habla en la actualidad 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 consumo de energía más alto y también tienen altos requisitos de datos en el dispositivo anfitrión. Para superar estos requisitos, se ha introducido una nueva biblioteca llamada TinySpeech que permite a los desarrolladores construir una arquitectura computacional baja que utiliza redes convolucionales profundas para crear una instalación de almacenamiento reducida.
Para utilizar TinyML para mejorar el habla, los desarrolladores primero abordaron el dimensionamiento del modelo de mejora del habla porque estaba sujeto a limitaciones y restricciones de hardware. Para abordar el problema, se implementó el recorte estructurado y la cuantización entera para el modelo de mejora del habla de redes neuronales recurrentes (RNN). 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 utilizar los recursos de manera efectiva, especialmente cuando se implementan en aplicaciones con recursos limitados que ejecutan aplicaciones de reconocimiento de voz.
Como resultado, para partitionar el proceso, se propuso un método de co-diseño para aplicaciones de reconocimiento de voz y habla basadas en TinyML. Los desarrolladores utilizaron la operación de ventaneo para partitionar el software y el hardware de manera que se preprocesaran los datos de voz crudos. El método pareció funcionar, ya que los resultados indicaron una disminución en el consumo de energía en el hardware. Finalmente, también existe el potencial de implementar una partición optimizada entre el co-diseño de software y hardware para un mejor rendimiento en el futuro cercano.
Además, investigaciones recientes han propuesto el uso de un transductor basado en teléfono para sistemas de reconocimiento de voz, y la propuesta tiene como objetivo reemplazar los predictores LSTM con una capa Conv1D para reducir las necesidades de cálculo en dispositivos periféricos. Cuando se implementó, la propuesta arrojó resultados positivos, ya que la descomposición de valores singulares o SVD había comprimido el modelo con éxito, mientras que el uso de la decodificación basada en transductores finitos ponderados o WFST (por sus siglas en inglés) resultó en una mayor flexibilidad en el sesgo de mejora del modelo.
Muchas aplicaciones prominentes de reconocimiento de voz, como asistentes virtuales o de voz, subtitulación en vivo y comandos de voz, utilizan técnicas de aprendizaje automático para funcionar. Los asistentes de voz populares en la actualidad, como Siri y el Asistente de Google, envían solicitudes a la plataforma en la nube cada vez que reciben 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 tiene como objetivo realizar el reconocimiento de voz en dispositivos y eliminar la necesidad de migrar los datos a plataformas en la nube. Una de las formas de lograr el reconocimiento de voz en el dispositivo es utilizar un Tiny Transducer, un modelo de reconocimiento de voz que utiliza una capa de bloque de memoria secuencial de avance profundo o DFSMN (por sus siglas en inglés) junto con una capa Conv1D en lugar de las capas LSTM para reducir los requisitos de cálculo y los parámetros de la red.
Audífonos
La pérdida de audición es un problema de salud importante en todo el mundo, y la capacidad auditiva de los seres humanos se debilita generalmente a medida que envejecen, lo cual es un problema importante en países con población envejecida como China, Japón y Corea del Sur. Los dispositivos de audífonos funcionan actualmente según el principio simple de amplificar todos los sonidos de entrada del entorno, lo que dificulta que la persona distinga o diferencie el sonido deseado, especialmente en un entorno ruidoso.
TinyML podría ser la solución viable para este problema, ya que el uso de un modelo TinyLSTM que utiliza un algoritmo de reconocimiento de voz para dispositivos de audífonos puede 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 por computadora, ya que estos conjuntos de datos necesitan ser procesados en la plataforma en sí misma para obtener resultados más rápidos. Para lograr esto, el modelo TinyML enfrenta los desafíos prácticos que surgen al entrenar el modelo utilizando la placa microcontroladora OpenMV H7. Los desarrolladores también propusieron una arquitectura para detectar el lenguaje de señas americano con la ayuda de una microcontroladora ARM Cortex M7 que funciona solo con 496KB de memoria de búfer de cuadros.
La implementación de TinyML para aplicaciones basadas en visión en plataformas periféricas requirió que los desarrolladores superaran el desafío principal de las redes neuronales convolucionales o CNN (por sus siglas en inglés) con un alto error de generalización y una alta precisión de entrenamiento y prueba. Sin embargo, la implementación no se generalizó eficazmente a imágenes en nuevos casos de uso y a fondos con ruido. Cuando los desarrolladores utilizaron el método de aumento de interpolación, el modelo obtuvo una puntuación de precisión de más del 98% en los datos de prueba y aproximadamente el 75% en generalización.
Además, se observó que cuando los desarrolladores utilizaron el método de aumento de interpolación, hubo una disminución en la precisión del modelo durante la cuantización, pero al mismo tiempo, hubo un aumento en la velocidad de inferencia y la generalización de clasificación del modelo. Los desarrolladores también propusieron un método para mejorar aún más la precisión del entrenamiento del modelo de generalización utilizando datos obtenidos de diversas fuentes diferentes y probar su rendimiento para explorar la posibilidad de implementarlo en plataformas periféricas como relojes inteligentes portátiles.
Además, estudios adicionales sobre CNN indicaron que es posible implementar y lograr resultados deseables con la arquitectura de CNN en dispositivos con recursos limitados. Recientemente, los desarrolladores lograron desarrollar un marco para la detección de mascarillas médicas en una microcontroladora 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 cuantizació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 pueda sujetar a un bastón para ayudar a las personas con discapacidad visual a navegar fácilmente en su vida diaria. 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 montaje fueron precisos, el diseño fue de bajo costo y entregó resultados satisfactorios.
Otra aplicación significativa de TinyML se encuentra en la industria de los vehículos autónomos y de conducción autónoma 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 TinyCNN que propuso un modelo de predictor en línea que captura la imagen en tiempo de ejecución. El problema principal que enfrentaron los desarrolladores al implementar TinyML para la conducción autónoma fue que el modelo de decisión que se entrenó para funcionar con datos sin conexión no puede funcionar igual de bien al lidiar con datos en línea. Para maximizar completamente las aplicaciones de los autos autónomos y los autos de conducción autónoma, el modelo idealmente debería adaptarse a los datos en tiempo real.
Clasificación y compresión de patrones de datos
Uno de los mayores desafíos del actual marco TinyML es facilitar su adaptación a los datos de entrenamiento en línea. Para abordar este problema, los desarrolladores han propuesto un método conocido como TinyOL o TinyML Online Learning para permitir el entrenamiento con aprendizaje en línea incremental en microcontroladores, lo que permite que el modelo se actualice en dispositivos IoT edge. 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 sensora 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 más eficientes y optimizados para las redes neuronales para admitir 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 IoT edge con recursos limitados. Para abordar este problema, los desarrolladores introdujeron el nuevo modelo TinyTL o Tiny Transfer Learning para hacer que la utilización de la memoria en los dispositivos IoT edge sea mucho 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 conocido como “módulo residual lite” para maximizar las capacidades de adaptación y permitir que los extractores de características descubran mapas de características residuales.
En comparación con el ajuste fino de la red completa, los resultados favorecieron la arquitectura de TinyTL, ya que los resultados mostraron que TinyTL redujo la sobrecarga de memoria aproximadamente 6.5 veces con una pérdida de precisión moderada. Cuando se ajustó 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 lograr esto, los desarrolladores propusieron TAC o Tiny Anomaly Compressor. El TAC pudo superar a los algoritmos SDT o Swing Door Trending y DCT o Discrete Cosine Transform. Además, el algoritmo TAC superó tanto a los algoritmos SDT como a los algoritmos DCT al lograr una tasa de compresión máxima de más del 98% y tener una relación señal-ruido pico superior 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 síntomas respiratorios relacionados con la tos y el resfriado. Para garantizar un monitoreo ininterrumpido, los desarrolladores han propuesto un modelo CNN llamado Tiny RespNet que opera en un entorno de múltiples modelos, y el modelo se implementa en un FPGA Xilinx Artix-7 100t que permite que el dispositivo procese la información de manera paralela, tiene una alta eficiencia y un bajo consumo de energía. Además, el modelo TinyResp también utiliza el habla de los pacientes, grabaciones de audio e 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 distintos.
Además, los desarrolladores también han propuesto un modelo capaz de ejecutar cálculos de aprendizaje profundo en dispositivos edge, un modelo TinyML llamado TinyDL. El modelo TinyDL se puede implementar en dispositivos edge como relojes inteligentes y dispositivos portables para el diagnóstico de salud, y también es capaz de llevar a cabo análisis de rendimiento para reducir el ancho de banda, la latencia y el consumo de energía. Para lograr la implementación de TinyDL en dispositivos portátiles, se diseñó y entrenó un modelo 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 aproximadamente el 75 al 80%, y también pudo trabajar con datos fuera del dispositivo. Estos modelos que se ejecutan en dispositivos edge mostraron el potencial para resolver los desafíos actuales que enfrentan los dispositivos IoT.
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 promoción rápida para realizar adaptaciones. El modelo implementó algoritmos de detección de postura corporal junto con puntos de referencia faciales para detectar posturas corporales espaciotemporales en tiempo real.
Edge Computing
Una de las principales aplicaciones de TinyML es en el campo de la informática edge, ya que con el aumento en el uso de dispositivos IoT para conectar dispositivos en todo el mundo, es esencial configurar dispositivos edge, ya que ayudará a reducir la carga sobre las arquitecturas en la nube. Estos dispositivos edge contarán con centros de datos individuales que les permitirán llevar a cabo computación de alto nivel en el propio dispositivo, 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 privacidad del usuario, y también reducir el ancho de banda.
Los dispositivos Edge que utilizan los algoritmos TinyML ayudarán a resolver las restricciones actuales relacionadas con los requisitos de energía, computación y memoria, como 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 o UAVs al abordar las limitaciones actuales que enfrentan estas máquinas. El uso de TinyML puede permitir a los desarrolladores implementar un dispositivo energéticamente eficiente con baja latencia y alta potencia de cómputo que puede actuar como controlador para estos UAV.
Interfaz Cerebro-Computadora o BCI
TinyML tiene aplicaciones significativas en la industria de la salud, y puede resultar 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 Profunda Adaptativa del Cerebro o aDBS se adapte con éxito a las adaptaciones clínicas. El uso de TinyML también puede permitir que aDBS identifique biomarcadores relacionados con enfermedades y sus síntomas mediante grabaciones invasivas de las señales cerebrales.
Además, la industria de la salud a menudo incluye la recopilación de una gran cantidad de datos de un paciente, y luego estos datos 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 altamente efectivo, sino también altamente seguro. Cuando combinamos la aplicación de IoT con el modelo TinyML, nace un nuevo campo llamado H-IoT o Internet de las Cosas para la Salud, y las principales aplicaciones de H-IoT son el diagnóstico, monitoreo, logística, control de propagación y sistemas de apoyo. Si queremos desarrollar dispositivos capaces de detectar y analizar la salud de un paciente de forma remota, es esencial desarrollar un sistema con 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, incluido el seguimiento de personas, fines militares y 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 tareas bastante complejas, especialmente al desarrollar vehículos de tamaño pequeño o mini. Los desarrollos recientes han mostrado el potencial para mejorar la aplicación de la conducción autónoma para vehículos mini utilizando una arquitectura de CNN y desplegando el modelo sobre el GAP8 MCI.
Desafíos
TinyML es un concepto relativamente nuevo en la industria de IA y ML, y a pesar del progreso, aún no es tan efectivo como lo necesitamos para la implementación masiva en dispositivos Edge e IoT.
El mayor desafío que enfrentan actualmente los dispositivos TinyML es el consumo de energía de estos dispositivos. Idealmente, se espera que los dispositivos integrados Edge e IoT tengan una vida útil de la batería que se extienda durante más de 10 años. Por ejemplo, en condiciones ideales, se supone que un dispositivo 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, dado que el consumo de energía del dispositivo es 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 WiFi, el consumo de corriente actual 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 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 dada la situación actual, la disponibilidad limitada de energía para los dispositivos TinyML es un desafío crítico. Además, las limitaciones de memoria también son un desafío significativo, ya que la implementación de modelos a menudo requiere una gran cantidad de memoria para funcionar de manera efectiva y precisa.
Restricciones de Hardware
Las restricciones de hardware dificultan la implementación de algoritmos 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 como resultado, un algoritmo TinyML actualmente debe ajustarse para cada dispositivo individual, lo que dificulta la implementación masiva.
Restricciones del conjunto de datos
Uno de los principales problemas con los modelos TinyML es que no son compatibles con los conjuntos de datos existentes. Esto representa un desafío para todos los dispositivos periféricos, ya que recopilan datos utilizando sensores externos, y estos dispositivos suelen tener restricciones de energía y potencia. Por lo tanto, los conjuntos de datos existentes no se pueden utilizar de manera efectiva para entrenar los modelos TinyML.
Pensamientos finales
El desarrollo de técnicas de ML ha provocado una revolución y un cambio de perspectiva en el ecosistema de IoT. La integración de modelos de ML en dispositivos IoT permitirá que estos dispositivos periféricos tomen decisiones inteligentes por sí mismos sin ninguna intervención humana externa. Sin embargo, de manera convencional, los modelos de ML suelen tener altos requisitos de energía, memoria y computación, lo que los hace poco adecuados para ser implementados en dispositivos periféricos que suelen tener limitaciones de recursos.
Como resultado, se dedicó una nueva rama en IA al uso de ML para dispositivos IoT, y se denominó TinyML. TinyML es un marco de ML que permite incluso a los dispositivos con limitaciones de recursos aprovechar 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 TinyML en dispositivos IoT con recursos limitados, y esta implementación requiere entrenar los modelos, implementarlos en el hardware y realizar técnicas de cuantización. Sin embargo, dados el alcance actual, los modelos de ML listos para ser implementados en dispositivos IoT y periféricos tienen varias complejidades y restricciones, incluidos problemas de compatibilidad de hardware y marco de trabajo.