Informe Técnico SageAttention2: Atención precisa de 4 bits para aceleración de inferencia plug-and-play.SageAttention2 Technical Report: Accurate 4 Bit Attention for
Plug-and-play Inference Acceleration
Aunque la cuantificación para capas lineales se ha utilizado ampliamente, su aplicación para acelerar el proceso de atención sigue siendo limitada. SageAttention utiliza multiplicación de matrices de 8 bits, multiplicación de matrices de 16 bits con acumulador de 16 bits y métodos que mejoran la precisión, implementando un núcleo preciso y con una aceleración 2 veces mayor en comparación con FlashAttention2. Para mejorar aún más la eficiencia del cálculo de atención manteniendo la precisión, proponemos SageAttention2, que utiliza una multiplicación de matrices de 4 bits significativamente más rápida junto con técnicas adicionales que mejoran la precisión. En primer lugar, proponemos cuantificar las matrices (Q, K) a INT4 en una granularidad a nivel de warp y cuantificar las matrices (widetilde P, V) a FP8. En segundo lugar, proponemos un método para suavizar Q y V, mejorando la precisión de la atención con INT4 QK y FP8 PV. En tercer lugar, analizamos la precisión de la cuantificación a lo largo de pasos de tiempo y capas, y luego proponemos un método de cuantificación adaptativa para garantizar las métricas de extremo a extremo en diversos modelos. Las operaciones por segundo (OPS) de SageAttention2 superan a FlashAttention2 y xformers en aproximadamente 3 veces y 5 veces en RTX4090, respectivamente. Experimentos exhaustivos confirman que nuestro enfoque incurre en una pérdida de métricas de extremo a extremo negligente en diversos modelos, incluidos los de procesamiento de lenguaje grande, generación de imágenes y generación de video. Los códigos están disponibles en https://github.com/thu-ml/SageAttention.