Investigadores del MIT y NVIDIA desarrollaron dos técnicas complementarias que podrían aumentar drásticamente la velocidad y rendimiento de tareas exigentes de aprendizaje automático.

Dos técnicas revolucionarias desarrolladas en conjunto por investigadores del MIT y NVIDIA podrían potenciar de manera significativa la velocidad y rendimiento en tareas de aprendizaje automático.

Investigadores del MIT y NVIDIA han formulado dos técnicas que aceleran el procesamiento de tensores dispersos (los tensores sirven como estructuras de datos fundamentales en modelos de aprendizaje automático, actuando como matrices multidimensionales que organizan y almacenan datos).

El objetivo de ambas nuevas técnicas es aprovechar de manera eficiente los valores cero de los tensores. Es posible manejar estos tensores sin procesar los ceros, lo cual ahorra memoria y cómputo. Por ejemplo, multiplicar cualquier cosa por cero resulta en cero, por lo tanto, esa operación se puede omitir. Además, se puede comprimir el tensor, permitiendo almacenar más información en la memoria interna porque los ceros no necesitan ser guardados.

La esparsidad en los tensores ocurre cuando se eliminan elementos innecesarios sustituyendo algunos valores por ceros, un proceso conocido como poda. El grado de esparsidad y las posiciones de estos ceros pueden diferir entre modelos. A menudo, los investigadores limitan las ubicaciones de los valores no nulos para facilitar su localización en modelos grandes. La adaptabilidad de los aceleradores de hardware es limitada porque generalmente están diseñados para patrones de esparsidad particulares.

El equipo de investigación ha desarrollado un acelerador de hardware llamado HighLight, que es capaz de manejar de manera eficiente diferentes patrones de esparsidad. Los investigadores han utilizado esparsidad estructurada jerárquicamente para representar de manera eficiente diferentes tipos de patrones de esparsidad formados por otros más simples. En este método, descomponen los números en un conjunto en grupos más pequeños, y cada grupo sigue un patrón simple. Luego, estos grupos más pequeños se combinan en grupos más grandes, formando una jerarquía. Cada colección de grupos también sigue un patrón simple (como tener un grupo con ceros y tres grupos sin ceros en un nivel con cuatro grupos). Este proceso continúa con niveles más grandes, pero los patrones se mantienen simples en cada paso.

Esta simplicidad permite que HighLight encuentre y omita los ceros de manera más eficiente, por lo que puede aprovechar al máximo la oportunidad de reducir el cálculo en exceso. Su diseño de acelerador tiene aproximadamente seis veces mejores productos de energía-demora (una métrica relacionada con la eficiencia energética) que otros enfoques.

Los investigadores también pueden aprovechar la esparsidad para mover y procesar datos en un chip de computadora de manera más eficiente. Dado que los tensores a menudo son más grandes de lo que se puede almacenar en el búfer de memoria del chip, el chip solo toma y procesa un fragmento del tensor a la vez. Estos fragmentos se llaman mosaicos. Para maximizar la capacidad del búfer y minimizar la frecuencia con la que el chip debe acceder a la memoria externa.

Para maximizar la capacidad del búfer y reducir la cantidad de veces que el chip necesita acceder a la memoria externa (lo cual puede consumir mucha energía y ralentizar el procesamiento), los investigadores buscan usar el mosaico más grande posible que quepa en el búfer.

Dado que muchos valores de datos son cero, un mosaico más grande puede caber en el búfer de lo que su capacidad bruta podría sugerir, ya que no es necesario almacenar los valores cero. Sin embargo, la cantidad de valores cero puede variar en diferentes partes de los datos y, por lo tanto, también puede ser diferente para cada mosaico.

Para lidiar con esto, el grupo de investigación sugiere usar una técnica de sobrecontratación para permitir un aumento en el tamaño del mosaico. En un conjunto de datos disperso, se puede elegir un tamaño de mosaico de manera que la mayoría de los mosaicos tengan suficientes ceros para caber en el búfer. Ocasionalmente, un mosaico puede tener más valores no nulos de los que el búfer puede acomodar. En esos casos, estos datos excedentes se empujan fuera del búfer.

El grupo de investigación ha capacitado al hardware para recuperar solo los datos desplazados sin tener que recuperar y procesar todo el mosaico nuevamente. Logran esto modificando el “extremo final” del búfer, lo que da nombre a la técnica, Tailors.

Además, desarrollaron un enfoque llamado Swiftiles para determinar de manera eficiente el tamaño del mosaico, aprovechando los beneficios de la sobrecontratación. Swiftiles reduce la frecuencia con la que el hardware debe inspeccionar el tensor para identificar un tamaño óptimo de mosaico, ahorrando recursos computacionales.

La combinación de Tailors y Swiftiles proporciona un impulso en el rendimiento, duplicando la velocidad mientras requiere solo la mitad del consumo de energía en comparación con los aceleradores de hardware existentes que no pueden manejar la sobrecontratación.

Según los investigadores, Swiftiles puede estimar el tamaño óptimo del mosaico sin requerir múltiples iteraciones para refinar la estimación. Este proceso es posible gracias al soporte para la sobrecontratación. Incluso con un error de estimación significativo, se puede lograr una mejora notable en la velocidad debido a una distribución específica de valores no nulos.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Premio Gordon Bell otorgado por simulaciones de materiales que logran precisión cuántica a gran escala

Un equipo de investigadores de instituciones estadounidenses e indias fue galardonado con el Premio Gordon Bell 2023 ...

Aprendizaje Automático

Si el arte es cómo expresamos nuestra humanidad, ¿dónde encaja la IA?

El postdoctorado del MIT Ziv Epstein SM '19, PhD '23 discute los problemas que surgen del uso de la inteligencia arti...

Inteligencia Artificial

Utilizando LLMs para codificar nuevas tareas para los robots

Un equipo de investigación desarrolló una herramienta que utiliza modelos de lenguaje grandes para codificar nuevas t...

Aprendizaje Automático

Forjado en Llamas Startup fusiona la IA Generativa y la Visión por Computadora para Combatir los Incendios Forestales.

Cuando los cielos de California se tornaron naranjas a raíz de los devastadores incendios forestales, una startup fus...

Inteligencia Artificial

Google AI presenta MedLM una familia de modelos base afinados para casos de uso en la industria de la salud

Investigadores de Google han introducido una base de modelos ajustados para la industria de la salud, MedLM, que actu...

Inteligencia Artificial

Cómo ayudar a los estudiantes de secundaria a prepararse para el auge de la inteligencia artificial

Un programa de verano de una semana tiene como objetivo fomentar una comprensión más profunda de los enfoques de apre...