Техотчёт DeepSeek-V3.2 (2025): разреженное внимание DSA и масштабирование RL
Конспект техотчёта DeepSeek-V3.2: молниеносный индексатор и отбор top-k токенов вместо полного внимания, двухэтапное дообучение индексатора через KL, и рецепт устойчивого масштабирования GRPO — несмещённый KL, маскирование off-policy, сохранение маршрутизации.
Коротко
Заголовок раздела «Коротко»- V3.2 отличается от V3.1-Terminus одним архитектурным изменением: вместо полного внимания — DeepSeek Sparse AttentionDeepSeek Sparse Attention (DSA)EN DeepSeek Sparse Attention (DSA)Разреженное внимание DeepSeek-V3.2 — дешёвый индексатор выбирает 2048 прошлых токенов для каждого запроса, полное MLA считается только по ним. Позже взято в GLM-5. (DeepSeek Sparse Attention). Модель получена дообучением из V3.1-Terminus, а не обучением с нуля.
- DSA состоит из двух частей. Молниеносный индексатор (lightning indexer) быстро оценивает, насколько прошлый токен важен для текущего. Отбор top-k: внимание считается только по 2048 выбранным токенам.
- Индексатор учат повторять распределение настоящего внимания через KL-дивергенцию: сначала 1000 шагов с замороженной моделью и плотным вниманием (2,1 млрд токенов), потом 15 000 шагов разреженного обучения всей модели (943,7 млрд токенов).
- Сложность ядра внимания падает с до . Индексатор остаётся квадратичным, но он намного дешевле полного внимания. Выигрыш виден на длинных последовательностях: в конце контекста 128K стоимость токена падает в несколько раз.
- Пост-трейнинг: дистилляция специалистов (по модели на домен) плюс один смешанный этап RL на GRPO — рассуждения, агентные задачи и человеческие предпочтения вместе, чтобы не было катастрофического забывания.
- Главная инженерная часть отчёта V3.2 — как сделать масштабирование RL устойчивым: несмещённая оценка KL, маскирование сильно off-policy отрицательных примеров, сохранение маршрутизации экспертов и масок сэмплирования.
- Вариант с увеличенным бюджетом рассуждений, V3.2-Speciale, взял золото на IMO 2025, CMO 2025, IOI 2025 и ICPC World Finals 2025 (2-е место).
Как читать вместе с курсом
Заголовок раздела «Как читать вместе с курсом»| Раздел | О чём | Куда в курсе |
|---|---|---|
| §2.1 DSA | индексатор, top-k, как это ложится на MLA | 5.5.2 «Разреженное внимание» |
| §2.1.1 | двухэтапное обучение: разогрев и разреженная стадия | 5.5.2 |
| §2.3 | стоимость инференса в долларах за миллион токенов | 7.1.1 |
| §3 Post-Training | дистилляция специалистов, смешанный RL | 6.4.4 |
| §3.1 Scaling GRPO | четыре приёма устойчивости RL | 6.4.3 «Варианты GRPO» |
| §3.2 | размышление внутри вызова инструментов, синтез агентных задач | 8.3.1 «Цикл агента» |
DSA: внимание только к важному
Заголовок раздела «DSA: внимание только к важному»Молниеносный индексатор
Заголовок раздела «Молниеносный индексатор»Для текущего токена и любого предыдущего считается оценка важности:
где — число голов индексатора (их мало), и веса получаются из текущего токена, а — из предыдущего. Три решения, которые делают это дешёвым:
- Мало голов. Индексатор — это не ещё одно внимание, а грубая и быстрая оценка.
- ReLU вместо softmax. Авторы прямо пишут, что выбрали ReLU ради пропускной способности: не нужно нормировать по всей последовательности.
- FP8. Индексатор считается в 8-битной точности — для ранжирования этого достаточно.
Отбор и основное внимание
Заголовок раздела «Отбор и основное внимание»Берутся только записей KV с наибольшими оценками (), и уже по ним считается настоящее внимание. Всё остальное — многоголовое латентное вниманиемногоголовое латентное внимание (MLA)EN multi-head latent attention (MLA)Предложено DeepSeek в DeepSeek-V2 (2024). из V2: в кэше лежат те же латентные векторы.
Важная деталь реализации: DSA строится поверх режима MQA у MLA, то есть одна запись KV используется всеми головами запроса. Иначе разные головы выбирали бы разные токены, и ядро на GPU потеряло бы смысл: экономия вычислений съелась бы хаотичным доступом к памяти.
flowchart LR
H["h_t"] --> I["Молниеносный индексатор (мало голов, ReLU, FP8)"]
H --> Q["Запросы MLA"]
KV[("KV-кэш: латентные векторы всех токенов")] --> I
I --> T["Top-k = 2048 записей"]
KV --> T
T --> A["Основное внимание (MQA-режим MLA)"]
Q --> A
A --> U["u_t"]Как учили индексатор
Заголовок раздела «Как учили индексатор»Индексатор должен научиться предсказывать, куда посмотрит настоящее внимание. Поэтому его учат на целевое распределение: берут оценки внимания основной модели, суммируют по всем головам и нормируют (L1) по длине последовательности — получается распределение . Лосс индексатора — KL между и softmax его собственных оценок.
- Плотный разогрев. Внимание остаётся полным, все параметры модели заморожены, учится только индексатор. Learning rate , 1000 шагов по 16 последовательностей на 128 тыс. токенов — всего 2,1 млрд токенов.
- Разреженное обучение. Включается отбор top-k (2048 токенов), и теперь учатся все параметры. KL для индексатора считается уже только по выбранным токенам. Learning rate , 15 000 шагов по 480 последовательностей на 128 тыс. токенов — 943,7 млрд токенов.
Тонкость, которую легко упустить: вход индексатора отцепляют от графа вычислений. Индексатор учится только на своём KL-лоссе, основная модель — только на языковом лоссе. Иначе градиенты индексатора портили бы модель.
Стоимость
Заголовок раздела «Стоимость»Сложность основного внимания падает с до , где . Индексатор остаётся , но стоит он намного меньше, чем полное MLA. На коротких промптах разреженность не нужна, поэтому для коротких последовательностей сделан отдельный режим «MHA с маской», который имитирует DSA и работает быстрее.
Отчёт приводит графики стоимости за миллион токенов в зависимости от позиции в последовательности, замеренные на боевом сервисе на H800 по цене аренды 2 доллара за GPU-час: у V3.1-Terminus стоимость растёт линейно с позицией, у V3.2 — почти не растёт. На префилле речь о десятых долях доллара, на декодировании — о единицах; разрыв к концу контекста 128K — в разы.
Пост-трейнинг: специалисты и один смешанный RL
Заголовок раздела «Пост-трейнинг: специалисты и один смешанный RL»Дистилляция специалистов. Для каждой области обучают отдельную модель-специалиста из одного и того же базового чекпойнта V3.2, причём большим бюджетом RL. Областей шесть: математика, программирование, общая логика, общие агентные задачи, агентное программирование, агентный поиск — плюс письмо и общие вопросы-ответы. Каждая область поддерживает режим с размышлением и без. Затем специалисты генерируют данные для финальной модели. Модель на дистиллированных данных оказывается лишь чуть хуже специалистов, а разрыв добивает последующий RL.
Смешанный RL. Рассуждения, агентные задачи и выравнивание под человека объединены в один этап GRPO — так удаётся не получить катастрофического забывания, которым страдают многоэтапные схемы (сравните с R1, где этапов четыре). Награды: для рассуждений и агентов — проверяемая награда по результату, штраф за длину и награда за единый язык; для общих задач — генеративная модель наград, у которой для каждого промпта свои критерии (рубрики).
Четыре приёма устойчивого RL
Заголовок раздела «Четыре приёма устойчивого RL»Это самая практичная часть отчёта: что ломается, когда RL растёт в масштабе (бюджет RL уже превышает 10% от стоимости претрейна), и как это чинить.
- Несмещённая оценка KL. Оценка k3 из DeepSeekMath несмещена, если токены взяты из текущей политики. Но в реальности они приходят из старой политики . Поэтому k3 домножают на отношение важности : Без поправки токены, у которых текущая вероятность много меньше опорной (), получают огромные неограниченные веса — градиенты шумят, качество выборок постепенно деградирует. Авторы добавляют: в разных областях нужна разная сила KL, а для математики его можно ослабить или вовсе убрать.
- Маскирование off-policy последовательностей. Большой батч генерации режут на мини-батчи и делают несколько шагов градиента — данные становятся off-policy; плюс движок генерации и движок обучения считают вероятности чуть по-разному. Решение: выбрасывать из лосса отрицательные примеры, которые слишком далеко ушли от текущей политики (средний логарифм отношения больше порога ). Маскируют только последовательности с отрицательным преимуществом: учиться на своих ошибках полезно, а на чужих, устаревших — вредно.
- Сохранение маршрутизации (Keep Routing). В MoE движок генерации и движок обучения могут выбрать для одного и того же входа разных экспертов. Тогда обучается не тот набор параметров, который породил ответ. Решение: запомнить маршруты, выбранные при генерации, и принудительно использовать те же при обучении. Приём применяется в DeepSeek с версии V3-0324 и назван критически важным для устойчивости RL у MoE.
- Сохранение маски сэмплирования (Keep Sampling Mask). Генерация идёт с top-p и top-k — часть токенов обрезана. Если при обучении считать вероятности по полному словарю, пространства действий у и разные, и importance sampling формально неверен. Решение: сохранять маски обрезания и применять их при обучении.
Размышление внутри работы с инструментами
Заголовок раздела «Размышление внутри работы с инструментами»У R1 рассуждения выбрасывались из контекста при каждом новом сообщении. Для агента это расточительно: после каждого вызова инструмента приходится заново продумывать всю задачу. В V3.2 правила другие:
- рассуждения стираются, только когда приходит новое сообщение пользователя;
- если добавились лишь результаты инструментов, рассуждения сохраняются;
- при удалении рассуждений история вызовов инструментов и их результатов остаётся.
Отсюда практический совет авторов: если ваш агентный фреймворк подаёт результаты инструментов как сообщения пользователя (так делают, например, Roo Code и Terminus), выигрыша не будет — для таких фреймворков лучше брать модель без режима размышления.
Холодный старт устроен просто: есть данные с рассуждениями (без инструментов) и агентные данные (без рассуждений); их соединяют системным промптом, который прямо просит вызывать инструменты внутри рассуждения. Получается нестабильно, но иногда правильные траектории выходят — этого хватает, чтобы дальше работал RL.
Синтез агентных задач. В RL использованы задачи четырёх типов:
| Тип агента | Задач | Среда | Промпты |
|---|---|---|---|
| Программирование (code agent) | 24 667 | настоящая | извлечены |
| Поиск (search agent) | 50 275 | настоящая | синтезированы |
| Общий агент | 4 417 | синтезирована | синтезированы |
| Интерпретатор кода | 5 908 | настоящая | извлечены |
- Поисковый агент. Берут редкие сущности из веб-корпуса, агент-составитель вопросов исследует их поиском и строит пары «вопрос — ответ»; несколько агентов-ответчиков с разными настройками дают кандидатов; агент-проверяющий с поиском оставляет только те примеры, где правильный ответ подтверждён, а все остальные кандидаты доказуемо неверны.
- Агент-программист. Из GitHub намайнены миллионы пар «issue — pull request»; для них автоматический агент строит исполняемые окружения. Среда считается собранной, только если применение эталонного патча переводит хотя бы один тест из «падает» в «проходит» и при этом ни один проходивший тест не ломается. Так получили десятки тысяч воспроизводимых задач на Python, Java, JavaScript, TypeScript, C, C++, Go и PHP.
- Общий агент. Агент-синтезатор сам построил 1827 окружений по принципу «решить трудно, проверить легко».
Результаты и честные ограничения
Заголовок раздела «Результаты и честные ограничения»DeepSeek-V3.2-Thinking примерно на уровне GPT-5-high на задачах рассуждения и уступает Gemini-3.0-Pro. Несколько чисел из главной таблицы отчёта (декабрь 2025): AIME 2025 — 93,1; HMMT Feb 2025 — 92,5; LiveCodeBench — 83,3; SWE Multilingual — 70,2 (лучший результат среди сравниваемых); Terminal Bench 2.0 — 46,4.
Вариант V3.2-Speciale обучен только на данных рассуждений и с ослабленным штрафом за длину, то есть думает дольше. Его результаты на олимпиадах (без специальной подготовки под них):
| Соревнование | Баллы | Медаль |
|---|---|---|
| IMO 2025 (математика) | 35/42 | золото |
| CMO 2025 (математика, Китай) | 102/126 | золото |
| IOI 2025 (информатика) | 492/600 | золото, 10-е место |
| ICPC World Finals 2025 | 10/12 задач | золото, 2-е место |
Ограничения, которые авторы называют сами:
- Меньше знаний о мире, чем у передовых закрытых моделей, — следствие меньшего бюджета претрейна.
- Экономия токенов хуже: чтобы догнать Gemini-3.0-Pro по качеству, модели нужны более длинные рассуждения (видно в таблице: Speciale тратит 23–77 тыс. токенов там, где Gemini — 15–22 тыс.).
- Сложные задачи всё ещё даются хуже, чем лидерам.
Что сделать руками
Заголовок раздела «Что сделать руками»- Оцените экономию. Для и посчитайте отношение — во сколько раз меньше работы у основного внимания. Прикиньте, с какой длины контекста квадратичный индексатор перестаёт быть узким местом, если он в раз дешевле полного внимания на операцию.
- Повторите схему обучения индексатора. На игрушечном трансформере из ступени 4 снимите карты внимания, просуммируйте по головам, нормируйте и обучите маленький «индексатор» минимизировать KL. Посмотрите, какую долю настоящих top-k токенов он угадывает. Практика — в уроке 5.5.2.
- Проверьте несмещённый KL. Сравните на синтетических вероятностях k3 и его поправленную версию при : убедитесь, что веса у k3 растут неограниченно.
- Сымитируйте Keep Routing. Возьмите игрушечный MoE из урока 5.3.1, слегка измените веса роутера («движок генерации» против «движка обучения») и посмотрите, у какой доли токенов меняется выбранный эксперт.
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| DeepSeek Sparse Attention (DSA) | разреженное внимание DeepSeek |
| lightning indexer | молниеносный индексатор |
| index score | оценка важности (индекса) |
| fine-grained token selection | мелкозернистый отбор токенов |
| dense warm-up / sparse training stage | плотный разогрев / стадия разреженного обучения |
| detach from computational graph | отцепить от графа вычислений |
| specialist distillation | дистилляция специалистов |
| mixed RL training | смешанный этап RL |
| unbiased KL estimate | несмещённая оценка KL |
| off-policy sequence masking | маскирование off-policy последовательностей |
| keep routing / keep sampling mask | сохранение маршрутизации / маски сэмплирования |
| thinking context management | управление контекстом размышлений |
| generative reward model, rubrics | генеративная модель наград, критерии оценки |
| token efficiency | экономия токенов |