DeepSeek-V4.1-Flash: контекст 1M токенов и KV-кэш 890 байт на токен

DeepSeek выпустила DeepSeek-V4.1-Flash — мультимодальную Mixture-of-Experts модель с 552B параметрами базовой сети, 196B дополнительных параметров Engram и окном контекста в 1M токенов. Главная цифра релиза — глобальный KV-кэш объёмом 890 байт на токен: примерно четверть от DeepSeek-V4-Flash и в 437 раз меньше, чем у DeepSeek-V1. На префилле активируется 8B параметров на токен, на декодировании — 16B.

Модель рассчитана на длинные агентные сценарии, где повторные префиллы и миллионные контексты перегружают HBM, ёмкость SSD и пропускную способность. Веса открыты под лицензией MIT и доступны на Hugging Face с путями для vLLM, SGLang и Transformers; заявлен публичный API с уровнями рассуждений low, high и max.

Causal Encoder-Decoder: вдвое меньше префилла

Бэкбон из 40 слоёв разделён на 20-слойный causal-энкодер и 20-слойный декодер. Идея заимствована у YOCO: декодер не считает собственный глобальный KV, а получает его через послойные проекционные веса из финального скрытого состояния энкодера. Токены промпта останавливаются на энкодере, что почти вдвое сокращает вычисления на префилле.

Скользящее окно внимания (SWA) с окном в 128 токенов при этом работает в каждом слое, поэтому состояния SWA декодера восстанавливаются проигрыванием только последних 128 токенов промпта. Команда называет этот механизм Decoder SWA Bounded Replay.

CSA2: три режима слоёв вместо одного

Если DeepSeek-V4 смешивала CSA с Heavily Compressed Attention, то V4.1-Flash использует чистый CSA2 и атакует размер кэша по оси слоёв. Каждому слою CSA2 статически назначается один из трёх режимов:

  • Full — считает собственный основной KV, проецирует из него indexer K и выбирает свежие Top-512 индексов.
  • Reindex — переиспользует основной KV и indexer K последнего слоя Full, но пересчитывает оценки собственным indexer Q.
  • Reuse — переиспользует и основной KV, и последние Top-K индексы, полностью пропуская индексер.

Собственные main Q и SWA KV остаются у каждого слоя. 18 слоёв CSA2 в энкодере используют коэффициент сжатия 2 в трёх группах по 6 (1 Full, 5 Reuse). 20 слоёв декодера — коэффициент 1 в пяти группах по 4: первая группа это Full плюс 3 Reuse, остальные — Reindex плюс 3 Reuse. Иерархический разреженный индексер в декодере позволяет слою Full построить пул кандидатов до 16 384 позиций (2 048 блоков по 8), так что более поздние слои Reindex оценивают ограниченное множество, а не весь контекст.

FP4 для KV-кэша и отказ от SSD

Основной KV-кэш квантован в E2M1 с одной шкалой E4M3 на 16 каналов — по схеме NVFP4, но без глобальной шкалы. Квантование введено через quantization-aware training на этапе постобучения и почти вдвое сокращает хранилище по сравнению с FP8-кэшем V4.

На уровне развёртывания SWA KV больше не сохраняется на SSD. Он живёт в распределённом пуле, выделенном из 10% оперативной памяти хоста, с TTL в несколько минут, тогда как глобальный KV сохраняет гарантированное время жизни 72 часа. При промахе Encoder SWA Bounded Replay пересчитывает только 128 токенов вместо «слои × окно».

Среди других изменений — Single-Pass mHC, который сдвигает коэффициенты смешивания входов на один блок, чтобы объединённое ядро Mega-mHC вдвое сократило трафик памяти на активациях; модуль условной памяти Engram на слоях 1 и 14; спекулятивное декодирование DSpark, обученное после предобучения при замороженном бэкбоне; head-wise Muon. При росте контекста с 4K до 1M токенов FLOPs на декодирование одного токена вырастают лишь на четверть.

Обучение и результаты

