2026: запускаем DeepSeek V4 Flash локально на antirez ds4 — реальные требования к Mac 96 / 128 / 256 / 512 ГБ и матрица решений по аренде облачных Mac-нод

Новый стек antirez · Счёт по Unified Memory · Трёхуровневая матрица аренды · Чек-лист запуска ds4-server

Рендер Apple Silicon — движок ds4 и локальный инференс DeepSeek V4 Flash

Автор Redis antirez за пару недель написал на C движок ds4 (DwarfStar 4), благодаря которому DeepSeek V4 Flash впервые реально пошёл на одном Mac. Цена входа высока: 96 ГБ Unified Memory — нижний порог, серьёзная работа начинается с 256 ГБ, зона комфорта — 512 ГБ. Прайс — от примерно 4 000 до более 14 000 долларов. Статья даёт независимым разработчикам, AI-исследователям и небольшим командам три вещи. Во-первых, честный счёт по железу для ds4 и Flash, с поправкой на распространённое заблуждение «PRO заведётся на 512 ГБ Mac». Во-вторых, матрицу решений для облачных Mac-нод 96 / 128 / 256 / 512 ГБ и черновик TCO на три года. В-третьих, минимально жизнеспособный чек-лист поднятия ds4 на ноде VpsMesh с интеграцией Cursor и opencode.

01

Что такое ds4: почему antirez не стал писать ещё один универсальный GGUF-раннер

ds4 — сокращение от DwarfStar 4. Автор — Salvatore Sanfilippo (antirez), создатель Redis. Это не обёртка над llama.cpp, не универсальный GGUF-загрузчик и не очередной веб-интерфейс. Это нативный движок инференса, заточенный под одну модель — DeepSeek V4 Flash. Основные бэкенды — Metal на macOS и CUDA на Linux, включая DGX Spark. AMD ROCm живёт в отдельной ветке. Эта сознательная узость и стала причиной того, что ds4 за дни набрал десятки тысяч звёзд на GitHub и показывает цифры, недоступные универсальным раннерам.

Узкий фокус даёт ощутимые выгоды. ds4 целиком контролирует MoE-роутинг DeepSeek V4 и применяет агрессивную 2-битную квантизацию к маршрутизирующим экспертам, оставляя остальную часть графа на более высокой точности. Контекст в 1 млн токенов рассматривается как полноценный сценарий: KV-кеш по необходимости сбрасывается на диск, поэтому prefill не пересчитывается на каждой сессии. Цикл tool calling и coding-агент встроены в сам движок, а не подвешены сверху как отдельный фреймворк. Ниже — основные дизайн-решения.

  1. 01

    Одна модель — но доведена до предела. README прямо говорит: ds4 — не GGUF-раннер, не обёртка, не фреймворк. Каждый путь выполнения графа подогнан под MoE-структуру DeepSeek V4 Flash, поэтому маршрутизирующих экспертов можно квантизовать жёстко, а остальную сеть оставить точной. Универсальные раннеры этого почти не делают из соображений совместимости.

  2. 02

    Metal — первый, CUDA — параллельно, CPU — только для диагностики. На macOS Metal-бэкенд собирается обычным make. На Linux работают make cuda-spark и make cuda-generic. README предупреждает: текущая реализация виртуальной памяти macOS может уронить ядро на CPU-пути, поэтому на Mac инференс без Metal делать нельзя.

  3. 03

    KV-кеш на диске встроен изначально. При запуске ds4-server передаются флаги --kv-disk-dir и --kv-disk-space-mb. KV-состояние сохраняется в указанный каталог и переиспользуется между сессиями. В связке с внутренним SSD Mac это превращает миллионнотокенный контекст из постоянного налога в возвращаемые издержки.

  4. 04

    OpenAI-совместимый сервер и агент в коробке. ds4-server отдаёт /v1/chat/completions, поэтому Cursor, opencode, Claude Code и любой клиент с OpenAI-протоколом подключаются напрямую. Tool calling реализован нативно — coding-агент собирается без внешнего фреймворка.

  5. 05

    Маленький размер — значит, аудируемо. Проект самодостаточен и не тянет сторонний runtime. Кодовая база небольшая, и команда может реально проверить граф выполнения и решения по квантизации. Для тех, кто крутит большие модели в проде, это плюс.

