ГАЙД 2026

DeepInfer: как запустить DeepSeek V4.1 Flash на своих ускорителях

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

ИнференсОткрытый код2026
Категория Инференс-фреймворкЛицензия Apache 2.0Обновлено 29.10.2026

DeepInfer — открытый инференс-фреймворк DeepSeek, который «обслуживает крупномасштабные продовые сервисы» компании: так это сформулировано в README. В открытый релиз вынесли офлайн-инференс с ядрами, планировщиком и параллелизмом, но без KV-кэша и балансировки — то есть ядро движка есть, а обвязки для полноценного сервиса пока нет. За 13 дней репозиторий набрал больше 24 тысяч звёзд, и это самый быстрый способ запустить DeepSeek-V4.1-Flash на железе, под которое его оптимизировали.

24 074
Звёзд на GitHub
снято 29.10.2026
1
Поддерживаемых моделей
только V4.1-Flash
SM100 / 950
Ускорители
NVIDIA / Huawei Ascend
Apache 2.0
Лицензия
код открыт
Как мы это проверяли
Фреймворк мы не собирали: для него нужен ускоритель NVIDIA SM100 или Huawei Ascend 950, которого у нас нет. Все технические детали — из README репозитория deepseek-ai/DeepInfer, метаданных GitHub API (звёзды, форки, даты) и карточки чекпойнта на Hugging Face, снятых 29.10.2026. Цифры производительности — только те, что авторы публикуют сами, с явной пометкой «данные авторов».

01Что такое DeepInfer и чем он отличается от vLLM

По описанию в репозитории это «высокопроизводительный инференс-фреймворк, который обслуживает крупномасштабные продовые сервисы DeepSeek». Открытая версия даёт офлайн-инференс с ядром, которого достаточно для инференса на масштабе, но без части служебных подсистем, которые остались внутри компании. Авторы прямо перечисляют базу: движок изначально построен в основном на vLLM, с идеями из SGLang и TensorRT-LLM.

Отличие от универсальных движков в том, что DeepInfer не пытается поддерживать всё. В README один пункт в списке моделей — DeepSeek-V4.1-Flash. Это не ограничение «пока не добавили», а осознанный дизайн: под одну архитектуру можно вшить конкретные ядра, конкретную схему параллелизма и конкретные эвристики декодирования, которые для зоопарка моделей писать бессмысленно.

ФреймворкЗвёзд GitHubМоделиКому
llama.cpp132 707GGUF, почти любыеноутбуки, CPU, Apple Silicon
vLLM95 825широкий зоопаркуниверсальный сервер инференса
SGLang38 338широкий зоопарксложные пайплайны и structured output
DeepInfer24 074только V4.1-Flashкластеры SM100 и Ascend 950
TensorRT-LLM14 969популярные LLM под NVIDIAмаксимальная скорость на NVIDIA
Звёзды и форки — GitHub API, снято 29.10.2026. Порядок — по числу звёзд.
Число звёзд — не метрика качества: у проекта, созданного 16.10.2026, 24 тысячи звёзд за две недели только за счёт новости о релизе.
Звёзды GitHub у инференс-движковDeepInfer за 13 дней против многолетних проектов
0 ★75 000 ★150 000 ★llama.cpp132 707 ★vLLM95 825 ★SGLang38 338 ★DeepInfer24 074 ★TensorRT-LLM14 969 ★
GitHub API, снято 29.10.2026

Полезно смотреть не на абсолютные числа, а на скорость: 24 тысячи звёзд за 13 дней — это уровень хайпа вокруг релиза, а не подтверждённая надёжность. Для сравнения, vLLM собирал свои 95 тысяч больше трёх лет. Вывод простой: DeepInfer интересен как способ выжать максимум из V4.1-Flash, а не как замена универсальному движку.

02Кому он реально доступен: железо и версии

Здесь начинается самое неприятное для читателя из России с одной видеокартой. В README список поддерживаемых ускорителей состоит из двух строк: NVIDIA SM100 и Huawei Ascend 950. Потребительские карты там не упомянуты вообще, и это не забывчивость: ядра написаны под конкретные инструкции датацентровых чипов.

