Sobes.tech
Senior

Čo je FlashAttention a aký prínos má pre pamäť?

sobes.tech AI

Odpoveď od AI

FlashAttention je optimalizovaný algoritmus na výpočet mechanizmu pozornosti (attention) v transformeroch, ktorý výrazne znižuje spotrebu pamäte a zrýchľuje výpočty v porovnaní s klasickým prístupom.

Hlavná myšlienka FlashAttention je vypočítať pozornosť bez explicitného ukladania veľkých matíc medzi výsledkami (napríklad matice váh pozornosti QK^T), pomocou blokového spracovania a efektívneho využívania cache GPU. To umožňuje znížiť maximálnu spotrebu pamäte približne o 3-4 krát, čo je obzvlášť dôležité pri tréningu veľkých jazykových modelov (LLM) s dlhými sekvenciami.

Približne, ak klasická pozornosť vyžaduje pamäť O(N^2) pre sekvenciu dĺžky N, FlashAttention túto záťaž znižuje pomocou výpočtov v reálnom čase a optimalizácií, čo umožňuje spúšťať modely s väčšími kontextami na tých istých GPU.

Týmto spôsobom je FlashAttention spôsob, ako spraviť pozornosť efektívnejšou z hľadiska pamäte a rýchlosti, čo je kritické pre veľké modely.