Это прямое внимание с использованием flash: `TestPcontig.test_flash_attention` Здесь даже нет "предохранителя", паттерн очевиден из потока данных. Обратная сторона не имеет двух трюков: выход q.grad и k.grad вместе и выбор пересчета матрицы оценок вместо ее сохранения.
Как только обратное внимание с вспышкой станет автоматическим, представьте себе другие паттерны, которые это откроет. Для скорости мы работаем над проходом, похожим на thunderkittens, который разбивает все на плитки 16x16. Больше не нужно размышлять о "локальных", что является предложением Triton.
Люди умеют читать эти диаграммы? По сравнению с постами с кодом, эти посты не получают много внимания, но я нахожу диаграмму гораздо более удобной для восприятия.
11K