ПараметрТребованиеКомментарий
ОСLinuxWindows и macOS не заявлены
УскорительNVIDIA SM100 или Huawei Ascend 950потребительских карт в списке нет
Python3.12 (пустое окружение)другие версии не тестировались
КомпиляторGCC 13.0 или новеенужен для сборки ядер
CUDA13 (для NVIDIA)для Ascend — CANN 9.2
Переменная сборкиDEEPINFER_ACCELERATOR=nvidia или ascendдержать экспортированной при запуске
Сводка по разделу Getting started в README, снято 29.10.2026
Это не для домашнего ПК
Если у вас RTX 4090, RTX 5090 или MacBook — DeepInfer не ваш инструмент, и никакая сборка это не изменит: ядра собираются под SM100 и Ascend 950. Для локального запуска той же модели есть смысл смотреть на потребительские рантаймы вроде Strata, которые кладут часть весов на SSD, — им мы посвятили отдельный обзор. Ссылка в конце гайда.

Отдельно стоит сказать про вес модели. Репозиторий чекпойнта DeepSeek-V4.1-Flash-1017 на Hugging Face состоит из 55 файлов, из них 48 шардов .safetensors, и суммарно занимает 510,3 ГБ (475,3 GiB по метаданным HF API). Это смешанная точность, а не одна «половинная» копия: параметры в карточке разложены по BF16, F32, FP8 и I8.

Загрузки чекпойнта на 29.10.2026 — 116 770 при 3 646 лайках, дата публикации 17.10.2026, лицензия MIT. То есть вес открыт для коммерческого использования, вопрос только в железе: полтерабайта весов некуда положить, кроме серверного узла с быстрым NVMe.

03Сборка из исходников шаг за шагом

Порядок в README короткий и без сюрпризов: чистое окружение Python 3.12, экспорт платформы, ./build.sh. Важная деталь — переменную DEEPINFER_ACCELERATOR нужно держать экспортированной не только при сборке, но и при каждом запуске: по ней выбирается бэкенд ядер.

Пять команд до первого запуска
1
Клонировать репозиторий
Нужен git и около 510 ГБ свободного места под кэш чекпойнта — заложите диск заранее.
terminalcopy
git clone https://github.com/deepseek-ai/DeepInfer.git && cd DeepInfer
2
Создать пустое окружение Python 3.12
README требует именно пустое окружение, а не conda-base с сотней пакетов.
terminalcopy
python3.12 -m venv .venv && source .venv/bin/activate
3
Выбрать ускоритель и собрать
Для Ascend в переменной ставится ascend. Сборка тянет CUDA 13 и компилирует ядра TileLang.
terminalcopy
export DEEPINFER_ACCELERATOR=nvidia
./build.sh
4
Запустить офлайн-инференс
По умолчанию чекпойнт deepseek-ai/DeepSeek-V4.1-Flash-1017 скачается в кэш Hugging Face при первом запуске.
terminalcopy
python examples/offline_inference.py
5
Подставить локальную копию весов
Если качать в кэш не хочется — укажите путь к скачанному чекпойнту переменной окружения.
terminalcopy
export DEEPINFER_HF_MODEL_DIR=/models/DeepSeek-V4.1-Flash-1017
1ОкружениеLinux, Python 3.12, GCC 13+, CUDA 13 или CANN 9.22Сборка ядерbuild.sh под выбранный ускоритель: SM100 или Ascend 9503Загрузка весов510 ГБ чекпойнта в кэш HF или локальный каталог4Офлайн-инференсexamples/offline_inference.py: модель, семплер, structured outputСхема по разделу Getting started README; для полноценного сервиса не хватает KV-кэша и балансировки

Чего в инструкции нет, так это примера для нескольких узлов. Замеры авторов сняты на 4 ускорителях для prefill и 64 для decode, «в пределах одного scale-up домена», но как именно запускать такую конфигурацию, README не описывает — отсылает к examples/sweep/run_sweep.sh, который воспроизводит бенчмарк, а не разворачивает сервис.

04Что внутри: ядра, планировщик, флаги

Список возможностей в README читается как инвентаризация того, что обычно остаётся за закрытыми дверями. Здесь и оптимизированные ядра из открытых проектов DeepSeek (FlashMLA, DeepGEMM, DeepEP, TileKernels, DeepSelect, плюс собственные ядра TileLang), и планировщик батчей с перекрытием CPU-работы и работы устройства, и схемы параллелизма для attention и MoE.