Предобучение охватило 45T мультимодальных токенов в пропорции 7:1 между текстом и мультимодальными данными. Разреженное внимание обучалось с нуля на длине последовательности 64K без плотного прогрева, а контекст расширялся до 1M на 34T токенов. Базовая модель сравнялась с DeepSeek-V4-Pro-Base по мировым знаниям и коду, используя треть общих и четверть активируемых параметров.

В постобучении новых алгоритмов нет: прирост дали крупномасштабный синтез проверяемых агентных задач, обучение с подкреплением на разнородных каркасах (Claude Code, Codex, OpenCode, Pi, mini-SWE, DeepSeek Harness) и on-policy дистилляция от более чем 40 учителей. Результаты на максимальном уровне усилий:

Бенчмарк DS-V4.1-Flash DS-V4-Flash Opus-5 GPT-5.6 Sol
Terminal-Bench 2.1 90.6 82.7 89.1 88.8
DeepSWE v1.1 74.2 54.4 74.0 73.0
Terminal-Bench 4.0 31.2 7.0 51.8 39.9
Automation-Bench 54.8 37.7 50.3 45.8
GPQA Diamond 90.9 89.9 93.4 94.1
Codeforces (рейтинг) 3471 3289 n/a n/a

Модель обходит Opus-5 и GPT-5.6 Sol на Terminal-Bench 2.1 и DeepSWE v1.1, при этом веса распространяются под MIT. Это продолжает линию открытых релизов DeepSeek: предыдущая V4-Flash-0731 тоже делала ставку на агентные и кодовые задачи. Для сравнения, Gemini 3.7 Flash при схожей нише остаётся закрытой моделью, а GPT-6 Astra работает с контекстом 1,05M токенов.

Что это меняет для развёртывания

890 байт на токен — это не абстрактная метрика, а прямая экономия памяти и дискового пространства при обслуживании длинных контекстов. Отказ от сохранения SWA KV на SSD и перенос его в пул из DRAM с TTL в минуты снижает требования к накопителям, а гарантированные 72 часа для глобального KV упрощают планирование вытеснения. Для команд, которые держат собственный инференс на vLLM или SGLang, путь миграции с V4-Flash выглядит коротким: те же фреймворки, открытые веса, MIT.

Частые вопросы

Сколько параметров у DeepSeek-V4.1-Flash?

552B параметров базовой сети плюс 196B дополнительных параметров Engram. На префилле активируется 8B параметров на токен, на декодировании — 16B.

Какой у модели размер контекстного окна?

1M токенов. Контекст расширялся до этого значения на этапе предобучения после 34T токенов.

Под какой лицензией вышли веса?

Под MIT. Веса доступны на Hugging Face с путями для vLLM, SGLang и Transformers.

Насколько меньше стал KV-кэш?

890 байт на токен — примерно четверть от DeepSeek-V4-Flash и в 437 раз меньше, чем у DeepSeek-V1. Вместе с FP4 и SWA Bounded Replay постоянный кэш сокращается примерно до 1/8 от V4-Flash.

Что такое режимы Full, Reindex и Reuse?

Это три способа работы слоя CSA2 с кэшем. Full считает основной KV и выбирает Top-512 индексов, Reindex переиспользует KV и indexer K предыдущего Full, но пересчитывает оценки, Reuse берёт и KV, и индексы без работы индексера.

Зачем убрали SWA KV с SSD?

Чтобы снизить требования к накопителям. SWA KV теперь живёт в пуле из 10% DRAM хоста с TTL в минуты, а при промахе пересчитываются только 128 токенов.

Насколько выросли вычисления при контексте 1M?

FLOPs на декодирование одного токена растут лишь на четверть при увеличении контекста с 4K до 1M токенов.

Как модель показывает себя на бенчмарках?

На Terminal-Bench 2.1 — 90.6 против 89.1 у Opus-5 и 88.8 у GPT-5.6 Sol, на DeepSWE v1.1 — 74.2 против 74.0 и 73.0 соответственно. На GPQA Diamond модель уступает: 90.9 против 93.4 и 94.1.

Есть ли публичный API?

Да, заявлен публичный API с уровнями рассуждений low, high и max.

Источник: marktechpost.com