Как только принимаешь, что ds4 по дизайну только под Flash, следующий раздел становится логичным продолжением. Расхожее утверждение «PRO заведётся на 512 ГБ Mac Studio» приходится прямо поправлять, и не один раз.

02

Реальный счёт по железу: сравнение 96 / 128 / 256 / 512 ГБ и почему «PRO на 512 ГБ» — миф

Начнём со спецификаций. DeepSeek V4 Flash — это MoE на 284 млрд параметров и 13 млрд активаций на токен. Веса в BF16 занимают около 570 ГБ. Q4-квантизация даёт файл порядка 150 ГБ. Вариант q2 от antirez занимает около 86,7 ГБ. Поэтому 96 ГБ — нижний порог, при котором модель вообще грузится, а 128 ГБ — реалистичный лабораторный минимум по консенсусу сообщества. DeepSeek V4 PRO — другая весовая категория: 1,65 трлн параметров и 49 млрд активаций, около 3,2 ТБ в BF16 и около 800 ГБ даже в Q4. Это не помещается ни в один Mac на 512 ГБ Unified Memory, и основная ветка ds4 на PRO не нацелена.

Unified MemoryТипичный Mac / прайсЧто тянет ds4Опорная скоростьПрактическая роль
96 ГБMacBook Pro M3/M4/M5 Max топ-спека, от ~4 000 USDпорог Flash q2q2 только на коротких промптахгрузится; swap приходит уже на средних контекстах
128 ГБMacBook Pro M3 Max макс-спека или Mac Studio M2 Max, ~5 000–6 500 USDлабораторный минимум Flash q2q2 prefill ~58,5 t/s, генерация ~26,7 t/s на коротком промпте; ~250 t/s prefill на 11,7 тыс. токеновпринятый сообществом порог; q2 можно держать постоянно
256 ГБMac Studio M2 Ultra или M3 Ultra средней комплектации, ~7 500–10 000 USDFlash q4 в продеq4 на коротких промптах идёт ровно; средние контексты не вызывают принудительный swapпервая серьёзная цель для Flash
512 ГБMac Studio M3 Ultra топ-спека, от ~14 000 USDFlash q4 + комфорт на длинных контекстахq4 короткий: prefill ~79 t/s, генерация ~35,5 t/s; q4 длинный (~12 тыс. токенов): prefill ~449 t/s, генерация ~26,6 t/sдлинный контекст и резидентный coding-агент; PRO всё равно не входит

Три нюанса заслуживают отдельной фразы. Уместить веса — не то же, что плавно генерировать. KV-кеш, окно контекста и сторонние процессы могут съесть ещё десятки гигабайт. На 96 ГБ swap почти гарантированно появляется после ~100 тыс. токенов. Разница между q2 и q4 не линейна: на 512 ГБ Mac Studio q2 на коротком промпте чуть-чуть обходит q4 в prefill (около 84 t/s против 79 t/s), но q4 выигрывает на длинных контекстах и качестве tool calling. DGX Spark GB10 со 128 ГБ под CUDA выдаёт ~344 t/s prefill на 7 тыс. токенов q2, но генерация — лишь ~13,7 t/s, что подтверждает: у Mac с Unified Memory остаётся явный sweet spot на сценариях «одна машина — длинный контекст».

ds4 опускает порог локального запуска DeepSeek V4 Flash до 96 ГБ, но граница комфорта по-прежнему 256–512 ГБ. Реальная стоимость измеряется загрузкой машины на горизонте проекта.

03

Почему именно Mac: Unified Memory, пропускная способность и сродство с KV на диске

ds4 ставит Metal первым по инженерным причинам, а не из эстетики. Apple Silicon Unified Memory (UMA) делит один пул между CPU и GPU. Нет PCIe-рейса, по которому тензоры мотаются между VRAM и системной памятью. Для MoE-модели вроде Flash, где на каждый токен активируется лишь часть экспертов, UMA позволяет подтягивать нужные веса из общего пула без упирания в потолок видеопамяти. На потребительских ценах ни одна другая платформа не даёт 96 ГБ снизу и 512 ГБ сверху в качестве эффективной памяти для инференса.

