Какво е FlashAttention и какво печели по памет?
sobes.tech AI
Отговор от AI
FlashAttention е оптимизиран алгоритъм за изчисляване на механизма на внимание (attention) в трансформърите, който значително намалява потреблението на памет и ускорява изчисленията в сравнение с класическия подход.
Основната идея на FlashAttention е да изчислява вниманието без явно съхраняване на големи матрици с междинни резултати (например, матрицата с теглата на вниманието QK^T), използвайки блокова обработка и ефективно използване на кеш паметта на GPU. Това позволява да се намали пикът на потребление на памет приблизително 3-4 пъти, което е особено важно при обучението на големи езикови модели (LLM) с дълги последователности.
Приблизително, ако класическото внимание изисква памет O(N^2) за последователност с дължина N, FlashAttention намалява тази тежест чрез изчисления на летящо и оптимизации, което позволява да се изпълняват модели с по-големи контексти на същите GPU.
Така, FlashAttention е начин да се направи вниманието по-ефективно по памет и скорост, което е критично за мащабни модели.