Saltar al contenido

Tiny Machine Learning: la próxima revolución de la IA | de Matthew Stewart, investigador de doctorado | Oct, 2020 | Hacia la ciencia de datos

Durante la última década, hemos sido testigos del crecimiento exponencial del tamaño de los algoritmos de aprendizaje automático debido a las mejoras en las velocidades del procesador y la llegada de los macrodatos. Inicialmente, los modelos eran lo suficientemente pequeños como para ejecutarse en máquinas locales usando uno o más núcleos dentro de la unidad central de procesamiento (CPU).

Poco después, la computación con unidades de procesamiento de gráficos (GPU) se volvió necesaria para manejar conjuntos de datos más grandes y se volvió más disponible debido a la introducción de servicios basados ​​en la nube como plataformas SaaS (por ejemplo, Google Colaboratory) e IaaS (por ejemplo, instancias Amazon EC2). En este momento, los algoritmos aún se pueden ejecutar en máquinas individuales.

Más recientemente, hemos visto el desarrollo de unidades de procesamiento tensorial (TPU) de circuitos integrados específicos de aplicaciones (ASIC) especializadas que pueden contener la potencia de ~ 8 GPU. Estos dispositivos se han mejorado con la capacidad de distribuir el aprendizaje entre múltiples sistemas en un intento de hacer crecer modelos cada vez más grandes.

Esto llegó a un punto crítico recientemente con el lanzamiento del algoritmo GPT-3 (lanzado en mayo de 2020), que cuenta con una arquitectura de red que contiene la asombrosa cantidad de 175 mil millones de neuronas, más del doble del número presente en el cerebro humano (~ 85 mil millones). Esto es más de 10 veces el número de neuronas que la siguiente red neuronal más grande jamás creada, Turing-NLG (lanzada en febrero de 2020, que contiene ~ 17.5 mil millones de parámetros). Algunas estimaciones afirman que el modelo costó alrededor de $ 10 millones de dólares para entrenar y usó aproximadamente 3 GWh de electricidad (aproximadamente la producción de tres plantas de energía nuclear durante una hora).

Si bien los logros de GPT-3 y Turing-NLG son loables, naturalmente, esto ha llevado a algunos en la industria a criticar la huella de carbono cada vez más grande de la industria de la IA. Sin embargo, también ha ayudado a estimular el interés dentro de la comunidad de IA hacia una informática más eficiente desde el punto de vista energético. Tales ideas, como algoritmos más eficientes, representaciones de datos y computación, han sido el foco de un campo aparentemente no relacionado durante varios años: pequeño aprendizaje automático.

El aprendizaje automático diminuto (tinyML) es la intersección del aprendizaje automático y los dispositivos integrados de Internet de las cosas (IoT). El campo es una disciplina de ingeniería emergente que tiene el potencial de revolucionar muchas industrias.

Los principales beneficiarios de la industria de tinyML son la informática de punta y la informática de bajo consumo. TinyML surgió del concepto de Internet de las cosas (IoT). La idea tradicional de IoT era que los datos se enviarían desde un dispositivo local a la nube para su procesamiento. Algunas personas expresaron ciertas preocupaciones con este concepto: privacidad, latencia, almacenamiento y eficiencia energética, por nombrar algunos.

Eficiencia energética. La transmisión de datos (a través de cables o de forma inalámbrica) consume mucha energía, alrededor de un orden de magnitud más intensiva en energía que los cálculos integrados (específicamente, unidades de acumulación múltiple). El desarrollo de sistemas de IoT que puedan realizar su propio procesamiento de datos es el método más eficiente energéticamente. Los pioneros de la IA han discutido esta idea de la computación “centrada en datos” (en contraposición al modelo “centrado en la computación” del modelo de nube) durante algún tiempo y ahora estamos comenzando a ver que se desarrolla.

Intimidad. La transmisión de datos abre la posibilidad de violaciones de la privacidad. Dichos datos podrían ser interceptados por un actor malintencionado y se vuelven inherentemente menos seguros cuando se almacenan en una ubicación singular (como la nube). Al mantener los datos principalmente en el dispositivo y minimizar las comunicaciones, esto mejora la seguridad y la privacidad.

Almacenamiento. Para muchos dispositivos de IoT, los datos que obtienen no tienen ningún mérito. Imagine una cámara de seguridad que graba la entrada a un edificio las 24 horas del día. Durante gran parte del día, el metraje de la cámara no sirve de nada, porque no pasa nada. Al contar con un sistema más inteligente que solo se activa cuando es necesario, se requiere menor capacidad de almacenamiento, y se reduce la cantidad de datos necesarios para transmitir a la nube.

Latencia. Para los dispositivos IoT estándar, como Amazon Alexa, estos dispositivos transmiten datos a la nube para su procesamiento y luego devuelven una respuesta basada en la salida del algoritmo. En este sentido, el dispositivo es solo una puerta de entrada conveniente a un modelo en la nube, como una paloma mensajera entre usted y los servidores de Amazon. El dispositivo es bastante tonto y depende completamente de la velocidad de Internet para producir un resultado. Si tiene Internet lento, Amazon Alexa también se volverá lento. Para un dispositivo de IoT inteligente con reconocimiento automático de voz integrado, la latencia se reduce porque hay una dependencia reducida (si no no) de las comunicaciones externas.

Estos problemas llevaron al desarrollo de la informática de borde, la idea de realizar actividades de procesamiento a bordo de los dispositivos de borde (dispositivos en el “borde” de la nube). Estos dispositivos tienen una gran limitación de recursos en términos de memoria, cálculo y potencia, lo que lleva al desarrollo de algoritmos, estructuras de datos y métodos computacionales más eficientes.

Estas mejoras también son aplicables a modelos más grandes, lo que puede conducir a aumentos de la eficiencia en los modelos de aprendizaje automático en órdenes de magnitud sin impacto en la precisión del modelo. Como ejemplo, el algoritmo Bonsai desarrollado por Microsoft puede ser tan pequeño como 2 KB pero puede tener incluso mejor rendimiento que un algoritmo típico de 40 MB kNN o una red neuronal de 4 MB. Este resultado puede no parecer importante, pero la misma precisión en un modelo de 1/10 000 del tamaño es bastante impresionante. Un modelo tan pequeño se puede ejecutar en un Arduino Uno, que tiene 2 KB de RAM disponibles; en resumen, ahora puede construir un modelo de aprendizaje automático de este tipo en un microcontrolador de $ 5.

Nos encontramos en una encrucijada interesante en la que el aprendizaje automático se está bifurcando entre dos paradigmas informáticos: la informática centrada en la informática y la informática centrada en los datos. En el paradigma centrado en la computación, los datos se almacenan y analizan por instancias en los centros de datos, mientras que en el paradigma centrado en los datos, el procesamiento se realiza localmente en el origen de los datos. Aunque parece que nos estamos moviendo rápidamente hacia un techo en el paradigma centrado en la computación, el trabajo en el paradigma centrado en los datos apenas ha comenzado.

Los dispositivos de IoT y los modelos de aprendizaje automático integrados se están volviendo cada vez más omnipresentes en el mundo moderno (se pronosticaron más de 20 mil millones de dispositivos activos para fines de 2020). Es posible que ni siquiera te hayas dado cuenta de muchos de estos. Timbres inteligentes, termostatos inteligentes, un teléfono inteligente que “se despierta” cuando dices un par de palabras, o incluso simplemente levanta el teléfono. El resto de este artículo se enfocará más en cómo funciona tinyML y en las aplicaciones actuales y futuras.

Imagen para publicación

Este contenido se publicó originalmente aquí.