QFlash: FlashAttention interamente intero per Vision Transformers
Un team di ricercatori ha presentato QFlash, un nuovo design interamente intero per FlashAttention che esegue softmax interamente nel dominio intero e funziona come un singolo kernel Triton. Questo sviluppo affronta tre problemi chiave di FlashAttention interamente intero: la rapida crescita durante l'accumulo per tile, l'inefficienza dei calcoli esponenziali basati su shift sulle GPU e le limitazioni della granularità di quantizzazione che richiedono scale uniformi per confronti interi. Nei test su sette compiti di attenzione dei modelli ViT, DeiT e Swin, QFlash ha ottenuto miglioramenti di velocità fino a 6,73× rispetto a I-ViT e 8,69× rispetto a Swin. Inoltre, ha ridotto il consumo energetico del 18,8% rispetto a FP16 FlashAttention, mantenendo l'accuratezza Top-1 su ViT/DeiT e rimanendo competitivo con Swin.
Fatti principali
- QFlash è un design FlashAttention interamente intero end-to-end.
- Esegue softmax interamente nel dominio intero.
- Funziona come un singolo kernel Triton.
- Tre ostacoli affrontati: esplosione della scala, operazioni esponenziali inefficienti, granularità di quantizzazione.
- Testato sui modelli ViT, DeiT e Swin.
- Fino a 6,73× di accelerazione rispetto a I-ViT.
- Fino a 8,69× di accelerazione su Swin.
- Riduzione energetica del 18,8% rispetto a FP16 FlashAttention.
- Nessuna perdita di accuratezza Top-1 su ViT/DeiT.
Entità
Istituzioni
- arXiv