Investigadores de la ETH de Zúrich desarrollaron una nueva técnica que puede aumentar considerablemente la velocidad de las redes neuronales. Demostraron que modificando el proceso de inferencia es posible reducir drásticamente los requisitos computacionales de estas redes.
En experimentos realizados con BERT, un modelo de transformador utilizado en diversas tareas lingüísticas, lograron una asombrosa reducción de más del 99 % en los cálculos. Esta innovadora técnica también puede aplicarse a los modelos de transformador utilizados en grandes modelos lingüísticos (LLM) como GPT-3, lo que abre nuevas posibilidades para un procesamiento lingüístico más rápido y eficiente.
Índice de temas
Redes neuronales rápidas
Los transformadores, las redes neuronales subyacentes a los LLM, se componen de varias capas, entre ellas las de atención y las de feedforward. Estas últimas, que representan una parte sustancial de los parámetros del modelo, son exigentes desde el punto de vista computacional debido a la necesidad de calcular el producto de todas las neuronas y tamaños de entrada.
Sin embargo, el artículo de los investigadores muestra que no todas las neuronas de las capas de avance tienen que estar activas durante el proceso de inferencia para cada entrada. Proponen la introducción de capas “fast feedforward” (FFF) como sustituto de las capas feedforward tradicionales.
La FFF utiliza una operación matemática conocida como multiplicación matricial condicional (CMM), que sustituye a la multiplicación matricial densa (DMM) utilizada por las redes feedforward convencionales.
En la DMM, todos los parámetros de entrada se multiplican por todas las neuronas de la red, un proceso intensivo e ineficiente desde el punto de vista computacional. En cambio, CMM gestiona la inferencia de forma que ninguna entrada requiera más de un puñado de neuronas para ser procesada por la red.
Al identificar las neuronas adecuadas para cada cálculo, FFF puede reducir significativamente la carga computacional, lo que da lugar a modelos lingüísticos más rápidos y eficientes.
FastBERT iguala a BERT utilizando sólo el 0,3 % de las neuronas feedforward
Para validar su innovadora técnica, los investigadores desarrollaron FastBERT, una modificación del modelo transformador BERT de Google. FastBERT revoluciona el modelo sustituyendo las capas feedforward intermedias por capas feedforward rápidas. Las FFF organizan sus neuronas en un árbol binario equilibrado, ejecutando sólo una rama condicionalmente en función de la entrada.
Para evaluar el rendimiento de FastBERT, los investigadores optimizaron varias variantes en distintas tareas de la prueba de referencia General Language Understanding Evaluation (GLUE). GLUE es una gran colección de conjuntos de datos diseñados para el entrenamiento, la evaluación y el análisis de sistemas de comprensión del lenguaje natural.
Los resultados fueron impresionantes: FastBERT obtuvo resultados comparables a los de modelos BERT básicos de tamaño y procedimientos de entrenamiento similares. Las variantes de FastBERT, entrenadas durante un solo día en una única GPU A6000, mantuvieron al menos el 96,0% del rendimiento del modelo BERT original. Sorprendentemente, el modelo FastBERT igualó el rendimiento del modelo BERT original utilizando sólo el 0,3% de sus neuronas feedforward.
Los investigadores creen que la integración de redes feedforward rápidas en los LLM tiene un enorme potencial de aceleración. Por ejemplo, en el GPT-3, las redes feedforward de cada capa transformadora constan de 49.152 neuronas.
Los investigadores señalan: “Si se pudiera entrenar, esta red podría sustituirse por una red rápida feedforward de profundidad máxima 15, que contendría 65536 neuronas pero utilizaría sólo 16 para la inferencia. Esto equivale aproximadamente al 0,03% de las neuronas de GPT-3”.
La velocidad de inferencia también mejoró
Se optimizó considerablemente el hardware y el software para la multiplicación de matrices densas, la operación matemática utilizada en las redes neuronales feedforward tradicionales. “La multiplicación de matrices densas es la operación matemática más optimizada de la historia de la informática”, escriben los investigadores.
“Se hizo un esfuerzo tremendo para diseñar memorias, chips, conjuntos de instrucciones y rutinas de software que la realicen lo más rápido posible. Muchos de estos avances fueron -tanto por su complejidad como por su ventaja competitiva- confidenciales y expuestos al usuario final sólo a través de potentes pero restrictivas interfaces de programación”.
Por el contrario, actualmente no existe una implementación nativa eficiente de la multiplicación condicional de matrices, la operación utilizada en las redes rápidas feedforward. Ningún marco de aprendizaje profundo popular ofrece una interfaz que pueda utilizarse para implementar CMM además de la simulación de alto nivel.
Los investigadores desarrollaron su propia implementación de las operaciones de MMC basándose en instrucciones de la CPU y la GPU. El resultado fue una mejora significativa de la velocidad de inferencia en 78 veces.
Sin embargo, los investigadores creen que con un hardware mejor y una implementación de bajo nivel del algoritmo, podría mejorarse más de 300 veces la velocidad de inferencia. De este modo se podría resolver uno de los principales problemas de los modelos lingüísticos: el número de tokens que generan por segundo.
“Con la promesa teórica de multiplicar por 341 la velocidad a escala de los modelos basados en BERT, esperamos que nuestro trabajo inspire un esfuerzo por implementar primitivas para la ejecución neuronal condicional como parte de las interfaces de programación de dispositivos”, escriben los investigadores.
Esta investigación forma parte de un esfuerzo más amplio por resolver los cuellos de botella computacionales y de memoria de los grandes modelos lingüísticos, allanando el camino hacia sistemas de inteligencia artificial más eficientes y potentes.
Prohibida su reproducción total o parcial.