2026 M5 + MLX
NEURAL_TTFT_
DECODE_MATRIX.

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

В 2026 году команды всё ещё сдают отчёты только по средним токенам в секунду, хотя пользователь ждёт из‑за гигантских системных промптов. На M5 MLX может сдвинуть кривую prefill, когда задействованы Neural Accelerators, но decode остаётся ограниченным пропускной способностью унифицированной памяти. Статья даёт воспроизводимые ворота среды, пятиступенчатый сегментированный бенчмарк, три числовых порога и матрицу «купить ещё одну станцию M5 или вынести prefill в пул удалённых Mac». Читайте вместе с материалами MetalRT против MLX и чек‑листом Ollama+MLX на MACGPU Blog.

1. Почему средний tok/s вводит в заблуждение

Во‑первых, длинный контекст RAG делает доминирующим prefill, даже если decode выглядит здоровым. Во‑вторых, рассинхрон драйверов даёт тихий откат без ускорителя. В‑третьих, память Ultra не снимает троттлинг ноутбука и сон. В‑четвёртых, без CSV нельзя доказать регрессию неделя к неделе. Эти четыре пункта делают раздельные измерения TTFT и decode обязательными.

2. Граница железа: что реально меняют акселераторы

Prefill — крупные GEMM, decode — цикл обхода KV и весов в памяти. M5 бьёт по первой фазе, потолок второй сильно зависит от квантования и длины контекста. Короткие промпты и длинные ответы — смотрите перцентили decode; системные промпты 16k+ — сначала TTFT и пик RSS. Провал продвижения dtype — логируйте сборку MLX и имя устройства.

Metal Performance Shaders и рантайм MLX делят энкодеры; без корректной цепочки dtype ядра prefill не попадают на оптимизированные тензорные блоки. Два одинаково названных ноутбука расходятся на двузначные проценты из‑за бета‑драйвера. Многопользовательские прогоны сериализуйте, чтобы Spotlight не портил TTFT. Сравнение с llama.cpp Metal требует совпадения длины контекста и batch, иначе матрица наклонится к более мягкому квантованию по умолчанию.

3. Чек‑лист ворот среды

Шаг 01: класс M5 и видимость SoC. Шаг 02: выровнять macOS и toolchain, убрать смешанные Rosetta‑колёса Python. Шаг 03: закрепить MLX lockfile’ом. Шаг 04: отключить захват экрана и нестабильные внешние дисплеи на микробенчмарках. Шаг 05: закоммитить скрипты и сырой CSV. Шаг 06: ноутбук от сети, без энергосбережения, с заметкой о температуре.

python -c "import mlx, platform; print(platform.machine(), mlx.__version__)"

4. Пятиступенчатый сегментированный бенчмарк

Шаг 1 ярусы промптов

512, 4k и 16k+ для коротких чатов, RAG‑пакетов и репозиторного контекста.

Шаг 2 фиксация квантования

Только Q4 против Q8; batch сначала 1, затем 2 при запасе.

Шаг 3 TTFT плюс продолжения 128/512/4096

Температура ноль, фиксированный seed, десять прогонов, p50 и p95.

Шаг 4 пик RSS и swap

Коррелировать джиттер swap с хвостом decode.

Шаг 5 ветвление

TTFT p95 красный, decode зелёный — смотреть prefill и I/O. Decode p95 красный — полоса и конкуренция.

5. Матрица: купить M5 или арендовать удалённый Mac

ИзмерениеЛокальный M5Пул удалённых Mac
CapExвысокий аванс по памятипочасовые всплески
7x24сон, поездки, теплоЦОД, фиксированный аплинк
Эластичностьпамять покупается заранеегоризонтальное масштабирование
Данныефизический дискротация ключей SSH/VPN

Три внутренних порога: два сервиса класса ~30B выше 85% унифицированной памяти десять минут — смотреть удалёнку. Отношение TTFT p95 к p50 стабильно > 2,5 — сначала промпт. Больше половины из двенадцати ежемесячных GPU‑тикетов про троттлинг — ноутбук только для диалога, batch на стоечные Mac.

6. Кейс: две недели, которые приняла финансы

Средний tok/s толкал к двум Ultra; сегментация показала гигантские промпты; offload prefill срезал CapEx вдвое.

Команда из трёх человек почти купила после первой недели. На второй 16k system prompt дал TTFT p95 18 с при 42 tok/s decode. Суммарные куски ушли на удалённый Mac 192 ГБ для prefill, локально остался планировщик 8B; TTFT p95 упал до 2,1 с. Финансы подписали CSV и схему сети, а не лозунги.

Папка имела четыре вложения: сырой CSV из десяти ночных прогонов, скрин давления памяти с пометками, одностраничный меморандум о резидентности данных, диаграмму SSH‑мультиплексирования поверх WireGuard. Аудиторы спросили про хранение; ответ — редактирование до туннеля, еженедельная смена ключей. Эксплуатация спросила про failover; документ — второй удалённый хост с холодными весами на NVMe.

7. Отраслевой взгляд и вывод

В 2026 году ров — это зафиксированные по версиям кривые TTFT/decode плюс телеметрия swap, а не слайд с презентации. Удалённые пулы Mac не отменяют локальный M5; они разделяют интерактив на столе и пики в стойке. Чистый ноутбук теряет сон и тепловые гарантии; чистый облачный GPU замедляет итерации MLX. Гибрид держит отладку плотной, а всплески отправляет туда, где предсказуемы питание и память.

Закупки: бенчмарки MLX как SLO API — бюджеты перцентилей, артефакты в объектном хранилище, runbooks дежурства. Безопасность: веса на теряемых ноутбуках; удалёнка держит веса на стационарных хостах. Юридический экспорт: арендованный Mac Studio в нужной юрисдикции проще защитить, чем плавающие регионы GPU.

Наблюдаемость: OpenTelemetry вокруг mlx_lm.generate с ревизией модели, уровнем квантования, ярусом промпта и железом. Всплески TTFT режутся по Wi‑Fi офиса против док‑станции. Регрессии decode часто идут вместе с демонстрацией экрана или транскодингом. MACGPU подчёркивает выделенные удалённые Mac с предсказуемым охлаждением вместо вечного инференса на личном ноутбуке.

CI: три яруса промптов ночью; регресс TTFT p95 > 8% неделя к неделе блокирует релиз. Держите канарейку M4 для dtype на старом клиентском железе. Зеркальте MLX на удалёнках с тем же SSH, что и прод, иначе аренда останется «пожарной», а не договорной. Корреляция с ваттами: длинный decode поднимает кривую вентилятора и позже бьёт по TTFT; стоечные Mac передают фильтры и температуру на хостинг — скрытые facility‑затраты, которые внутренняя IT часто игнорирует при сравнении почасовой аренды с ценником делённым на часы.

Итог: соло‑разработчик живёт на одном M5‑ноутбуке, пока не упрётся в термику. Командам с контрактными SLA по MLX выгоднее снимать длинные prefill и batch‑пики на горизонтально масштабируемую удалённую инфраструктуру Mac, а не бесконечно наращивать CapEx. MACGPU даёт унифицированную память Apple Silicon без своего ЦОД. Сравнение транспорта — гид SSH против VNC на блоге. Нужны стабильный Metal и больше памяти без новой башни — арендуйте MACGPU и оставьте decode локально интерактивным.