2026 APPLE SILICON
METALRT_
MLX_
LLAMA_CPP.

// Проблема: модель запускается, но задержку задаёт контракт рантайма (Metal, пакет, потоки, политика памяти). Вывод: матрица MetalRT / MLX / llama.cpp, пять шагов воспроизводимой настройки, опорные числа, матрица удалённого Mac. См. Ollama / LM Studio / MLX, M4 Max, MLX OpenAI API, тарифы.

Рабочее место разработчика

1. Разбор: сначала контракт рантайма, потом «кто быстрее»

(1) Движок и упаковка: одна и та же GGUF ведёт себя иначе в llama.cpp и в MLX. Стеки класса MetalRT ближе к прямым Metal-ядрам; у Python-MLX другие ручки настройки.(2) Только пик tok/s: фазы prefill и decode узкие в разных местах; при многопользовательской нагрузке блокировки съедают бенчмарки.(3) Unified memory: при активном swap меняют топологию, а не размер модели.

2. Три рантайма

Рантайм Роль в 2026 Кому / цена
Класс MetalRT Прямой Metal на Apple Silicon, упор на decode и мультимодальность Охотники за decode; цепочка инструментов новая — фиксируйте версии
MLX Совместим с unified memory, удобно встраивать в Python/Swift-сервис Инженерно тяжелее «кликни и чатай»
llama.cpp Широкая база GGUF, много примеров CLI/сервера Практично на Mac; дефолты не универсальны — профилируйте на железе

2b. Prefill и decode раздельно

Prefill заполняет KV, decode генерирует токены. Чужие цифры decode без длины контекста и политики батча бесполезны для длинного RAG.

Фаза Главная метрика Типичная ошибка
Prefill / TTFT Время до первого токена, взрыв за пределами 8K контекста Мерить только короткие промпты
Decode Стабильные tok/s, просадка по длине, конкуренция CPU/GPU Слишком большой batch → trashing памяти
Смешанная нагрузка Давление на память, swap, фризы IDE «Чистый» бенч без реальных приложений

3. Пять шагов к воспроизводимости

  1. Зафиксировать тип нагрузки: чат, RAG, ночной batch — разные цели и разные endpoint’ы.
  2. Зафиксировать модель и квантование: одна эталонная GGUF/MLX, потом сравнение движков.
  3. Единая методика: один промпт, контекст, batch; логировать TTFT, decode, дрейф на длинных сессиях; указать SoC и semver движка.
  4. Поэтапный тюнинг: сначала потоки и ctx/batch, затем KV и параллелизм, затем смена модели.
  5. Неделя реального микса: IDE, браузер, экспорт открыты; частый красный индикатор памяти в рабочее время → оффлоад.
# Пример llama.cpp server # ./server -m model.gguf --threads 8 --ctx-size 8192 # Смотреть TTFT, tok/s, swap (Мониторинг системы)

4. Опорные числа (не вендорские)

Для внутренних оценок:

  • Минимум 8 ГБ под ОС и резидентные приложения до весов и KV в диалоге.
  • Тяжёлый IDE + длинный контекст + таймлайн → 1–2 потока инференса.
  • >20 ч/нед полной нагрузки на ноутбуке при мобильности — смотреть выделенный удалённый узел.

5. Матрица удалённого Mac

Сигнал Рекомендация
Общий OpenAI-совместимый endpoint с аудитом Квота на удалённом узле; ноутбук для лёгких экспериментов
Память ломает монтаж или IDE Вынести инференс или сжать контекст/квантование
Долгий A/B MetalRT/MLX/llama.cpp без «грязи» на основной машине Удалённый Mac с фиксированным образом как песочница
Сервис 24/7 Стабильная топология и метрики на удалённом Mac

6. FAQ

Все три сразу? Да, но явно порты и bind; дубликаты весов забивают диск.Чужие цифры? Только с фиксированным промптом.Когда стоп? Три срыва творческого потока за неделю — вынести нагрузку.

7. Углубление: контракт инференса как актив

Трение в 2026 — не tokenizer, а воспроизводимый контракт: одни версии рантайма, порты, авторизация между dev/stage/demo. Metal-путь и пропускная способность памяти на Apple Silicon критичны для стабильного decode. См. MLX как OpenAI-совместимый API.

8. Итог: пределы «всё на одном Mac» и MACGPU

(1) Пределы: параллельные движки дублируют веса, порты, зависимости; unified memory забивается кэшем; сон и обновления ломают 24/7 на ноутбуке.

(2) Плюс удалёнки: инференс на воспроизводимом образе, локально тонкий клиент; на узле проще держать постоянную нагрузку и метрики без троттлинга клавиатуры — выше предсказуемость по сравнению с перегретым лэптопом.

(3) MACGPU: при необходимости предсказуемого OpenAI-совместимого endpoint и квот команды почасовой Apple Silicon часто быстрее окупается, чем бесконечные апгрейды RAM. Демоны MLX/llama.cpp и длинные задачи на узле; CTA ведёт к публичным тарифам без логина.