Nvidia выпускает FlashAttention-4, удваивая производительность ИИ
Чтобы понять, о чём речь, достаточно представить, как работает внимание. Когда языковая модель читает текст, она на каждом шаге сверяется с тем, что было раньше: какие слова связаны между собой, что уточняет смысл, какие фразы важнее. Эта «сверка» и есть механизм внимания. Он точный, но дорогой: чем длиннее входной текст, тем больше пар сравнений нужно сделать. На практике проблема даже не столько в самих вычислениях, сколько в том, что приходится постоянно переносить огромные объёмы промежуточных данных между разными уровнями памяти внутри ускорителя. Иными словами, вычислитель часто простаивает, ожидая, пока нужные данные окажутся «под рукой».
FlashAttention решает задачу аккуратнее: результат остаётся тем же, но порядок действий организован так, чтобы меньше гонять данные туда-сюда. NVIDIA описывает FlashAttention-4 как шаг в сторону более тесной «подгонки» программных приёмов под архитектуру Blackwell. В компании прямо признают: новые ускорители умеют считать всё быстрее, но часть операций и подсистем памяти не ускоряется с такой же скоростью — и именно там начинают теряться проценты эффективности. Поэтому в FA4 перепроектировали то, как хранятся и используются промежуточные результаты, и перераспределили работу внутри самого ускорителя так, чтобы реже обращаться к более медленным участкам памяти и чаще держать данные в быстрых внутренних буферах.
В опубликованных тестах NVIDIA приводит конкретные сравнения. На длине контекста 32 768 токенов (это очень длинный текст по меркам массовых применений) компания заявляет ускорение до 3,6 раза для основного прохода вычислений и до 3,15 раза для обратного прохода, который нужен при обучении модели.
Это сравнение дано относительно FlashAttention-2, то есть не с «наивной» реализацией, а с уже оптимизированной и широко применяемой. Для сравнения с другими библиотеками NVIDIA также приводит умеренные, но показательные цифры: преимущество до 1,3 раза по отношению к одному из вариантов реализации в cuDNN и до 2,4 раза — по отношению к ряду реализаций в Triton, особенно в сценариях с длинным контекстом.
Отдельный акцент в сообщении NVIDIA — на том, что технологии не должны оставаться лабораторным экспериментом. Компания пишет, что часть улучшений уже учитывается в её библиотеке cuDNN (в публикации упоминается версия 9.14), а режимы ускорения для «первичного чтения» длинного текста должны быть совместимы с популярными системами, через которые запускают инференс крупных моделей. В то же время практика внедрения обычно идёт ступенчато: даже когда базовые оптимизации появляются в экосистеме, полноценная поддержка во всех сборках и стабильных версиях инструментов может отставать — особенно на старте нового поколения ускорителей.
По сути, FlashAttention-4 — это иллюстрация того, как меняется конкуренция в индустрии ИИ-инфраструктуры. Производительность сегодня измеряется не только сухими характеристиками «сколько операций в секунду», но и тем, насколько эффективно ускоритель справляется с реальными узкими местами языковых моделей. А одно из таких узких мест — способность быстро и экономично работать с длинным контекстом. Если обещания NVIDIA подтвердятся в массовых задачах, Blackwell получит преимущество там, где пользователи хотят от моделей не коротких ответов «по абзацу», а уверенной работы с документами, перепиской, отчетами и кодом на десятках тысяч токенов — то есть с тем, что всё чаще становится нормой в корпоративных сценариях.
