Sobes.tech
Senior

Ce este FlashAttention și ce câștig de memorie oferă?

sobes.tech AI

Răspuns de la AI

FlashAttention este un algoritm optimizat pentru calculul mecanismului de atenție (attention) în transformatoare, care reduce semnificativ consumul de memorie și accelerează calculele comparativ cu abordarea clasică.

Ideea principală a FlashAttention este de a calcula atenția fără a stoca explicit matrice mari de rezultate intermediare (de exemplu, matricea de ponderi de atenție QK^T), utilizând procesarea pe blocuri și utilizarea eficientă a cache-ului GPU. Acest lucru permite reducerea consumului maxim de memorie cu aproximativ 3-4 ori, ceea ce este deosebit de important în antrenarea modelelor mari de limbaj (LLM) cu secvențe lungi.

În termeni aproximativi, dacă atenția clasică necesită memorie O(N^2) pentru o secvență de lungime N, FlashAttention reduce această sarcină prin calcule în timp real și optimizări, permițând rularea modelelor cu contexte mai mari pe aceleași GPU-uri.

Astfel, FlashAttention este o metodă de a face atenția mai eficientă din punct de vedere al memoriei și vitezei, ceea ce este critic pentru modelele de scară largă.