Что такое FlashAttention-2/3, PagedAttention и MQA/GQA — и почему vLLM отдаёт ответы в 24 раза быстрее наивной раздачи модели?
FlashAttention — алгоритм, который экономит не вычисления, а обращения к памяти: внимание считается прямо в быстрой памяти на кристалле, и огромная матрица размером «токены × токены» не выгружается в медленную видеопамять. FA-2 даёт ~230 TFLOPs/s на A100 против ~60 у наивной реализации, FA-3 на H100 — 740 TFLOPs/s в FP16 и 1.2 PFLOPs/s в FP8. PagedAttention (vLLM, SOSP 2023) обращается с кэшем ключей и значений как операционная система с виртуальной памятью — раскладывает его по страницам и тем самым убирает фрагментацию. Отсюда и 24-кратная пропускная способность против наивной раздачи через HuggingFace. MQA/GQA уменьшают этот кэш, заставляя головы внимания делить ключи и значения между собой (у Llama-3 8B на 32 головы запросов приходится 8 наборов ключей и значений — кэш вчетверо меньше).