La velocidad de decodificación del modelo Transformer siempre ha sido un cuello de botella clave que restringe su aplicación. Recientemente, investigadores del Instituto Coreano de Ciencia y Tecnología, LG y DeepMind superaron conjuntamente este problema. Propusieron una nueva arquitectura llamada Block Transformer, que aumentó la velocidad de decodificación entre 10 y 20 veces. El núcleo de este innovador desarrollo radica en el inteligente "corte" del mecanismo de atención de Transformer, que resuelve eficazmente el problema de la baja utilización de GPU en Transformer tradicional y reduce significativamente la sobrecarga de memoria.
Aunque el modelo Transformer es potente, su eficiencia en la decodificación siempre ha sido un dolor de cabeza. Sin embargo, esta vez los investigadores del Instituto de Ciencia y Tecnología de Corea, LG y DeepMind nos trajeron una sorpresa: propusieron una nueva arquitectura Transformer llamada Block Transformer, que aumentó directamente la velocidad de decodificación de 10 a 20 veces.
¿Cómo se hace esto? Resulta que "cortaron" el mecanismo de atención del Transformador. De esta manera, el método ineficiente del Transformer original para acceder al caché KV global cada vez que se genera un token ha sido completamente anulado.
Los investigadores analizaron las deficiencias del Transformer original: la utilización efectiva de la GPU fue inferior al 1% y el 99% restante se utilizó para el acceso a la memoria. Obviamente, esto no es razonable, por lo que propusieron Block Transformer. Esta nueva arquitectura utiliza la descomposición de la atención a nivel de bloque y la atención dentro del bloque para hacer que el rendimiento de razonamiento del modelo explote directamente.
Específicamente, el flujo de trabajo de Block Transformer es el siguiente: primero corte la secuencia en bloques y luego use Embedder para convertir cada bloque en un vector de incrustación. Block Decoder es responsable de procesar vectores de incrustación de bloques y capturar dependencias globales entre bloques. Token Decoder es responsable de procesar dependencias locales entre tokens y generar secuencias de tokens.
Este método no solo mejora la velocidad de inferencia, sino que también reduce en gran medida la sobrecarga de memoria. Algunos internautas dijeron que habían tenido una idea similar antes, pero que el rendimiento del modelo resultante era insuficiente. Ahora este método parece haber reducido efectivamente el caché KV.
Además, la precisión de Block Transformer en múltiples tareas de disparo cero es comparable o incluso ligeramente superior a la del Transformer original del mismo tamaño, lo que demuestra que mejora la eficiencia sin sacrificar la calidad.
Las implicaciones de esta investigación no terminan ahí. También reduce el costo de capacitación del modelo, la sobrecarga de acceso a la memoria secundaria de la atención global se reduce 16 veces y la utilización de la GPU también aumenta del 1% al 44%.
Dirección del artículo: https://arxiv.org/abs/2406.02657
La aparición de Block Transformer ha ampliado nuevas posibilidades para la aplicación de modelos Transformer y también ha proporcionado una nueva dirección para la optimización de la eficiencia de los modelos de lenguaje a gran escala en el futuro. Se espera que su mejora significativa en velocidad y eficiencia promueva un mayor desarrollo y aplicación de la tecnología de IA.