Метод Flash Attention ускоряет вычисления за счёт оптимизации работы с памятью. 14
В стандартных механизмах внимания для хранения, чтения и записи ключей, запросов и значений используется память с высокой пропускной способностью (HBM). 14 Она имеет большую ёмкость, но медленную скорость обработки. 14 Для обработки данных используется другая память — SRAM, которая имеет меньшую ёмкость, но обеспечивает быстрый доступ к информации. 14
В стандартных механизмах внимания данные часто перемещаются между HBM и SRAM. 1 Например, во время вычислений ключи, запросы и значения загружаются из HBM в SRAM для обработки, а промежуточные результаты и окончательные выводы записываются обратно в HBM после каждого шага механизма внимания. 1
Flash Attention оптимизирует перемещение данных. 1 Вместо выполнения этих операций для каждого отдельного шага внимания, Flash Attention загружает ключи, запросы и значения только один раз, объединяет операции механизма внимания и затем записывает результаты обратно в память. 14
Кроме того, загруженные данные делятся на более мелкие блоки, что способствует параллельной обработке. 1
В результате Flash Attention позволяет ускорить обучение и вывод моделей на основе трансформаторов. 14