Block Transformer: Modelado de Lenguaje de Global a Local para Inferencia RápidaBlock Transformer: Global-to-Local Language Modeling for Fast Inference
Este artículo presenta la arquitectura Block Transformer, que adopta un modelado jerárquico de global a local en transformadores autoregresivos para mitigar los cuellos de botella en la inferencia de la autoatención. Para aplicar la autoatención, la caché de clave-valor (KV) de todas las secuencias anteriores debe recuperarse de la memoria en cada paso de decodificación. Por lo tanto, esta operación de entrada/salida (IO) de la caché KV se convierte en un cuello de botella significativo en la inferencia por lotes. Observamos que estos costos surgen de aplicar la autoatención en el contexto global, por lo que aislamos los cuellos de botella costosos del modelado global en las capas inferiores y aplicamos un modelado local rápido en las capas superiores. Para mitigar los costos restantes en las capas inferiores, agrupamos los tokens de entrada en bloques de tamaño fijo y luego aplicamos la autoatención en este nivel grueso. La información del contexto se agrega en un único embedding para permitir que las capas superiores decodifiquen el siguiente bloque de tokens sin necesidad de atención global. Libres de los cuellos de botella de la atención global, las capas superiores pueden aprovechar al máximo el hardware de cómputo para maximizar el rendimiento de la inferencia. Al combinar módulos globales y locales, la arquitectura Block Transformer demuestra ganancias de 10 a 20 veces en el rendimiento de la inferencia en comparación con transformadores convencionales con una perplejidad equivalente. Nuestro trabajo introduce un nuevo enfoque para optimizar la inferencia de modelos de lenguaje mediante la aplicación novedosa del modelado de global a local. El código está disponible en https://github.com/itsnamgyu/block-transformer.