Как устроен движок
Пример и APIexamples/offline_inference.py, SamplingParams: температура, seq_seed, structured outputвходПланировщикасинхронное планирование батчей, перекрытие CPU и устройства, опционально batch-invariantрасписаниеПараллелизмAttention DP и сбалансированный CP, MoE EP с EPLB-перебалансировкой экспертовмасштабЯдраFlashMLA, DeepGEMM, DeepEP, TileKernels, DeepSelect, TileLangматематикаУскорительNVIDIA SM100 или Huawei Ascend 950; другого бэкенда нетжелезо

Самая интересная часть — декодирование с черновыми токенами. Флаг DEEPINFER_ENABLE_MTP_VARLEN=1 включает DSpark и «верификацию по расписанию уверенности»: модель предлагает черновик, а система решает, сколько токенов проверять, исходя из оценки уверенности. Длина черновика ограничивается DEEPINFER_USE_NEXTN_DECODE, по умолчанию 5.

ФлагЧто делаетКогда трогать
DEEPINFER_ENABLE_MTP_VARLEN=1 включает DSpark и верификацию по уверенностикогда нужна максимальная скорость декодирования
DEEPINFER_USE_NEXTN_DECODEмакс. длина черновика, по умолчанию 5уменьшать при падении качества приёма
DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact включает SWA bounded replayдлинный контекст, экономия на prefill
DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140 — дефолт для V4.1если меняете окно SWA, пересчитайте
DEEPINFER_BATCH_INVARIANT=1 фиксирует результат независимо от состава батчавоспроизводимость, только NVIDIA
seq_seedфиксированное зерно в SamplingParamsдетерминированная генерация вместе с двумя флагами выше
Переменные окружения и параметры из README, снято 29.10.2026
Детерминированная генерация включается комбинацией: BATCH_INVARIANT=1, MTP_VARLEN=0 и фиксированный seq_seed. По отдельности они дают разный результат.

Для агентных сценариев важнее другая строка: structured outputs. Генерацию можно ограничить регулярным выражением, JSON-схемой или EBNF-грамматикой через so_args в SamplingParams. Это ровно то, что нужно, когда модель вызывает инструменты: без грамматики JSON-ответ ломается на длинных цепочках, и агент падает на парсинге. Пример лежит в examples/_structured_output.py.

05Замеры и чего в открытом релизе нет

Авторы публикуют два графика Парето — prefill (пропускная способность против задержки на некэшированном входе) и decode (выходная пропускная способность против скорости на пользователя). Условия указаны честно: 4 GPU SM100 для prefill и 64 для decode, в пределах одного scale-up домена, воспроизведение через examples/sweep/run_sweep.sh. Это не тест «на одной карте», и сравнивать эти цифры с домашними замерами нельзя.

Релиз неполный — и авторы это не скрывают
В README отдельным списком перечислено, чего в открытой версии нет: системы KV-кэша, разделения ролей VE/Prefill/Decode (disaggregation) и балансировки между data-parallel репликами. То есть движок инференса есть, а слоя, который делает из него отказоустойчивый сервис, — нет. Для офлайн-прогонов бенчмарка этого достаточно, для продакшена придётся дописывать.
Готовность к продакшену: оценка Qantcore
Ядра и инференс9,2Параллелизм и масштаб8,6Документация6,8Обвязка сервиса (KV-кэш, балансировка)3,5Охват железа2,4
Редакционная оценка по README и составу релиза, не бенчмарк. Ось «охват железа» низкая осознанно: два типа ускорителей.

Практический вывод для инженера: DeepInfer закрывает вопрос «как получить максимум токенов с SM100 на V4.1-Flash», но не закрывает «как поднять из этого API с кэшем и репликами». Если у вас уже есть vLLM-инфраструктура, честный путь — сравнить на своих промптах и оставить DeepInfer как эксперимент на отдельном узле, а не как замену всему стеку в первый же день.

06Кому брать, а кому пройти мимо

Брать имеет смысл в трёх случаях: у вас кластер на NVIDIA SM100 и задача — отдавать V4.1-Flash дешевле, чем на универсальном движке; вам нужен детерминированный вывод для регрессионных тестов агента; вам нужна грамматика на выходе модели и вы готовы жить без готового сервера. Во всех трёх случаях вы получаете исследовательский код уровня «почти прод».