Второй фактор — пропускная способность памяти. M3 Max — около 400 ГБ/с, M3 Ultra — около 800 ГБ/с. Именно она позволяет ds4 выдавать ~449 t/s prefill на длинном промпте на Mac Studio M3 Ultra. Полоса определяет, насколько быстро движок читает веса — это доминирующее узкое место MoE-инференса. На Mac полоса едина и не нарезана между несколькими дискретными GPU.

Третий фактор часто упускают. Современные внутренние NVMe-SSD в Mac отлично сочетаются с дисковым KV-кешом ds4. ds4-server пишет KV-состояние в каталог из --kv-disk-dir и ограничивает занятое место через --kv-disk-space-mb. При возобновлении той же сессии экономятся секунды и минуты prefill. Внутренние SSD Apple дают 5–7 ГБ/с последовательно, и «слить KV на диск и быстро поднять обратно» дешевле, чем платить RAM за каждую параллельную сессию.

i

Совет: направляйте --kv-disk-dir на внутренний SSD. Внешние USB-C-диски часто дают треть случайных операций — и тогда reload KV становится новым узким местом. Внешние накопители удобны под холодные снапшоты прошлых сессий.

Если сложить эти три фактора, вывод однозначный. На потребительском железе 2026 года под связку «DeepSeek V4 Flash + ds4 + длинный контекст + дисковый KV» нет более подходящей платформы, чем Mac с большим Unified Memory. Остаётся вопрос денег и загрузки: можно ли позволить себе Mac на 256 или 512 ГБ и реально его выкатать на горизонте проекта.

04

Когда покупка проигрывает аренде: матрица решений и TCO на три года

Если наложить счёт по железу на реальный проектный цикл, вывод трудно обойти: большинство разработчиков не загружают 512 ГБ Mac Studio постоянно. Ранний research спокойно живёт на 128 ГБ Flash q2. Продуктовая фаза переходит на 256 ГБ в q4. Резидентный coding-агент с длинным контекстом требует уже 512 ГБ. Эта лесенка идеально ложится на облачные Mac-ноды; купленная машина запирает вас на одной ступеньке.

Типовая рольОсновной уровеньЧастота сменыПокупка топ-Mac Studio, TCO 3 годаАренда облачной Mac-ноды, TCO 3 года
Независимый разработчик / исследователь (до 20 часов/неделю)в основном 128 ГБ Flash q2, иногда 256 ГБредкие апгрейды256 ГБ Mac Studio ~7 500 USD; с амортизацией ~6 500+ USD за 3 годанеделями 128 ГБ + квартально 256 ГБ; ~2 300–3 800 USD за 3 года
Небольшой AI-стартап (30–60 часов/неделю, мультипроект)в основном 256 ГБ Flash q4, изредка 512 ГБ длинный контекстеженедельные смены512 ГБ Mac Studio ~14 000 USD; ~12 000+ USD за 3 годапомесячно 256 ГБ резидент + 512 ГБ под burst; ~5 700–9 000 USD за 3 года
Интенсивный пользователь coding-агента (60+ часов/неделю)в основном 512 ГБ Flash q4 длинный контекстбез сментоп-Mac Studio окупается лучше всегопомесячная долгосрочная аренда 512 ГБ; разница в цене сужается, остаются гибкость и отсутствие эксплуатации
Мульти-региональная команда (близко к пользователям)128–256 ГБ на регионпараллельно по регионамнесколько машин = дублирование расходов, сложно сопровождатьоткрытие нод по регионам по требованию; смена региона = заказ, а не логистика

Главный вывод таблицы прост. Покупка топ-Mac Studio выгодна только при «постоянной загрузке уровня 512 ГБ круглый год», до такой интенсивности доходят немногие. Реалистичный сценарий — сначала через облачные ноды нащупать свой реальный уровень, а уже потом решать, стоит ли привязываться к физической машине. Часто к концу этой проверки облачная нода и оказывается окончательным ответом.

