2026 OLLAMA
MLX_PREVIEW_
ROLLBACK_
RUNBOOK.

Рабочая станция Apple Silicon с локальным ML стеком

Включение MLX preview inference в Ollama на Apple Silicon часто ускоряет decode, но переносит риски в плоскость dtype-контрактов, дрожания Metal и дыр квантизации. Здесь — матрица симптомов (нет загрузки, краш после первого токена, падает только один формат), пять шагов отката на стабильный llama.cpp и правила для контрольного удалённого Mac, чтобы сон и термика ноутбука не подменяли выводы. См. также бенч MLX, сравнение стеков, SSH/VNC.

1. Разбор боли

Preview ставит пропускную способность выше ширины совместимости. Ноутбук с Xcode Indexing, Electron и CI недооценивает чувствительность к памятной полосе. Одинаковое имя модели при разном digest — другой артефакт. TTFT и decode измеряются раздельно, минимум N≥24 выборок.

2. Матрица симптомов

СигналВероятный кореньНе делать
Ошибка сразу после успешного pulldtype/quant ≠ preview-сборкапрыгать по тегам без pin semver
GPU-падение после первого токенаMetal + параллельные всплескиGUI-стресс вместе с headless API
Падает только один quantчастичное покрытие MLX«меньше значит безопаснее»
Репродукция у одного инженеракэш/сон/kextотказ от второго чистого хоста

3. Пять шагов отката

Step 1 Заморозить тройку

Семвер Ollama, digest модели, патч macOS — в тикет.

Step 2 Явно выключить preview

Официальные флаги/ENV, однострочный diff.

Step 3 Хирургия кэша

Удалить подозрительные blob, логировать digest до/после.

Step 4 Пробы 1→4 потока

Повторить конкуренцию IDE.

Step 5 Политика

Preview только для PoC? Нужен второй backend?

curl -sS http://127.0.0.1:11434/api/generate -d '{ "model":"YOUR_MODEL", "prompt":"ping", "stream":true }'

4. Матрица решений

ТриггерПервичноЗапасной
Репродукция на втором Mac того же поколения с тем же digestвести как регрессиюpin последней стабильной сборки
Всплески только на ноутбукетепло/питание/сонудалённый Mac mini под нагрузку
Мультиклиентский потокразделить интерактив/пакетодин процесс на всё

5. Полевая заметка

«Виновата не память: выключили preview, удалили два blob — dtype-штурм перекомпиляций исчез.»

CI слал шесть параллельных потоков на localhost-Ollama; RSS был ровным, токены «замирали». Откат и digest-логи указали на интервальные Metal-rebuild узкой quant-дорожки. Повтор на удалённом Mac в стойке нормализовал кривые. Скорость preview требует зафиксированных артефактов и термически честного контрольного хоста.

6. Операционный язык и Metal

Относитесь к semver Ollama как к мажорным релизам Node, digest — как к lockfile. Удалённый Apple Silicon упрощает доказательство софт-регрессий независимо от перегрева зала переговоров.

Для команд с высокой нагрузкой на Metal выгоднее вынести инференс на арендуемый узел MACGPU, чем покупать каждому Ultra — этот runbook копируется на вторую машину без переделок.

7. Ворота Metal/квантизации

A: dtype+manifest+digest в одном тикете. B: первый shader-build отделить от номинального TTFT. C: перечислить скрытую параллельность клиентов. Удалённый replay отделяет среду от кода.

8. Числовые ворота MR

N≥24; TTFT p95 при 4 потоках >2.8× от одного потока → архитектурный разбор; средний swap за 90с >768МБ блокирует новых клиентов.

9. FAQ

Параллельно mlx_lm.server? Развести порты и RAM-бюджет. Только M5? Сначала патч ОС и сборка. Только warnings? verbose, stderr к одному тикету.