Qué es TinyML

NUEVO PROYECTO: Recibe una curiosidad diaria con nuestra Newsletter. Pequeños asombros diarios para Personas Altamente Curiosas
que es tinyml

TinyML o Tiny Machine Learning hace referencia al uso de Machine Learning en micorocontroladores. En sistemas que al contrario que los que se usan en ML tradicional disponen de pocos recursos, son sistemas que tiene poca CPU, poca RAM y con un consumo de potencia extremadamente bajo del orden de magnitud de los miliwatios o los microwatios.

Su web oficial es la TinyML Foundation.

Lo que se hace es reducir grandes modelos para utilizarlos con equipos con muy pocos recursos y microcontroladores. El campo preferido de los Makers.

He empezado una serie de 3 cursos ofrecidos e forma gratuita por Harvard

  1. Fundamentals of TinyML (Qué construyo, para qué y los problemas que hay)
  2. Applications of TinyML (basados en los datos, bias, et)
  3. Deploying TinyML (dónde ponemos nuestros modelos, seguridad y privacidad)

Las siguientes notas son del primero Fundamentals of TinyML donde explican en qué consiste, cuando se aplica, las diferentes técnicas que se utilizan, etc, etc.

Los sistemas embebidos que usan microcontroladores no pueden trabajar con los grandes modelos, al disponer de memorias de hasta 256kB. Aquí algunos ejemplos de sistemas operativos que se pueden usar con los microcontroladores

El Machine Learning consiste en algoritmos que se dedican a buscar patrones en datos.

NUEVO PROYECTO: Recibe una curiosidad diaria con nuestra Newsletter. Pequeños asombros diarios para Personas Altamente Curiosas

Con TinyML se usan técnicas para comprimir estos algoritmos de forma que sigan siendo efectivos a la hora de buscar patrones en los datos.

Hay 5 quintillones de bytes de datos producidos diariamente por IoT y solo se analiza menos del 1%

Técnicas de compresión de algoritmos

Algunas técnicas de compresión de algoritmos son:

Pruning

Pruning Sinapsis: Eliminamos conexiones de la red del modelo. En ocasiones puede hacer disminuir la precisión.

Pruning Neuronas: También podemos eliminar neuronas enteras de nuestro modelo lo que reduce la demanda computacional de la red

Cuantización

Consiste en discretizar los valores dentro de un rango pequeño. Por ejemplo si discretizamos un float dentro del rango -128 a 127 tan solo hay que recorrer 256 valores. Pasar de un float point value que se almacena en 4 bytes a un valor entero que se almacena en 1 byte implica reducir x4 el tamaño.

La cuantización va a ser crítica en TinyML debido a los pocos recursos de los que disponemos

Knowledge distillation

Aplicar nuestro conocimiento y know how para hacer pequeño el modelo

Herramientas

Utilizamos Tensor Flow Lite. Mientras que tensorFlow está enfocado a ML Researcher, Tensor Flow Lite es para Application Developer.

Usos de TinyML

Aunque no se citan, por supuesto estando en esta web podemos encontrar usos del TinyML dedicados al DIY, al mundo Maker y Hacker.

Usos de TinyML en la Industria

En Industria, en mantenimientos, para que nos avise cuando hay vibraciones que indiquen que va a haber rotura, etc, etc. aumenta eficiencia y reduce costes. Los puntos negativos son la precisión que pueden darnos falsas alarmas. En caso de falsa alarma de quién es la responsabilidad del operario o del sistema.

TinyML en el entorno / medio ambiente

En lugar de recolectar datos que luego hay que procesar, con TinyML tenemos respuestas en tiempo real sobre cambios en entornos,por ejemplo en la vida de animales salvajes.

TinyML para humanos

Ayuda a personas con discapacidad, a realizar más tareas sin tener que utilizar las manos. Mejora del UI y el UX de las aplicaciones para que sea más sencillo de utilizar

Construimos tecnología para mejorar nuestra experiencia como humanos. La tecnología tiene que ayudar a las personas.

Riesgos y puntos negativos

  • ¿Funcionará bien en todos los grupos de población?
  • ¿Se asegura la privacidad de nuestros datos?
  • ¿Podemos proteger estos datos?

Hay que crear tecnología basándonos en human-centered AI. Design, development and deployment

Deja un comentario