!

Важно: скрытые издержки покупки далеко не ограничиваются ценником: электричество, охлаждение, бэкап-диски, ремонт после окончания гарантии и, главное, две-три ближайшие смены поколений Apple Silicon внутри трёхлетнего горизонта. Сегодняшний топ через три года станет «средним»; облачная нода переносит эту кривую амортизации на провайдера.

05

Минимально жизнеспособный чек-лист поднятия ds4 на облачной Mac-ноде VpsMesh и интеграция с Cursor

Шесть шагов ниже сводят всю теорию в воспроизводимый Runbook. Базовая платформа — облачная Mac-нода VpsMesh, минимум 128 ГБ, рекомендованно 256 ГБ, для комфортного длинного контекста — 512 ГБ. У каждого шага есть чёткий критерий pass/fail, и его можно использовать командой как есть.

  1. 01

    Собрать ds4 с Metal-бэкендом. git clone https://github.com/antirez/ds4 && cd ds4 && make. На выходе ./ds4 (CLI) и ./ds4-server (HTTP). Pass: оба бинаря существуют, ./ds4 --help выводит справку. На macOS не запускайте make cpu — CPU-путь может ронять ядро.

  2. 02

    Smoke-тест Metal. Запустите ./ds4 -p "Hello" --metal с очень коротким промптом, чтобы убедиться, что устройство захвачено и базовый граф работает. На ноде от 128 ГБ дальше уже можно грузить веса Flash q2. Pass: нет ошибки «Metal device not available», нет OOM.

  3. 03

    Скачать и проверить веса DeepSeek V4 Flash q2 / q4. Источник GGUF — из проекта ds4; q2 ~86,7 ГБ, q4 ~150 ГБ. Обязательно сверьте SHA256. Веса и KV разносите по разным томам: веса на большой диск данных (≥ 500 ГБ свободно), KV — на внутренний SSD Mac. Pass: контрольная сумма совпадает, df -h показывает не меньше 100 ГБ запаса.

  4. 04

    Запустить ds4-server с дисковым KV. Пример: ./ds4-server --ctx 200000 --kv-disk-dir /Volumes/ssd-kv/ds4-kv --kv-disk-space-mb 16384 --bind 127.0.0.1:8080. Начинайте с окна 200 тыс., а не 1 млн, чтобы избежать давления на память на старте. Pass: лог запуска показывает готовность Metal и пишущийся каталог KV; curl http://127.0.0.1:8080/v1/models отдаёт JSON.

  5. 05

    Подключить Cursor, opencode или Claude Code. Направьте base URL клиента на ds4-server через SSH-туннель, который пробрасывает удалённый 8080 на локальный 127.0.0.1:8080. 8080 нельзя выставлять на 0.0.0.0. Задайте Authorization по параметрам запуска и имя модели по текущей документации ds4. Pass: короткий streaming-запрос к /v1/chat/completions возвращает 200 OK.

  6. 06

    Поднять наблюдаемость и правило отката. Память и диск следите через vm_stat, memory_pressure и iostat. Триггеры: устойчиво высокий swap, prefill падает ниже 50% от базового, или каталог KV превысил 80% от --kv-disk-space-mb — переключайтесь на облачное API (OpenAI, Anthropic или официальный DeepSeek). Pass: путь отката возвращает сравнимый результат на тех же входных данных.

bash
ssh -L 8080:127.0.0.1:8080 vpsmesh-mac-node \
  './ds4-server \
     --ctx 200000 \
     --kv-disk-dir /Volumes/ssd-kv/ds4-kv \
     --kv-disk-space-mb 16384 \
     --bind 127.0.0.1:8080'

curl -sS http://127.0.0.1:8080/v1/chat/completions \
  -H "Authorization: Bearer $DS4_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-flash-q4","messages":[{"role":"user","content":"hello"}],"stream":false}' \
  | jq .

