paint-brush
Simplificando bloques de transformadores sin sacrificar la eficiencia por@autoencoder
392 lecturas
392 lecturas

Simplificando bloques de transformadores sin sacrificar la eficiencia

Demasiado Largo; Para Leer

Este estudio simplifica los bloques de transformadores al eliminar componentes no esenciales, lo que da como resultado un rendimiento de entrenamiento un 15 % más rápido y un 15 % menos de parámetros mientras se mantiene el rendimiento.
featured image - Simplificando bloques de transformadores sin sacrificar la eficiencia
Auto Encoder: How to Ignore the Signal Noise HackerNoon profile picture
0-item

Autores:

(1) Bobby He, Departamento de Ciencias de la Computación, ETH Zurich (Correspondencia a: [email protected].);

(2) Thomas Hofmann, Departamento de Ciencias de la Computación, ETH Zurich.

Tabla de enlaces

Resumen e introducción

Trabajo relacionado

Preliminares

Simplificando bloques de transformadores

Análisis experimental adicional

Discusión, Declaración de Reproducibilidad, Agradecimientos y Referencias

Una dualidad entre actualizaciones residuales ponderadas reducidas y restricciones en capas lineales

Diseños de bloques B

C Experimentos adicionales

Detalles de implementación

ABSTRACTO

Una receta de diseño simple para Transformers profundos es componer bloques de construcción idénticos. Pero los bloques de transformadores estándar están lejos de ser simples, ya que entrelazan subbloques de atención y MLP con conexiones de salto y capas de normalización en disposiciones precisas. Esta complejidad conduce a arquitecturas frágiles, donde cambios aparentemente menores pueden reducir significativamente la velocidad de entrenamiento o hacer que los modelos no sean entrenables. En este trabajo nos preguntamos ¿hasta qué punto se puede simplificar el bloque transformador estándar? Combinando la teoría de propagación de señales y observaciones empíricas, motivamos modificaciones que permiten eliminar muchos componentes del bloque sin pérdida de velocidad de entrenamiento, incluidas conexiones de salto, parámetros de proyección o valor, subbloques secuenciales y capas de normalización. En experimentos con modelos de solo decodificador autorregresivo y solo de codificador BERT, nuestros transformadores simplificados emulan la velocidad de entrenamiento por actualización y el rendimiento de los transformadores estándar, mientras disfrutan de un rendimiento de entrenamiento un 15 % más rápido y utilizan un 15 % menos de parámetros.

1. INTRODUCCIÓN

La arquitectura transformadora (Vaswani et al., 2017) es posiblemente el caballo de batalla detrás de muchos éxitos recientes en el aprendizaje profundo. Una forma sencilla de construir una arquitectura de transformador profunda es apilar varios "bloques" de transformadores idénticos, uno tras otro, en secuencia. Sin embargo, cada bloque es más complicado y consta de muchos componentes diferentes, que deben combinarse en disposiciones específicas para lograr un buen rendimiento. Sorprendentemente, el bloque transformador base ha cambiado muy poco desde sus inicios, a pesar de despertar el interés de muchos investigadores.


En este trabajo estudiamos si el bloque transformador estándar se puede simplificar. Más específicamente, investigamos la necesidad de varios componentes de bloque, incluidas conexiones de salto, matrices de proyección/valor, subbloques secuenciales y capas de normalización. Para cada componente considerado, preguntamos si se puede eliminar sin pérdida de velocidad de entrenamiento (tanto en términos de paso por actualización como de tiempo de ejecución) y qué modificaciones arquitectónicas se deben realizar en el bloque transformador para hacerlo.


Creemos que el problema de simplificar los bloques de transformadores sin comprometer la velocidad de entrenamiento es una cuestión de investigación interesante por varias razones. En primer lugar, las arquitecturas modernas de redes neuronales (NN) tienen diseños complejos con muchos componentes, y no está claro el papel que desempeñan estos diferentes componentes en la dinámica de entrenamiento de NN, ni cómo interactúan entre sí. Esto es particularmente pertinente dada la brecha existente entre la teoría y la práctica en el aprendizaje profundo, donde los teóricos que trabajan para comprender los mecanismos del aprendizaje profundo a menudo solo consideran arquitecturas simplificadas por conveniencia, que no necesariamente reflejan las arquitecturas modernas utilizadas en la práctica. Simplificar las arquitecturas NN utilizadas en la práctica puede ayudar a cerrar esta brecha


