Оптимизируйте производительность с FlashAttention-4
Представляем FlashAttention-4, новый алгоритм и совместный дизайн ядра, который направлен на максимизацию перекрытия между матричными умножениями и другими узкими местами ресурсов. Современные ускорители, такие как Blackwell GPUs, продолжают тенденцию асимметричного масштабирования аппаратного обеспечения, где производительность тензорных ядер увеличивается гораздо быстрее, чем другие ресурсы, такие как пропускная способность общей памяти и специальные функциональные блоки для транцендентных операций.
Асимметрия в масштабировании имеет серьезные последствия для оптимизации сложных ядер, таких как внимание для архитектуры Blackwell. В его основе лежат два GEMM (General Matrix Multiply) с softmax между ними, что также включает значительные операции по перемещению данных, синхронизации и преобразованию макетов. Наивное мнение о том, что скорость GEMM полностью контролирует производительность ядра, на самом деле опровергается: основное узкое место производительности заключается не в скорости тензорных ядер, а в SFU для softmax во время прямого вычисления и в трафике общей памяти во время обратного вычисления.
FlashAttention-4 достигает до 1605 TFLOPs/с на B200 с BF16, что на 1.3 раза быстрее, чем версия cuDNN 9.13 и в 2.7 раза быстрее, чем Triton. Основные идеи нашего алгоритмического и ядерного дизайна включают новые программные конвейеры для максимального перекрытия, программную эмуляцию экспоненциальной функции и хранение промежуточных результатов в тензорной памяти для снижения трафика общей памяти.
На Blackwell каждая из 148 SM (Streaming Multiprocessor) имеет 256 КБ тензорной памяти, что обеспечивает синхронное хранение промежуточных данных. Полностью асинхронные тензорные ядра пятого поколения позволяют облегчить давление на регистры и сделать более крупные матрицы и более глубокие конвейеры практичными. Это также делает специализированные потоки более жизнеспособными, позволяя некоторым потокам перемещать матрицы, в то время как другие выполняют матричное умножение.
В результате, новый график загрузки и программирование позволяют снизить дисбаланс нагрузки и улучшить производительность. FlashAttention-4 использует новый подход к программированию, который оптимизирует производительность, позволяя более эффективно использовать ресурсы Blackwell, что в конечном итоге приводит к значительному увеличению производительности при выполнении сложных вычислений.
Z.ai запускает GLM-5V-Turbo: новый многомодальный кодирующий модель
Как ИИ меняет научные исследования: больше работ, меньше качества
Похожие статьи
Создайте белковые связывающие агенты с помощью Proteina-Complexa
NVIDIA представила Proteina-Complexa для проектирования белковых связывающих агентов и ферментов с высокой аффинностью.
Создайте архитектуру нулевого доверия для конфиденциальных AI-фабрик
Узнайте, как архитектура нулевого доверия обеспечивает безопасность AI-фабрик, защищая данные и модели.
Как ИИ меняет научные исследования: больше работ, меньше качества
ИИ меняет научные исследования, увеличивая количество публикаций, но снижая их качество.