Relatório Técnico SageAttention2: Atenção Precisa de 4 Bits para
Aceleração de Inferência Plug-and-PlaySageAttention2 Technical Report: Accurate 4 Bit Attention for
Plug-and-play Inference Acceleration
Embora a quantização para camadas lineares seja amplamente utilizada, sua aplicação para acelerar o processo de atenção ainda é limitada. O SageAttention utiliza multiplicação de matriz de 8 bits, multiplicação de matriz de 16 bits com acumulador de 16 bits e métodos de aprimoramento de precisão, implementando um kernel preciso e com aumento de velocidade de 2x em comparação com o FlashAttention2. Para aprimorar ainda mais a eficiência do cálculo de atenção mantendo a precisão, propomos o SageAttention2, que utiliza uma multiplicação de matriz de 4 bits (Matmul) significativamente mais rápida juntamente com técnicas adicionais de aprimoramento de precisão. Primeiramente, propomos quantizar as matrizes (Q, K) para INT4 em uma granularidade de nível de warp e quantizar as matrizes (widetilde P, V) para FP8. Em segundo lugar, propomos um método para suavizar Q e V, aprimorando a precisão da atenção com INT4 QK e FP8 PV. Em terceiro lugar, analisamos a precisão da quantização ao longo dos passos de tempo e camadas, e propomos um método de quantização adaptativa para garantir as métricas de ponta a ponta em vários modelos. As operações por segundo (OPS) do SageAttention2 superam o FlashAttention2 e os xformers em cerca de 3x e 5x no RTX4090, respectivamente. Experimentos abrangentes confirmam que nossa abordagem incorre em perda negligenciável de métricas de ponta a ponta em diversos modelos, incluindo aqueles para processamento de linguagem extensa, geração de imagens e geração de vídeos. Os códigos estão disponíveis em https://github.com/thu-ml/SageAttention.