DiffAttnV2 от Microsoft: новая архитектура внимания для трансформеров | AiManual
AiManual Logo Ai / Manual.
20 Янв 2026 Инструмент

Differential Transformer V2: как работает новая архитектура внимания от Microsoft и где взять код

Обзор Differential Transformer V2 (DiffAttnV2) от Microsoft Research. Как работает, сравнение с предыдущей версией, примеры использования и где скачать код.

DiffAttnV2: когда Microsoft решает, что обычное внимание — это скучно

Пока все обсуждают, кто круче — Mamba или классические трансформеры, в Microsoft Research тихо выкатили Differential Transformer V2. Не анонс, не хайп, просто обновили репозиторий. И знаете что? Это одна из тех штук, которая заставляет пересмотреть базовые принципы.

DiffAttnV2 — это эволюция механизма внимания, где вместо прямого вычисления парных взаимодействий между всеми токенами модель учится работать с их разностями. Звучит как математическая абстракция, но на практике это дает прирост скорости на 15-30% при той же точности для длинных последовательностей. Особенно заметно на контекстах от 8k токенов и выше.

На 20 января 2026 года DiffAttnV2 — самая свежая версия архитектуры. Первый Differential Transformer появился еще в 2023, но V2 переработали с учетом опыта эксплуатации в продакшене. Если где-то видите упоминания DiffAttnV1 — это уже музейный экспонат.

Как это работает? (Без формул, обещаю)

Представьте, что вы читаете книгу. Обычный трансформер (тот, что в основе GPT-4 или Mistral Vibe) запоминает каждое слово и его связь со всеми остальными. DiffAttnV2 поступает иначе: он запоминает не сами слова, а как они меняются относительно друг друга. Разность токенов, градиент внимания — называйте как хотите.

Технически это реализовано через модифицированный механизм grouped query attention, где ключи и значения вычисляются не для абсолютных позиций, а для дифференциальных интервалов. Плюс добавили кэширование разностей, что дико экономит память при инференсе.

💡
Основной трюк DiffAttnV2 — замена O(n²) операций на O(n log n) для определенных типов паттернов в данных. Это не магическое избавление от квадратичной сложности, как в Mamba, но практичный компромисс между точностью и скоростью.

V1 vs V2: что сломали и что починили

Первая версия Differential Transformer была этакой лабораторной диковинкой. Работала хорошо на синтетических данных, но в реальных задачах (особенно с шумным текстом или кодом) иногда теряла важные зависимости между далекими токенами.

В V2 инженеры Microsoft переработали алгоритм агрегации разностей. Добавили адаптивный порог для отсечения малозначимых дифференциальных связей и механизм fallback на стандартное внимание для критичных участков последовательности. Это как если бы ваш автослесарь взял в один инструмент и гаечный ключ, и молоток.

Параметр DiffAttnV1 (2023) DiffAttnV2 (2025-2026)
Сложность (память) O(n log n) O(n log n) с лучшей константой
Поддержка длинных контекстов До 16k токенов До 128k токенов (экспериментально)
Интеграция с фреймворками Только кастомный код Есть плагин для Transformers v5.2+
Точность на GLUE 92.1% 92.7% (при равном числе параметров)

Кому это впишется в пайплайн? (А кому не стоит)

DiffAttnV2 — не панацея. Если вы тренируете модель на коротких текстах (до 2k токенов), выигрыш будет минимальным. А вот если вы работаете с длинными документами, кодом или мультимодальными последовательностями — здесь начинается магия.

  • Разработчики кодогенерирующих моделей: DiffAttnV2 отлично ловит паттерны в синтаксисе. Похожие идеи, кстати, есть в LoopCoder, но подход Microsoft более универсальный.
  • Инженеры, которые устали ждать, когда скомпилируется гигантский граф: Ускорение инференса на 20-30% — это не маркетинг, а реальность для batch size > 8.
  • Любители экспериментов с архитектурами: Код чистый, документация вменяемая. Можно заменить механизм внимания в своей кастомной LM и посмотреть, что будет.

Не стоит лезть в DiffAttnV2, если вы только начинаете разбираться с трансформерами. Сначала освоите обычный attention в Transformers v5, потом уже к дифференциальным извращениям.

Где взять код и как попробовать?

Вся реализация лежит в репозитории Microsoft unilm на GitHub. Не ищите отдельный репозиторий — DiffAttnV2 идет как модуль в составе их библиотеки для больших языковых моделей. На 20 января 2026 года актуальная ветка — `diffattn-v2-stable`.

Прямая ссылка: github.com/microsoft/unilm/tree/diffattn-v2-stable. Там же есть примеры интеграции с Hugging Face Transformers и инструкции для fine-tuning.

Чтобы не сломать себе весь пайплайн, начните с тестового скрипта, который сравнивает DiffAttnV2 и стандартное внимание на вашем датасете. Если используете Transformers v5, убедитесь, что у вас версия не ниже 5.2 — там уже есть совместимые хуки.

Что будет дальше? (Спойлер: гибриды)

DiffAttnV2 — не конечная точка. Уже видны эксперименты по комбинированию differential attention с другими подходами. Например, с латентными пространствами вместо токенов или с линейными слоями из State Space Models.

Мой прогноз: к концу 2026 года мы увидим модель, где DiffAttnV2 будет работать в паре с механизмом из FLUX.2 для мультимодальных задач. А может, и нет. Но пробовать стоит уже сейчас — пока эта штука не стала мейнстримом и не обросла слоями абстракции, которые все замедлят.

И да, если у вас есть RTX 4090 или что-то похожее, запускайте бенчмарки. Разница в скорости на длинных контекстах — это тот редкий случай, когда математическая идея сразу чувствуется в метриках.