Голова не должна думать, как соседняя
Десять лет back-to-back multi-head attention правил бал. Но Qwen решила, что это скучно. И, кажется, они правы: все эти головы — копии друг друга, только с разными случайными весами. Зачем? Команда Qwen ответила на этот вопрос своей новой техникой — HydraHead. Идея проста до безобразия: каждая голова внимания может быть функционально гетерогенной.
Вместо того чтобы все головы считали одно и то же (ну, почти), HydraHead позволяет одной голове быть локальной (скользящее окно), другой — глобальной (полный контекст), третьей — сверточной (как Conv1D), а четвёртой — sparse attention или даже какой-нибудь state space variant. Да, это как если бы вы пришли в офис и каждый сотрудник внезапно заговорил на своём языке — но именно так команда работает эффективнее всего.
Это не первый эксперимент Qwen с альтернативными механизмами внимания. Ранее команда уже выпускала Routed GQA (R-GQA), которая ускоряла обучение на 40% за счёт маршрутизации — но там головы всё равно оставались однотипными. HydraHead идёт дальше.
Как это работает (без кода, обещаем)
Технически HydraHead — это не отдельный слой, а конфигуратор голов. На этапе сборки модели вы задаёте список типов голов. Например: [global, local_window(128), causal_conv(3), sparse(0.1)]. Каждая голова имеет свою архитектуру, свои параметры и, главное, свой способ взаимодействия с sequence.
Ключевая фишка — функциональная гетерогенность. Голова не просто по-разному инициализирована, она работает по-разному. Одна смотрит вперёд, другая назад, третья выбирает случайные токены. Это не ансамбль, это — гибрид, где каждый модуль дополняет слабые места других.
Команда Qwen показала, что на бенчмарках типа LongBench, MMLU и кодогенерации такая гетерогенность даёт прирост в 2-5% качества при том же количестве параметров. А на задачах с длинными контекстами — до 8%.
Почему это круто (и где подвох)
Сразу к делу: ускорение. Гетерогенность позволяет выкинуть вычисления там, где они не нужны. Если модель знает, что для короткого запроса локальная голова не нужна — она её просто не запускает. Динамическое отключение голов — это не баг, а фича.
Но есть нюанс (всегда есть). Инженерам придётся переписывать kernels под каждый тип головы. Если раньше все головы использовали один fused kernel (типа FlashAttention-3), то теперь под каждую — свой. Это увеличивает время инференса на отдельных операциях. Qwen заявляет, что они написали специальный HydraKernel, который умеет диспатчить разные типы в один проход, но это пока не открыто.
В теории, это работает так: вы берете гидру, конфигурируете головы, запускаете обучение — и получаете модель, которая лучше понимает контекст и меньше ошибается в длинных текстах. На практике, простому пользователю это не даст ничего, пока не появится готовая реализация в transformers или vLLM. Но исследователям — добро пожаловать в новую парадигму.
Qwen в своём репертуаре
Команда Qwen не перестаёт удивлять. В тот момент, когда все копируют LLaMA или закрываются от мира, они экспериментируют. Сначала Routed GQA, потом Qwen Coder Next, который умеет быть агентом, а не просто кодить, и вот теперь HydraHead. На фоне слухов о подготовке модели 27B для локального запуска такая инновация выглядит логичной: чтобы маленькие модели могли конкурировать с гигантами, им нужны более умные архитектуры, а не просто больше параметров.
И да, в Qwen уже внедрили HydraHead в одну из закрытых внутренних версий Qwen4. Говорят, результаты на тесте на понимание длинных документов (128K токенов) превосходят GPT-5mini на 12% по точности фактов.
Вердикт: смотреть или бежать?
Если вы исследователь — бегом читать препринт и пробовать воспроизвести. Если вы разработчик, который хочет пощупать новую архитектуру уже завтра — увы, придётся подождать. HydraHead пока существует как исследовательская концепция. Но, учитывая темпы Qwen, к осени 2026 мы увидим её в открытых моделях. И тогда, возможно, классический multi-head attention уйдёт на покой. Не навсегда, но навсегда изменив представление о том, что голова внимания — это что-то однородное.
Совет: не пытайтесь сейчас писать код с HydraHead — в open source нет ни одной реализации. Лучше изучите R-GQA или Qwen3.5. Они уже рабочие и дают ощутимый прирост. А HydraHead... она будет, когда будет. Но следить стоит.