Attention éclair
Définition
Ce concept regroupe différentes approches algorithmiques pour augmenter la performance en temps d'exécution et/ou en mémoire du mécanisme d'attention original.
Il existe différentes implémentations qui dépendent entre autres de l'organisation matérielle des processeurs graphiques, souvent pour un fabricant en particulier.
Compléments
Les couches d'auto-attention permettent de comprendre les relations contextuelles entre les données d'entrée. Cependant, la consommation maximale de mémoire des processeurs graphiques pour les couches d'auto-attention augmente quadratiquement avec la longueur de la séquence d’entrée. Ainsi, l'algorithme d'auto-attention classique devient rapidement prohibitif en termes de mémoire pour les longs contextes d'entrée.
Afin de résoudre ce problème, Tri Dao et al. ont inventé en 2022 l'algorithme d'attention éclair (FlashAttention) dont le coût en mémoire n'augmente que linéairement avec la longueur de la séquence d'entrée. Évidemment, l’algorithme d’attention éclair est un peu plus lent. En contrepartie, l'attention-éclair est plus rapide en inférence que l'attention classique car elle réduit considérablement les accès mémoires plus lents du processeur graphique en se concentrant plutôt sur la mémoire vive statique (SRAM) qui est plus rapide.
Le mécanisme d'attention éclair basé sur le lightning attention s'exécute en temps linéaire alors que le mécanisme d'attention original d'exécution en temps quadratique. Cette amélioration est basée sur la normalisation du gradient pour lutter contre l'explosion du gradient et l'utilisation privilégiée de la diagonale de la matrice d'attention c.-à-d. les segments textuels voisins pour lutter contre l'évanescence du gradient.
Français
attention éclair
attention flash Calque de l'anglais
Anglais
FlashAttention Proposition originale de Tri Dao et al. (2022)
flash attention
lightning attention
Sources
- arxiv - Qin & al. 2023 - Lightning Attention
Contributeurs: Claude Coulombe, Patrick Drouin, wiki
