DeepSeek открыла код DeepInfer: фреймворк инференса для V4.1-Flash

DeepSeek открыла код DeepInfer: фреймворк инференса для V4.1-Flash

DeepSeek-AI опубликовала на GitHub DeepInfer, фреймворк инференса (запуска обученных моделей). В README он назван высокопроизводительным фреймворком, который обслуживает крупномасштабные продакшен-сервисы DeepSeek. Код открыт под лицензией Apache 2.0. В цитировании автором указана просто DeepSeek-AI, год, 2026.

Открытый релиз ограничен: он даёт офлайн-инференс с основными функциями, нужными для обслуживания в больших масштабах. Из моделей поддерживается только DeepSeek-V4.1-Flash, из железа, GPU NVIDIA SM100 и NPU Huawei Ascend 950. Чекпойнт по умолчанию, deepseek-ai/DeepSeek-V4.1-Flash-1017: он скачивается в кэш Hugging Face при первом запуске, либо можно указать локальную копию через DEEPINFER_HF_MODEL_DIR.

Список функций: оптимизированные ядра (FlashMLA, DeepGEMM, DeepEP, TileKernels, DeepSelect и собственные ядра на TileLang), среда выполнения модели и сэмплера; параллелизм Attention DP / balanced CP и MoE EP + EPLB; DSpark и верификация по расписанию на основе уверенности (ускоряют декодирование черновыми токенами и планируют проверку по оценкам уверенности; максимальная длина черновика по умолчанию, 5, задаётся DEEPINFER_USE_NEXTN_DECODE); ограниченный повтор SWA в декодере (SWA bounded replay), сокращающий работу на префилле за счёт повтора только ограниченного хвоста, для настроек V4.1 по умолчанию DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140, а сохраняемый хвост должен покрывать окно SWA плюс максимальную длину отката; асинхронное планирование, при котором пакетное планирование на CPU перекрывается с исполнением на устройстве (включено по умолчанию); инференс, инвариантный к составу пакета (DEEPINFER_BATCH_INVARIANT=1, только NVIDIA); детерминированное сэмплирование с одинаковым выводом для одинаковых входных токенов и параметров (только NVIDIA); структурированный вывод по регулярному выражению, JSON-схеме или грамматике EBNF.

Чего в релизе нет: для полноценного сервиса, как сказано в README, нужны ещё KV-кэш-система, дезагрегация VE/Prefill/Decode (большая часть нужной функциональности движка уже реализована) и балансировка нагрузки между data-parallel репликами для префилла и декода, всё это в релиз не вошло.

Требования к сборке: Linux, GCC не ниже 13.0, Python 3.12 (пустое окружение), CUDA 13 для NVIDIA или CANN 9.2 для Ascend. Запуск: экспортировать DEEPINFER_ACCELERATOR=nvidia (для Ascend, ascend), выполнить ./build.sh и затем python examples/offline_inference.py. Бенчмарки, по README, измерялись на 4 GPU SM100 для префилла и 64 для декода, каждый в пределах одного scale-up домена; воспроизвести их можно скриптом run_sweep.sh. Авторы благодарят разработчиков vLLM, SGLang и TensorRT-LLM: DeepInfer изначально строился в основном на vLLM, с дополнительным вдохновением от двух других проектов.

Ключевые факты

  • DeepSeek-AI открыла под Apache 2.0 фреймворк инференса DeepInfer, который, по README, обслуживает её крупные продакшен-сервисы.
  • В релизе только офлайн-инференс и только одна модель, DeepSeek-V4.1-Flash; железо, GPU NVIDIA SM100 и NPU Huawei Ascend 950.
  • Из функций: ядра FlashMLA/DeepGEMM/DeepEP, DSpark с верификацией по уверенности (длина черновика по умолчанию 5), асинхронное планирование, детерминированное сэмплирование, структурированный вывод.
  • Для полного сервиса не хватает KV-кэш-системы, дезагрегации VE/Prefill/Decode и балансировки нагрузки между репликами, их в релиз не включили.
  • Основа проекта, vLLM, с дополнительным вдохновением от SGLang и TensorRT-LLM.

Почему это важно

DeepSeek открывает не модель, а программный слой, на котором, по её словам, работают её крупные продакшен-сервисы. Релиз включает ядра, параллелизм, спекулятивное декодирование и детерминированный режим, а поддержка Huawei Ascend 950 стоит в списке рядом с NVIDIA SM100. Однако это только офлайн-инференс для одной модели, и часть компонентов, нужных для полного сервиса, не опубликована.

Кому это важно

Инженерам по инференсу и разработчикам собственных серверов для больших моделей, которым интересны оптимизированные ядра и реализации параллелизма. Тем, кто работает с DeepSeek-V4.1-Flash на NVIDIA SM100 или Ascend 950. Командам, которым нужны воспроизводимые результаты: в релизе есть инвариантный к составу пакета инференс и детерминированное сэмплирование (оба режима только для NVIDIA).

Как это применить

Нужны Linux, GCC не ниже 13.0, пустое окружение Python 3.12 и CUDA 13 (NVIDIA) либо CANN 9.2 (Ascend). Экспортируйте DEEPINFER_ACCELERATOR=nvidia (для Ascend, ascend), запустите ./build.sh, затем python examples/offline_inference.py. Чекпойнт DeepSeek-V4.1-Flash-1017 скачается в кэш Hugging Face при первом запуске. Структурированный вывод включается передачей so_args в SamplingParams. Лицензия, Apache 2.0.

Можно ли доверять

Источник, README в официальном репозитории deepseek-ai. Утверждение о работе в продакшене DeepSeek, слова самой компании, независимо они не проверены. В тексте нет результатов бенчмарков (пропускной способности, задержки, стоимости), только описание условий замера и ссылка на run_sweep.sh, и нет сравнения с vLLM, SGLang или TensorRT-LLM. Тексты не утверждают, что открытый код идентичен внутреннему продакшен-коду. Отдельные авторы не названы, указана только DeepSeek-AI.

Риски и подводные камни

Релиз неполный: нет KV-кэш-системы, дезагрегации VE/Prefill/Decode и балансировки нагрузки между репликами, поэтому собрать на нём полноценный сервис без доработок не получится. Онлайн-режима нет, поддерживается одна модель и два вида аппаратуры. Батч-инвариантный режим и детерминированное сэмплирование работают только на NVIDIA. Жёсткие требования к окружению (GCC 13+, Python 3.12, CUDA 13 или CANN 9.2) усложняют развёртывание.