Три жёстких ориентира, которые стоит вклеить в team README:

  • База по пропускной способности. На 512 ГБ Mac Studio M3 Ultra q4 на длинном промпте даёт ~449 t/s prefill и ~26,6 t/s генерации; на 128 ГБ MacBook Pro M3 Max q2 на длинном промпте — ~250 t/s prefill и ~21,5 t/s генерации. Используйте их как точки здоровья ноды.
  • Бюджет памяти. Веса q2 ~86,7 ГБ + KV на 200 тыс. токенов ~8–14 ГБ + система ~8 ГБ ≈ порядка 110 ГБ старта. Поэтому нода на 96 ГБ годится только под короткие контексты, 128 ГБ — реальный лабораторный порог, и лишь 256 ГБ дают запас под KV и параллельные сессии.
  • Размер дискового KV. Стартуйте --kv-disk-space-mb с 16 ГБ и закладывайте ~1–3 ГБ на одну длинную сессию. Используйте внутренний SSD; внешний накопитель сделает reload KV новым узким местом.

Если вы выбираете между покупкой 256/512 ГБ Mac Studio и арендой облачного Mac под ds4, заведите в сравнение два пункта, которые обычно не попадают в спецификации. Первый — скрытый счёт физической машины: электричество, шум, охлаждение, ремонт после окончания гарантии и две-три ближайшие смены поколений Apple Silicon в горизонте трёх лет. Второй — нагрузка self-hosting: держать ds4-server демоном через перезагрузки, следить за уровнем KV-диска, поддерживать самовосстановление линка с Cursor или opencode. Ничто из этого не «работа, ради которой вы пришли». Для независимых разработчиков, исследователей и небольших команд, которые предпочитают тратить время на модели и код, а не на администрирование железа, ноды VpsMesh с большим Unified Memory — переключаемые между 96 / 128 / 256 / 512 ГБ по требованию — обычно оказываются более реалистичным и более экономичным выбором. Начните с недели на 128 ГБ для проверки совместимости с Flash q2, затем месяц на 256 ГБ, чтобы вывести Cursor и coding-агента в комфортный режим, и только потом решайте, нужен ли вам резидентный узел на 512 ГБ. Этот лестничный путь куда менее рискован, чем разовый покупкой топового Mac Studio за деньги небольшого автомобиля.

FAQ

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

Нет. Основная ветка ds4 целится только в DeepSeek V4 Flash. Flash — 284 млрд параметров и 13 млрд активаций на токен. PRO — 1,65 трлн параметров и 49 млрд активаций, около 3,2 ТБ в BF16 и около 800 ГБ в Q4. Это не помещается ни в один Mac на 512 ГБ и выходит за рамки ds4 и однокорпусных Mac-конфигураций; PRO потребует мульти-GPU-кластера. Для Flash смотрите страницу цен VpsMesh и выбирайте ноду от 128 ГБ.

Это нижний порог, при котором q2 вообще загружается, не зона комфорта. Длинные контексты и параллельные запросы быстро вызывают swap, особенно после 100 тыс. токенов. 128 ГБ — реалистичный лабораторный минимум, 256 ГБ — первая серьёзная цель, где q4 на средних контекстах не уходит в swap, а 512 ГБ — зона комфорта для длинных контекстов и резидентного coding-агента. Если задача — только проверить осуществимость, аренда 128 ГБ-ноды на две недели обходится дешевле, чем покупка 96 ГБ ноутбука.

Простое правило: только если уровень 512 ГБ стабильно загружен не меньше 30 часов в неделю и минимум два года. При меньшей интенсивности аренда выигрывает, как только учтены электричество, амортизация и две-три ближайшие смены поколений Apple Silicon. Планирование ёмкости описано в центре помощи VpsMesh, а пробную ноду под реальную нагрузку удобно открыть прямо на странице оформления заказа.

Да. ds4-server отдаёт /v1/chat/completions и совместим с протоколом OpenAI. Направьте base URL клиента на сервер, выставьте токен и окно контекста по параметрам запуска. В проде обязательно биндите ds4-server на 127.0.0.1 и обращайтесь через SSH-туннель или приватную сеть; никогда не выставляйте порт на 0.0.0.0. Шаблон SSH-туннеля и условия отката приведены в разделе 05.