entrenar redes neuronales en un teléfono inteligente

por Edd Gent

Las redes neuronales que impulsan la IA actual son increíblemente poderosas, pero entrenarlas puede requerir granjas de servidores enteras y enormes cantidades de energía. Un nuevo enfoque de IBM sugieren s que puede ser capaz de reducir drásticamente que al reducir el número de bits utilizados para llevar a cabo sus cálculos.

entrenar redes neuronales en un teléfono inteligente
Entrenar redes neuronales en un teléfono inteligente

Los bits son las unidades de información más básicas en una computadora y pueden existir en uno de dos estados: 1 o 0, encendido o apagado. Sin embargo, muchos de los números con los que deben lidiar las computadoras son mucho mayores que 1 o 0, por lo que las computadoras agrupan varios bits para representarlos. Probablemente haya notado que una gran cantidad de software se describe como de 32 bits o de 64 bits. Eso simplemente le dice cuántos bits usa para codificar cada fragmento de datos que maneja.

Cuantos más bits utilice, más preciso será el dato. Con 32 bits, que pueden estar cada uno en uno de dos estados, tiene 1.024 grados de libertad y con 64 bits tiene 4.096. La manera más fácil de pensar en cómo esto podría ser útil es en tratar con números. Si intentaba codificar Pi con una computadora de 64 bits, podría extenderlo hasta 4 veces más lugares decimales que una computadora de 32 bits.

Para programas que tienen que lidiar con números muy grandes o muy pequeños, como los que modelan el clima o la física cuántica en supercomputadoras, esta precisión extra puede ser muy útil. Incluso en las computadoras de consumo, puede resultar útil para tareas más complejas como la edición de video o los juegos.

Pero no todo debe funcionar con una precisión tan alta, y eso incluye las redes neuronales. Si bien el tamaño de datos estándar para el aprendizaje profundo sigue siendo de 32 bits, es cada vez más común ejecutar redes neuronales en 16 bits. Una gran cantidad de investigaciones han demostrado que con un diseño cuidadoso, puede bajar aún más sin una pérdida significativa de precisión.

Esto es muy deseable, porque los datos de menor precisión requieren menos memoria y menos ancho de banda, lo que puede acelerar los cálculos y reducir la energía requerida para realizar las operaciones. Eso podría ser una gran ayuda para una industria que está desarrollando la mayoría de sus hazañas que acaparan los titulares mediante la construcción de modelos cada vez más grandes y con más energía.

N ow investigadores de IBM han tomado esta tendencia al extremo. En un documento presentado en los prestigiosos NeurIPS conferencia de AI , el investigador s mostró que podían entrenar AI para hacer frente a una variedad de tareas de imagen y lenguaje con poca pérdida en la precisión utilizando sólo cuatro bits. Esto les permitió acelerar el proceso de formación más de siete veces.

El principal desafío que los investigadores tuvieron que resolver es el hecho de que diferentes partes es de un acuerdo con la red neuronal números en escalas muy diferentes. Mientras que los pesos entre neuronas son normalmente algunos decimales que van de -1 a 1, en otros lugares se pueden obtener valores tan altos como 1,000 o tan bajos como 0.001.

Eso es un problema, porque necesita encontrar una forma de representar números de magnitudes muy diferentes utilizando solo los 16 grados de libertad que proporciona su esquema de datos de 4 bits. Cualquier sistema que pueda cubrir un rango tan amplio como 1,000 a 0.001 inevitablemente perderá precisión cuando se trate de números entre -1 y 1.

La solución de los investigadores fue utilizar una escala logarítmica, una herramienta matemática común para representar valores en rangos amplios. En estas escalas números no aumentan en incrementos iguales, pero saltan por un factor fijo cada vez, con mayor frecuencia un factor de 10. S o mientras una escala lineal estándar iría “1, 2, 3,” uno podía logarítmica vaya “1, 10, 100”.

En este caso, los investigadores utilizaron un factor de cuatro para su escala. Pero, lo que es más importante, también utilizaron una técnica de escala adaptativa que les permitió reajustar esta escala logarítmica en diferentes partes de la red que operan en diferentes rangos de valores.

Esto resultó en una aceleración masiva que podría reducir significativamente la energía, la potencia de cálculo y el tiempo necesarios para entrenar redes neuronales. Eso podría hacer posible que los académicos con recursos limitados para construir los tipos de modelos gigantes que salen de Compan es decir, s como Google y OpenMind, o incluso entrenar las redes neuronales en los dispositivos de tecnología punta, como los teléfonos inteligentes.

Pero hay una salvedad importante. L a investigación se realizó en una simulación, no en chips reales, porque los chips de IA de cuatro bits aún no existen. Sin embargo, el líder del estudio, Kailash Gopalakrishnan, dijo a MIT Tech Review que están en camino e IBM debería tener listo el hardware de cuatro bits en tres o cuatro años.

Tampoco son los únicos que trabajan en este problema. La mayoría de las empresas que fabrican hardware de IA dedicado están ocupadas potenciando las capacidades de baja precisión de sus chips. Parece que el futuro de la IA parece cada vez más difuso.

Crédito de la imagen: Pexels de Pixabay

Fuente: https://singularityhub.com/2020/12/28/new-ibm-research-means-we-could-soon-train-neural-networks-on-a-smartphone/

Deja un comentario