En una nota teórica relacionada, nuestro trabajo destaca tanto las fortalezas como las limitaciones actuales de la propagación de señales: una teoría que ha demostrado ser influyente debido a su capacidad para motivar decisiones prácticas de diseño en arquitecturas NN profundas. La propagación de señales (Poole et al., 2016; Schoenholz et al., 2017; Hayou et al., 2019) estudia la evolución de la información geométrica en una NN en la inicialización, capturada a través de productos internos de representaciones por capas a través de entradas, y ha inspirado a muchos Resultados impresionantes en el entrenamiento de NN profundos (Xiao et al., 2018; Brock et al., 2021; Martens et al., 2021; Zaidi et al., 2023). Sin embargo, la teoría actual sólo considera un modelo en la inicialización y, a menudo, considera sólo el paso inicial hacia adelante. Como tal, la propagación de señales en la actualidad no puede arrojar luz sobre muchas complejidades de la dinámica de entrenamiento NN profundo, por ejemplo, los beneficios de omitir conexiones para la velocidad de entrenamiento. Aunque la propagación de señales es crucial para motivar nuestras modificaciones, no habríamos llegado a nuestros bloques de transformadores simplificados sólo a partir de la teoría, sino que nos habríamos basado también en conocimientos empíricos.



Finalmente, desde el punto de vista práctico, dado el costo exorbitante de entrenar e implementar grandes modelos de transformadores hoy en día, cualquier ganancia de eficiencia en los canales de entrenamiento e inferencia para la arquitectura de transformadores representa ahorros potenciales significativos. Simplificar el bloque del transformador eliminando componentes no esenciales reduce el recuento de parámetros y aumenta el rendimiento en nuestros modelos. En particular, mostramos que es posible eliminar conexiones de salto, parámetros de valor, parámetros de proyección y subbloques secuenciales, todo ello mientras se iguala el transformador estándar en términos de velocidad de entrenamiento y rendimiento de tareas posteriores. Como resultado, reducimos el recuento de parámetros hasta en un 16 % y observamos aumentos en el rendimiento del 16 % tanto en el tiempo de tren como en el de inferencia.


Nuestro punto de partida para simplificar los bloques Transformer es He et al. (2023), quienes muestran que respetar los principios de propagación de señales permite entrenar transformadores profundos sin omitir conexiones ni capas de normalización, pero a velocidades de convergencia significativamente reducidas por actualización de parámetros. Primero mostramos que regular las actualizaciones de valores y parámetros de proyección (Sec. 4.1), o de hecho eliminarlos por completo (Sec. 4.2), mejora el rendimiento de los subbloques de atención sin saltos y recupera la velocidad de entrenamiento perdida por actualización reportada. por He et al. (2023). Esto elimina la mitad de los parámetros y multiplicaciones de matrices en el subbloque de atención. En seg. 4.3, mostramos que nuestras simplificaciones se combinan de manera rentable con subbloques paralelos (Wang & Komatsuzaki, 2021), lo que nos permite eliminar todas las conexiones de salto restantes y subbloques secuenciales sin comprometer la velocidad de entrenamiento por actualización, al tiempo que aumenta aún más el aumento del rendimiento a será del 16%, en nuestra implementación. Finalmente, en la Sec. 5, mostramos que nuestros bloques simplificados mejoran cuando se escalan a profundidades mayores, funcionan bien tanto en arquitecturas de solo codificador como de solo decodificador, y que nuestros hallazgos también se mantienen al escalar la duración del entrenamiento. Concluimos con una discusión de las limitaciones y el trabajo futuro en la Sec. 6.


Este documento está disponible en arxiv bajo licencia CC 4.0.