Создатель Redis antirez (Salvatore Sanfilippo) за неделю написал около тысячи строк чистого C — ds4 (DwarfStar 4). Это первый случай, когда DeepSeek V4 Flash по-настоящему запускается локально на Mac. За три недели репозиторий собрал 11 500+ звёзд и 30 контрибьюторов. Но порог железа столь же реален: 96 ГБ унифицированной памяти — нижний предел, 128 ГБ — рабочая точка комфорта. По линейке Mac Studio это диапазон от 400 тыс. ₽ до 1,2 млн ₽. Статья не повторяет README. Она отвечает на три вопроса: почему ds4 — не очередной обёрточник вокруг llama.cpp, почему UMA Apple Silicon принудительно ставит Metal на первое место, и как сегодня запустить ds4 без покупки топового Mac, арендовав удалённый Mac-узел с большой памятью.
ds4 опубликован 06.05.2026. За три недели он собрал 11 500+ звёзд и 30 контрибьюторов, чистый C под MIT. Мало кто, кто следит за локальным инференсом, прошёл мимо. Но реально собрали, загрузили GGUF и подняли сервер — значительно меньше людей. Причина прозаична: ds4 поднимает планку так, что большинство Mac не проходят. Ниже шесть препятствий, на которые натыкается практически каждый, кто захочет попробовать ds4.
MacBook Pro в базе по памяти не тянет. 14"/16" стандартно 16/24/36 ГБ. Туда даже 81 ГБ q2-весов не помещается.
Апгрейд RAM недёшев. Переход с 64 ГБ на 96 или 128 ГБ требует топового M3/M4/M5 Max. Разница оплаты — шестизначная.
Mac Studio не «попутно». 128 ГБ Mac Studio — от 400 тыс. ₽; для попытки V4 Pro на 512 ГБ — за 1,2 млн ₽. Для независимого разработчика обоснование натянутое.
Windows/Linux-станции — обход. Consumer-GPU c 24/32 ГБ VRAM не несут рабочий набор. DGX Spark-классы тянут свою стоимость и эксплуатацию.
Один топовый Mac в команде — мука. Постоянно работающий ds4-server съедает почти всю память. Многопользовательский режим вырождается в очередь и кросс-загрязнение состояний сессий.
Через полгода модель уже сменится. Сам автор называет ds4 alpha; DeepSeek V4 Flash — preview. Покупать Mac за 1,2 млн ₽ под «попробовать новую модель» — существенный амортизационный риск.
Сложив эти шесть пунктов, получаем чёткий вывод: софт готов, железо не догоняет. ds4 перевёл «DeepSeek V4 Flash локально на Mac» из «нельзя» в «можно». Между «можно» и «можно всем» стоит ровно один счёт за Mac Studio.
Понимание границ ds4 не менее важно, чем понимание его возможностей. antirez в README пишет прямо: это не универсальный GGUF-runner, не обёртка над другим рантаймом, не фреймворк. ds4 делает одно — корректно и быстро гоняет DeepSeek V4 Flash на Metal и CUDA — и доводит это до предела. Таблица ниже ставит ds4 рядом с привычными инструментами локального инференса.
| Инструмент | Охват моделей | Лучший сценарий | Ключевое ограничение |
|---|---|---|---|
| ds4 (DwarfStar 4) | Только DeepSeek V4 Flash | Выжать максимум скорости V4 Flash на Mac, длительная работа с кодинг-агентом | Моно-модель, alpha-качество, обязательны 96–128 ГБ |
| llama.cpp | Почти все семейства GGUF | Каждую неделю менять модель, широкая переносимость | Нет V4 Flash-специфичного пути и сравнимой персистентности KV |
| Ollama | Популярные GGUF, pull в одну строку | Командная локальная модель за чистым API | Компромисс по скорости и контролю; длинный контекст неоднороден |
| vLLM / SGLang | Большинство весов HuggingFace | Облачный multi-GPU сервинг, общий endpoint | Один Mac не основная цель |
| Облачный API (DeepSeek и др.) | Полная точность V4 Flash / Pro | Забыть про железо, целиться в максимум качества | Данные уходят с машины; длинные сессии тарифицируются с учётом prefill |
У ds4 три реальных инженерных выбора. Первый — специализированный исполнитель графа под тензорный layout, токенизатор и MoE-маршрутизацию V4 Flash: быстрее любого универсального runner. Второй — асимметричная 2-битная квантизация: агрессивная низкая точность там, где слои терпимы к шуму (маршрутизируемые MoE-эксперты: gate в IQ2_XXS, down в Q2_K), и более высокая точность на критическом пути. В результате 81 ГБ q2 умещаются в 128 ГБ UMA и стабильно вызывают инструменты. Третий — дисковый KV-кэш, индексируемый SHA1 от последовательностей token IDs: переживает смену сессий и рестарты сервера. Дорогой первый prefill в 25k токенов оплачивается ровно один раз.
ds4 превращает «V4 Flash на Mac» из лозунга в инженерный путь: не делать ничего другого и довести этот путь до предела Apple Silicon и CUDA.
Порядок backends в ds4 намеренный: Metal первый, CUDA следом (с особым акцентом на DGX Spark и GB10), ROCm только в отдельной ветке, CPU — исключительно проверка корректности. Этот порядок напрямую завязан на унифицированную архитектуру памяти (UMA, Unified Memory Architecture) Apple Silicon.
На Mac CPU и GPU делят одну физическую память. Загрузка 81-гигабайтного GGUF не требует копирования «host → device»: тензоры читаются GPU напрямую. Активации, состояние KV и буферы токенизатора живут в одном адресном пространстве, и Metal-ядра работают с ними на месте. Для ds4 — MoE-движка, который на каждом токене бьёт по большому разрежённому пулу весов экспертов, — устранение копирования прямо снижает нижнюю границу задержки инференса.
Дискретные GPU здесь не дотягивают. Consumer-карта на 32 ГБ просто не содержит рабочий набор; H100 на 80 ГБ означает датацентровое шасси с соответствующим охлаждением — в форм-фактор «Mac на столе» это не воспроизвести. Поэтому antirez ставит Metal первым и концентрирует CUDA-оптимизацию на DGX Spark / GB10 — NVIDIA-платформах с унифицированной памятью. Цель — не очередной фреймворк инференса, а полностью выжать единственную потребительскую форму, где GPU напрямую трогает большой объём памяти.
# На Mac Apple Silicon (96/128 ГБ UMA): собрать и запустить ds4 с нуля
git clone https://github.com/antirez/ds4.git
cd ds4
make # По умолчанию backend Metal
# Скачать GGUF q2-imatrix V4 Flash (~81 ГБ в ./gguf/)
./download_model.sh q2-imatrix
# Запуск сервера: контекст 100k + 8 ГБ дискового KV-кэша
./ds4-server --ctx 100000 \
--kv-disk-dir /tmp/ds4-kv \
--kv-disk-space-mb 8192
# Слушает http://127.0.0.1:8000/v1/chat/completions (OpenAI-совместимо)
После запуска направьте OpenAI base URL вашего кодинг-агента (Claude Code, Cursor, opencode) на http://127.0.0.1:8000/v1. Получаете полностью офлайн V4 Flash endpoint, граница прав остаётся на машине.
Перед покупкой или арендой пересчитайте память ds4 трезво. q2-GGUF занимает на диске около 81 ГБ. С учётом загруженных весов, активаций, токенизатора и буферов Metal 96 ГБ UMA — задокументированный нижний предел; в сообществе встречаются запуски с контекстом до 250k. 128 ГБ — то, что фактически рекомендует antirez. Если стремиться к контексту 1M токенов (потолок серии V4), только индексеру нужно около 22 ГБ, в сумме примерно 26 ГБ дополнительно. В 128 ГБ становится тесно. Практический комфорт на 128 ГБ — 100–300k токенов.
| Форм-фактор | Унифицированная память | ds4 (V4 Flash q2)? | Практичный контекст |
|---|---|---|---|
| MacBook Pro стандарт (16–36 ГБ) | 16 / 24 / 36 ГБ | Нет, веса не помещаются | — |
| MacBook Pro средний (48–64 ГБ) | 48 / 64 ГБ | Нет, веса полностью съедают память | — |
| MacBook Pro M3/M4/M5 Max 96 ГБ | 96 ГБ | Едва, нужно закрыть другие тяжёлые процессы | Сообщество — до ~250k |
| Mac Studio / MacBook Pro 128 ГБ | 128 ГБ | Комфортно, остаётся запас для редактора и агента | Стабильно 100–300k |
| Mac Studio M3 Ultra 256 ГБ+ | 256 ГБ+ | С запасом, длинные сессии + персистентный KV | Возможен подход к 1M токенов |
| Mac Studio M3 Ultra 512 ГБ (попытка V4 Pro) | 512 ГБ | Не поддерживается — ds4 только Flash | — |
Совет: дисковый KV-кэш раскрывается, когда --kv-disk-dir указывает на встроенный SSD Mac. Смена сессии, рестарт сервера и переиспользование на следующий день экономят тысячи токенов prefill — это самое глубокое отличие UX от универсального инференс-сервера.
Внимание: README прямо предупреждает: текущие версии macOS падают по ядру на CPU-пути из-за реализации виртуальной памяти. Используйте backend Metal; никогда не собирайте под macOS командой make cpu. Поэтому в роадмапе ds4 нет CPU fallback для Apple Silicon.
Числа ниже взяты из README ds4, карточки модели DeepSeek-V4-Flash на Hugging Face и сообщений сообщества. Они отвечают на один вопрос: «сколько именно не хватает моему Mac?»
Перевод чисел в решение прост. Покупка топового Mac Studio работоспособна, но дорога: 750 тыс. – 1,2 млн ₽ зафиксированы под alpha-движок и preview-модель. Облачный API даёт полную точность, но данные покидают вашу машину, а длинные сессии тарифицируются вместе с prefill; агент и граница прав уходят из ваших рук. Тем, кто хочет реальной локальности ds4 + V4 Flash и не готов ставить бюджет на Mac с непредсказуемой остаточной стоимостью, обычно подходит аренда Mac Mini у NodeMini в облаке: SSH-доступ сразу, остановка по требованию, данные в выделенном экземпляре. Спецификации и тарифы — на странице цен, детали биллинга — в SLA и обязательства.
Ниже — кратчайший путь от «у меня нет топового Mac» до «OpenAI-совместимый endpoint V4 Flash у меня на столе». Каждый шаг адресует обсуждённое выше ограничение. End-to-end меньше двух часов.
Считайте спецификацию от 128 ГБ. 2-битные веса + ~100k контекста нужны 128 ГБ для комфорта. Под близкий к 1M контекст берите 256 ГБ+. Экономить на 96 ГБ нельзя: IDE, агент и браузер одновременно «уронят» систему.
Поднимите Mac-узел с большой памятью у NodeMini. На странице заказа выберите память, регион и срок. Провижининг за секунды, доставка SSH-пары — подключение через ssh user@host.
На узле клонирование, зависимости, сборка. git clone https://github.com/antirez/ds4.git && cd ds4 && make. На Apple Silicon Metal — по умолчанию. Под macOS никогда не используйте make cpu — README прямо предупреждает о крахе ядра.
Скачайте q2-imatrix GGUF и настройте дисковый KV-кэш. Через прилагаемый download_model.sh возьмите q2 / q2-imatrix / q4. --kv-disk-dir укажите на фиксированный путь на встроенном SSD, --kv-disk-space-mb поставьте 8–32 ГБ, чтобы дисковый кэш действительно работал.
Подключите ds4-server к кодинг-агенту. Запустите ./ds4-server --ctx 200000 --kv-disk-dir ... --kv-disk-space-mb 16384. Base URL OpenAI у Claude Code, Cursor или opencode направьте на http://127.0.0.1:8000/v1 через SSH-проброс порта; публично порт не открывайте. Протоколы инструментов OpenAI и Anthropic ds4 поддерживает нативно.
Зафиксируйте топологию доступа. SSH-ключи + приватный туннель типа Tailscale превращают узел в zero-trust endpoint. Когда узел простаивает — гасите, биллинг останавливается. Для постоянной работы — launchd-юнит с автозапуском, в связке с персистентным KV-кэшем «продолжить с того же места завтра» становится тривиальным.
После шести шагов сравнение с покупкой Mac Studio высвечивает три реальных ограничения: амортизация привязана к alpha-движку и preview-модели; длительный ds4 на личной машине конкурирует за память с повседневной работой; общий топовый Mac в команде вырождается в очередь. Тем, кто хочет ds4 + V4 Flash как часть ежедневного инструментария и при этом распределять амортизационный риск по требованию, обычно лучше подходит аренда Mac Mini у NodeMini в облаке. Это согласуется с расчётами трёхлетнего TCO и сценариями 24/7 автоматизации в облачном Mac. Подробности доступа — в справочном центре.
Сейчас нет. ds4 заточен под DeepSeek V4 Flash (284 B всего, 13 B активных). Pro — MoE 1,6 T / 49 B активных; даже после квантизации он не помещается в UMA актуальных Mac. Pro остаётся облачным (vLLM / SGLang).
96 ГБ — задокументированный нижний предел. Сообщество запускает 2-битную квантизацию на 96 ГБ, иногда с контекстом до 250k. Для повседневной работы с редактором и агентом antirez рекомендует 128 ГБ. К 1M токенов добавьте около 26 ГБ. Безопасный выбор — узел на 256 ГБ+; см. страницу цен.
Арендуйте Mac-узел с большой памятью у NodeMini. SSH-вход, git clone, make, загрузка GGUF, ./ds4-server — меньше двух часов end-to-end. Доступ — в справочном центре, паттерн постоянного агента — в 24/7 автоматизации в облачном Mac.