Technisch Rapport SageAttention2: Nauwkeurige 4-bits Aandacht voor Plug-and-play Inferentie VersnellingSageAttention2 Technical Report: Accurate 4 Bit Attention for
Plug-and-play Inference Acceleration
Hoewel kwantisatie voor lineaire lagen veel wordt toegepast, is de toepassing ervan om het aandachtsproces te versnellen beperkt gebleven. SageAttention maakt gebruik van 8-bits matrixvermenigvuldiging, 16-bits matrixvermenigvuldiging met 16-bits accumulator, en precisie-verhogende methoden, waarbij een nauwkeurige en 2x versnelde kernel wordt geïmplementeerd in vergelijking met FlashAttention2. Om de efficiëntie van aandachtsberekeningen verder te verbeteren terwijl de precisie behouden blijft, stellen we SageAttention2 voor, die aanzienlijk snellere 4-bits matrixvermenigvuldiging (Matmul) gebruikt naast extra precisie-verhogende technieken. Ten eerste stellen we voor om matrices (Q, K) te kwantiseren naar INT4 op warp-niveau en matrices (widetilde P, V) naar FP8 te kwantiseren. Ten tweede stellen we een methode voor om Q en V te verfijnen, wat de nauwkeurigheid van aandacht verbetert met INT4 QK en FP8 PV. Ten derde analyseren we de kwantisatienauwkeurigheid over tijdstappen en lagen, waarna we een adaptieve kwantisatiemethode voorstellen om de end-to-end metrieken over verschillende modellen te waarborgen. De bewerkingen per seconde (OPS) van SageAttention2 overtreffen FlashAttention2 en xformers met respectievelijk ongeveer 3x en 5x op RTX4090. Uitgebreide experimenten bevestigen dat onze aanpak verwaarloosbaar verlies aan end-to-end metrieken met zich meebrengt over diverse modellen, waaronder die voor grootschalige taalverwerking, beeldgeneratie en videogeneratie. De codes zijn beschikbaar op https://github.com/thu-ml/SageAttention.