FlashAttention не делает внимание приблизительным
Обычный attention сопоставляет токены друг с другом. Промежуточные оценки образуют большую матрицу, которую приходится постоянно перемещать между памятью GPU и вычислителями. На длинных последовательностях именно это становится дорогим.
FlashAttention меняет не формулу, а порядок работы: делит вычисления на небольшие блоки, обрабатывает их в быстрой памяти рядом с вычислительными ядрами и сохраняет только необходимые итоги. Полную матрицу держать в памяти не нужно.
Поэтому модель может тратить меньше памяти и работать быстрее, оставаясь по сути той же моделью. Иногда главный апгрейд ИИ — не новый мозг, а более аккуратная работа с черновиками.