Sobes.tech
Senior

Какво е FlashAttention и какво печели по памет?

sobes.tech AI

Отговор от AI

FlashAttention е оптимизиран алгоритъм за изчисляване на механизма на внимание (attention) в трансформърите, който значително намалява потреблението на памет и ускорява изчисленията в сравнение с класическия подход.

Основната идея на FlashAttention е да изчислява вниманието без явно съхраняване на големи матрици с междинни резултати (например, матрицата с теглата на вниманието QK^T), използвайки блокова обработка и ефективно използване на кеш паметта на GPU. Това позволява да се намали пикът на потребление на памет приблизително 3-4 пъти, което е особено важно при обучението на големи езикови модели (LLM) с дълги последователности.

Приблизително, ако класическото внимание изисква памет O(N^2) за последователност с дължина N, FlashAttention намалява тази тежест чрез изчисления на летящо и оптимизации, което позволява да се изпълняват модели с по-големи контексти на същите GPU.

Така, FlashAttention е начин да се направи вниманието по-ефективно по памет и скорост, което е критично за мащабни модели.