Tiny ML
Fuente: Medium

TinyML es una de las áreas de aprendizaje profundo de más rápido crecimiento. En pocas palabras, es un campo de estudio emergente que explora los tipos de modelos que puede ejecutar en dispositivos pequeños de bajo consumo como los microcontroladores.

TinyML se encuentra en la intersección de aplicaciones, algoritmos, hardware y software de ML incorporado. El objetivo es habilitar la inferencia de baja latencia en dispositivos de borde en dispositivos que normalmente consumen solo unos pocos milivatios de energía de la batería. En comparación, una CPU de escritorio consumiría alrededor de 100 vatios (¡miles de veces más!). Este consumo de energía extremadamente reducido permite que los dispositivos TinyML funcionen desenchufados con baterías y duren semanas, meses y posiblemente incluso años, todo mientras se ejecutan aplicaciones ML siempre activas en el borde/punto final.

Aunque la mayoría de nosotros somos nuevos en TinyML, puede que le sorprenda saber que TinyML ha servido en sistemas de producción de ML durante años. Es posible que ya haya experimentado los beneficios de TinyML cuando dice «OK Google» para activar un dispositivo Android. Eso está impulsado por un detector de palabras clave siempre activo y de bajo consumo.

¿Por qué TinyML?

Si consideramos que, según una previsión de ABI Research, para 2030 es probable que alrededor de 2.500 millones de dispositivos lleguen al mercado a través de técnicas TinyML, teniendo como principal beneficio la creación de dispositivos IoT inteligentes y, más que eso, popularizar a través de una posible reducción de costes.

La mayoría de los dispositivos IoT realizan una tarea específica. Reciben información a través de un sensor, realizan cálculos y envían datos o realizan una acción.
El enfoque habitual de IoT es recopilar datos y enviarlos a un servidor de registro centralizado, y luego puede utilizar el aprendizaje automático para concluir.
Pero, ¿por qué no hacemos que estos dispositivos sean inteligentes a nivel de sistema integrado? Podemos crear soluciones como señales de tráfico inteligentes basadas en la densidad del tráfico, enviar una alerta cuando su refrigerador se queda sin existencias o incluso predecir la lluvia en función de los datos meteorológicos.

El desafío con los sistemas integrados es que son diminutos. Y la mayoría de ellos funcionan con batería. Los modelos ML consumen mucha potencia de procesamiento, las herramientas de aprendizaje automático como Tensorflow no son adecuadas para crear modelos en dispositivos IoT.

Construcción de modelos en TinyML

En TinyML, se utiliza la misma arquitectura y enfoque de ML, pero en dispositivos más pequeños capaces de realizar diferentes funciones, desde responder comandos de audio hasta ejecutar acciones a través de interacciones químicas.

El más famoso es Tensorflow Lite. Con Tensorflow Lite, puede agrupar sus modelos de Tensorflow para ejecutarlos en sistemas integrados. Tensorflow Lite ofrece binarios pequeños capaces de ejecutarse en sistemas integrados de bajo consumo.

Tensorflow Lite: Tiny ML

Un ejemplo es el uso de TinyML en sensores ambientales. Imagine que el dispositivo está capacitado para identificar la temperatura y la calidad del gas en un bosque. Este dispositivo puede ser esencial para la evaluación de riesgos y la identificación de los principios de incendio.

La conexión a la red es una operación que consume energía. Con Tensorflow Lite, puede implementar modelos de aprendizaje automático sin necesidad de conectarse a Internet. Esto también resuelve los problemas de seguridad, ya que los sistemas integrados son relativamente más fáciles de explotar.

Ventajas de TinyML

  • Seguridad de los datos: Como no hay necesidad de transferir información a entornos externos, la privacidad de los datos está más garantizada. ‍
  • Ahorro de energía: la transferencia de información requiere una amplia infraestructura de servidores. Cuando no hay transmisión de datos, se ahorra energía y recursos, por lo tanto en costos.
    Sin dependencia de conexión: Si el dispositivo depende de Internet para funcionar, y se cae, será imposible enviar los datos al servidor. Intenta usar un asistente de voz y no responde porque está desconectado de Internet.
  • Latencia: la transferencia de datos lleva tiempo y, a menudo, genera demoras. Cuando no involucra este proceso, el resultado es instantáneo.