В мае 2026 antirez опубликовал ds4 (DwarfStar 4) — локальный inference-движок только под DeepSeek V4 Flash, набравший десятки тысяч звёзд на GitHub за считанные дни. Metal выводит prefill к сотням токенов в секунду; контекст на миллион токенов и KV на диске заложены в дизайн; API, совместимые с OpenAI и Anthropic, подключают Cursor, OpenCode и других coding-агентов. Большинство команд упираются не в make, а в 96–512 ГБ unified memory и пятизначные CapEx на железо. Статья для тех, кому нужен приватный inference без утечки промптов и репозиториев в чужие API. Разбираем границы ds4, матрицу железа и шестишаговый Runbook в связке с выделенными узлами Apple Silicon NUKCLOUD.
00Что такое ds4: одна модель, а не очередной GGUF-загрузчик
Локальный LLM-рынок переполнен: llama.cpp, Ollama, vLLM и десятки форков борются за звание «универсального загрузчика». ds4 сознательно сужает фокус — одно семейство моделей, один оптимизированный стек. На чистом C: собственный исполнитель графа, специализированная загрузка весов, рендер промптов, tool calling, состояние KV в RAM и на диске, плюс ds4-server как API-слой. Цель — на мощной рабочей станции или Mac Studio дать локальный опыт кодинга, сопоставимый с облачными Claude/GPT, без выноса трафика за периметр.
README в официальном репозитории недвусмыслен: ds4 не универсальный GGUF-runner и не обёртка над чужими фреймворками. На macOS производственный путь — Metal; CUDA закрывает Linux и DGX Spark; CPU-граф — для проверки корректности. На части версий macOS CPU-inference может спровоцировать сбои виртуальной памяти ядра — продакшен только на Metal или CUDA.
Для техлида меняется вопрос закупки. Не «грузится ли наш GGUF?», а «есть ли достаточно unified memory на Mac и готовы ли мы привязать веса, KV и семантику tool calling к ds4 и официальным векторам DeepSeek V4 Flash?» При «да» вы получаете сквозной аудируемый приватный inference-план. При «нет» остаётесь на универсальных загрузчиках — быстрее к эксперименту, слабее на специфике MoE.
БОЛЬЖелезный порог: софт готов, бюджет отстаёт
Бенчмарки сообщества и документация сходятся: узкое место — память, а не отсутствие движка. Таблица ниже обобщает официальные указания, замеры на Mac и типичные уровни квантования — точные цифры зависят от выбранного GGUF/imatrix:
| Цель | Квантование | Unified memory (мин.) | Типичное железо | Закупка (порядок) |
|---|---|---|---|---|
| DeepSeek V4 Flash | q2 / routing-эксперты 2-bit | 96 ГБ | MacBook Pro M3/M4/M5 Max | от ~400 000 ₽ / 4 000 EUR |
| DeepSeek V4 Flash | q4 и выше | 256 ГБ | Mac Studio Ultra | от ~800 000 ₽ / 8 000 EUR |
| DeepSeek V4 PRO | q2 | 512 ГБ | Mac Studio M3 Ultra (топ) | от ~1,5 млн ₽ / 15 000 EUR |
- CapEx одним чеком: одиночным разработчикам и командам до десяти человек трудно оправдать ноутбук 96 ГБ «просто попробовать локальный MoE».
- Риск неверной закупки: 64 ГБ кажутся много, но для Flash q2 мало; 96 ГБ часто не хватает для q4 или PRO — снова смена машины.
- Время развёртывания: даже с подходящим железом остаются сборка, сотни ГБ весов, каталоги KV и порты API — до стабильного loopback с Cursor часто несколько дней.
- Профиль нагрузки: inference кластеризуется вечером и в релизных окнах; днём железо простаивает. Собственный Mac редко обыгрывает почасовую аренду по реальной утилизации.
Реальный вопрос 2026 года: как получить производственную среду Metal + большой памяти при контролируемых затратах — а не «круче ли ds4, чем llama.cpp».
01Технические сильные стороны: Metal, длинный контекст, coding-агенты
Из официального репозитория и ранних замеров Mac/CUDA следуют причины интереса:
- Metal в приоритете: глубокая адаптация под GPU Apple; сообщество на M5 Max сообщает prefill около 463 t/s и генерацию около 34 t/s (зависит от квантования и контекста).
- Контекст на миллион токенов: окно порядка 1M токенов; вместе со сжатием KV DeepSeek V4 крупные репозитории и длинные документы становятся инженерно выполнимыми.
- KV на диске: состояние KV может жить на NVMe между сессиями — меньше повторного prefill в длинных coding-сессиях.
- 2-bit routing-эксперты: агрессивная квантизация роутера MoE, остальные слои точнее — Flash терпимее на классе 128 ГБ.
- API для агентов: tool calling, совместимость OpenAI/Anthropic,
ds4-serverкак приватная точка для Cursor и OpenCode.
02Почему Mac лидирует в consumer-сегменте: unified memory и SSD
Metal как главная цель — не маркетинг, а совпадение архитектуры и софта:
- Unified memory: CPU и GPU делят физическую RAM; веса 80+ ГБ без PCIe-копирования — паттерн, который x86 + дискретная GPU воспроизводит с трудом.
- Пропускная способность памяти: чипы M в SKU с высокой полосой дают сильный inference- throughput для prefill и длинных контекстов в consumer-классе.
- NVMe и disk-KV: ds4 опирается на быстрый локальный SSD для session-persistent KV; стек macOS и встроенные накопители этому соответствуют.
Коротко: Mac с большой памятью — лучшая consumer-форма для frontier open-source MoE сегодня. Linux и CUDA работают (DGX Spark и др.), но iOS/full-stack-команды в Xcode, Cursor и macOS чаще выигрывают от Mac с большой памятью в облаке или на столе, чем от второго Linux-inference-хоста.
ДАННЫЕПорядки величин для ревью (калибруйте своими замерами)
- Модель: DeepSeek V4 Flash около 284B MoE / 13B active (публичные оценки); ds4 фокусируется на Flash, PRO требует более высоких ступеней памяти.
- GitHub: ds4 после релиза превысил 10 000+ stars — сверяйте живой счётчик в репозитории.
- Полоса памяти: класс Mac Studio Ultra даёт unified bandwidth в сотнях ГБ/с — напрямую связано со стратегией «всё в UMA».
- Аренда vs покупка: ноутбук 96 ГБ — разовый четырёхзначный чек; при 40–80 часах концентрированного использования в месяц облачный Mac 128 ГБ по часам часто на порядок мягче для cash flow — см. страницу тарифов.
- Конфиденциальность: локальный или выделенный inference не отправляет промпты и код в сторонние API; для финансов, медицины и госсетей это структурное отличие от «только облачный API».
03Шесть шагов: от выбора памяти до Cursor
Runbook предполагает облачный Mac NUKCLOUD с 96 ГБ+ памяти — границы арендатора и SSH-baseline можно разделить с Runbook GitHub-агентов:
-
01
Память под модель: Flash q2 — минимум 96 ГБ; выше точность или PRO — планируйте 256 / 512 ГБ. Выберите SKU на странице заказа — избегайте «SSH есть, веса не влезают».
-
02
Зафиксировать baseline: задокументировать minor macOS, Xcode Command Line Tools, состояние Metal; квоту диска под веса + KV (часто сотни ГБ свободно).
-
03
Собрать ds4: клонировать
github.com/antirez/ds4,makeдля./ds4и./ds4-server; продакшен только Metal, без CPU-графа для постоянной нагрузки на macOS. -
04
Веса и KV: скачать пакеты Flash по README; пример:
./ds4-server --ctx 100000 --kv-disk-dir /var/ds4-kv --kv-disk-space-mb 8192(пути и квоты под инстанс). -
05
Подключить coding-инструменты: Base URL Cursor/OpenCode на loopback инстанса или SSH-туннель (напр.
http://127.0.0.1:8000); чувствительные репо только через VPN/private link, без публичного inference-порта. -
06
Стоимость и compliance: сравнить CapEx/OpEx «Mac Studio на площадке» vs почасовой облачный Mac; совместное использование с узлом CI Swift 6.
git clone https://github.com/antirez/ds4.git
cd ds4 && make
./ds4-server --ctx 100000 \
--kv-disk-dir /var/ds4-kv \
--kv-disk-space-mb 8192
04Сравнение: свой Mac, облачный Mac, чистый облачный API
| Измерение | Свой Mac 96 ГБ+ | Облачный Mac NUKCLOUD с большой памятью | API Claude / GPT |
|---|---|---|---|
| Входные затраты | высокий CapEx | низкий вход, почасово / помесячно | за токены |
| Путь данных | локально / LAN | выделенный инстанс, без API сторонней модели | код и prompt в облаке |
| Гибкость памяти | смена машины дорога | 96 → 128 → 512 ГБ сменой инстанса | нет понятия железа |
| ds4 / Metal | полный контроль | скриптовый baseline, login → build | не применимо |
| Шаринг в команде | физически или RDP | мультиаккаунт, регионы аудируемы | общий аккаунт |
| Доказательство compliance | свои политики | арендатор, SSH, регион документируемы | DPA вендора |
Когда нужны и приватность уровня «локально», и отказ от предоплаты Mac на шесть цифр, облачный Mac с большой памятью часто оптимален: ds4 + Metal, провижининг как из консоли.
05Частые вопросы
ds4-server часто ощущается как loopback. Узкое место — RTT и полоса сети.