Nuovo Kernel Triton Riduce l'Overhead di Dispatch nei Vision Transformer Potati
Un articolo tecnico pubblicato su arXiv (ID: 2604.15408v1) affronta le inefficienze nell'esecuzione dei Vision Transformer (ViT) potati. Mentre i metodi di potatura dei token riducono teoricamente i FLOP dell'attenzione in modo quadratico eliminando le patch non informative, i miglioramenti effettivi della latenza wall-clock sono limitati dall'overhead di dispatch. Con lunghezze di sequenza tipiche post-potatura di 197 token o meno, l'aritmetica delle matrici si completa in microsecondi, ma il dispatch lato host consuma 60-90 microsecondi. I ricercatori hanno sviluppato un kernel di attenzione Triton bidirezionale leggero con un floor di dispatch di circa 40 microsecondi, circa 1,5 volte inferiore all'implementazione a lunghezza variabile di FlashAttention-2. Questo kernel è integrato in una pipeline completa pack-attend-unpack. Il sistema raggiunge fino a 2,24 volte il throughput end-to-end più elevato rispetto alle implementazioni PyTorch SDPA con padding. Il lavoro evidenzia un collo di bottiglia in cui le API di attenzione a lunghezza variabile esistenti—inclusi varlen di FlashAttention-2 e NestedTensor SDPA di PyTorch—non riescono a tradurre le riduzioni dei FLOP in guadagni di velocità proporzionali. L'obiettivo è rendere più visibili i risparmi computazionali derivanti dalla potatura nelle prestazioni pratiche di runtime.
Fatti principali
- ID articolo arXiv: 2604.15408v1
- Affronta l'overhead di dispatch nei Vision Transformer potati
- Il dispatch lato host consuma 60-90 microsecondi
- Il nuovo kernel Triton riduce il floor di dispatch a ~40 microsecondi
- Raggiunge fino a 2,24x il throughput end-to-end rispetto a PyTorch SDPA con padding
- Le lunghezze di sequenza tipiche post-potatura sono <=197 token
- Integrato in una pipeline pack-attend-unpack
- Confronto con FlashAttention-2 varlen e PyTorch NestedTensor SDPA
Entità
Istituzioni
- arXiv