Pile matérielle et logicielle de l'IA
Quel est le principe essentiel des implémentations rapides de l'attention comme FlashAttention ?
- ADécouper le calcul en tuiles traitées dans la mémoire interne à la puce et ne pas écrire le grand tableau intermédiaire n×n en HBM, afin de réduire les accès mémoire
- BOmettre le calcul de l'attention et produire une réponse approchée
- CCalculer l'attention sur le CPU
Afficher la réponse et l'explication
Réponse : A. Découper le calcul en tuiles traitées dans la mémoire interne à la puce et ne pas écrire le grand tableau intermédiaire n×n en HBM, afin de réduire les accès mémoire
Une implémentation naïve écrit le tableau n×n en HBM, le relit pour le softmax puis encore pour le produit avec les Value ; les accès mémoire déterminent alors les performances. FlashAttention découpe Query, Key et Value en blocs chargés en mémoire partagée et mène le calcul d'une traite en mettant à jour le softmax progressivement, sans écrire le tableau en HBM. Le volume de calcul est identique, mais les accès mémoire diminuent fortement et le traitement s'accélère.
Continuer : 9 autres questions sur Pile matérielle et logicielle de l'IA