Проходить мимо стоит, если железа меньше серверного, если нужен OpenAI-совместимый API «из коробки» (его тут нет), если нужны другие модели, и если нет человека, который умеет собирать CUDA-ядра и разбираться с падением сборки на GCC. Отдельно: 510 ГБ весов и требование NVMe — это статья расходов, а не строчка в инструкции.

  • Плюс: единственный публичный путь к продовым ядрам DeepSeek под V4.1-Flash.
  • Плюс: structured output и детерминированная генерация для агентных тестов.
  • Плюс: Apache 2.0 — коммерческое использование без отчислений.
  • Минус: только SM100 и Ascend 950, потребительские карты не поддержаны.
  • Минус: нет KV-кэша, disaggregation и балансировки реплик.
  • Минус: 13 дней от релиза, ни одного тега — обновления ломают сборку.
Если нужен результат сегодня, а не фреймворк
Возьмите потребительский рантайм с оффлоадом на SSD: Strata гоняет тот же DeepSeek-V4.1-Flash-1017 на RTX 5070 при 4–6 токенах в секунду, а Qwen3.8-Flash-Next там занимает 37–55 ГБ памяти вместо 239–274 ГБ на диске. Медленнее, чем на SM100, зато на железе, которое у вас есть. Разбор — в обзоре Strata по ссылке ниже.

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

DeepInfer заработает на RTX 4090 или RTX 5090?
Нет. В README поддерживаемыми ускорителями указаны только NVIDIA SM100 и Huawei Ascend 950, потребительские карты не заявлены. Ядра собираются под конкретную архитектуру, поэтому сборка на RTX либо не пройдёт, либо упадёт при запуске ядер. Для домашнего железа смотрите потребительские рантаймы с GGUF и оффлоадом.
Какие модели поддерживает DeepInfer?
Одну — DeepSeek-V4.1-Flash. По умолчанию скачивается чекпойнт deepseek-ai/DeepSeek-V4.1-Flash-1017 (публикация 17.10.2026, лицензия MIT). Других архитектур в списке нет, и это осознанное решение ради оптимизированных ядер.
Сколько нужно места на диске и памяти?
Чекпойнт в репозитории Hugging Face занимает 510,3 ГБ: 55 файлов, из них 48 шардов safetensors. Плюс место под кэш сборки. По видеопамяти README конкретных цифр не даёт — замеры сняты на 4 GPU для prefill и 64 для decode, то есть речь о кластере, а не об одной карте.
Можно ли использовать в продакшене?
Юридически да: Apache 2.0. Технически — с оговорками: в открытом релизе нет системы KV-кэша, разделения prefill/decode и балансировки между репликами, а тегов и релизов у репозитория пока нет. Как движок для офлайн-прогонов и экспериментов — да; как готовый сервис — придётся дописывать обвязку.
Что такое batch-invariant inference и зачем он нужен?
Режим, при котором результат модели не зависит от того, какие ещё запросы попали в тот же батч. Включается флагом DEEPINFER_BATCH_INVARIANT=1 и работает только на NVIDIA. Нужен для воспроизводимости: без него один и тот же промпт в разной нагрузке даёт разные ответы, и регрессионные тесты агента начинают «мигать».
Вердикт Qantcore
7,6/ 10
DeepInfer — не продукт для замены vLLM, а вынесенный наружу кусок продового стека DeepSeek. Он даёт то, чего нет у универсальных движков: ядра под конкретную модель, DSpark-декодирование, детерминированную генерацию и грамматики на выходе. Плата — два типа ускорителей, полтерабайта весов и отсутствие сервисной обвязки. Если у вас есть SM100 и задача гонять V4.1-Flash дешевле — смотреть стоит; во всех остальных случаях это интересное чтение, а не рабочий инструмент.

Источники и официальные ссылки

  • GitHub: deepseek-ai/DeepInfergithub.com/deepseek-ai/DeepInfer
    README, требования, флаги, замеры
  • README DeepInfer (raw)github.com/deepseek-ai/DeepInfer/blob/main/README.md
    первоисточник всех технических деталей
  • Чекпойнт DeepSeek-V4.1-Flash-1017huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017
    вес, лицензия, загрузки
  • vLLMgithub.com/vllm-project/vllm
    база, на которой построен движок
  • SGLanggithub.com/sgl-project/sglang
    источник идей по планировщику
Разобраться в инференсе моделей
Гайды по запуску моделей на своём железе и обзоры движков — в разделе гайдов Qantcore.