2026 LONG CONTEXT ON
APPLE_SILICON_
KV_SWAP_MLX.

Data center memory workload abstract

Многие команды сначала выкатывают ползунок 128K и только потом видят, что счёт выставляет рост KV в unified memory, а не размер GGUF. Материал для инженеров, которые гоняют MLX или llama.cpp на Apple Silicon и должны честно держать RAG/агентные промпты: четыре типовых отказа, грубая таблица бюджета для 32K/64K/128K, пятиступенчатая приёмка TTFT, перцентилей decode и площади swap, матрица «когда удалённые MLX-узлы бьют тяжёлые ноутбуки». Читайте вместе с материалами MACGPU про swap на unified memory, параллель vllm-mlx и SSH против VNC для удалённых Mac.

1. Разбор боли: почему длинный контекст больнее роста числа параметров

Во-первых, KV и рабочий набор масштабируются с длиной последовательности, а prefill даёт пик до первого decode-токена. Во-вторых, unified memory делится с GPU, Neural Engine и кэшем ОС; фоновый рендер ComfyUI или индексация Xcode тихо съедают запас. В-третьих, после порога swap Metal-инференс деградирует скачком до однозначных tok/s. В-четвёртых, средний decode без TTFT и swap-метрик скрывает SLA-риск на юридических или монорепо-промптах.

2. Грубый KV-бюджет: от маркетингового окна к инженерному конверту

Веса ~ параметры × байты кванта × batch; верхняя граница KV ~ слои × головы × размерность × 2 × длина × dtype с коэффициентом фрагментации 1,2–1,35. Эмпирически 32K часто живёт на 48 ГБ класса для 7B–13B Q4; 64K ломает совместимость с параллельными сервисами; 128K на 64 ГБ часто конфликтует со второй линией инференса.

ОкноСигналыОдна машинаУдалённый MLX
32KTTFT p95 > ~8 с, высокий разброс decodebatch=1, фикс кванта, убрать GPU-хищниковВторой сервис класса 30B или 7x24
64KРезидент > ~78% RAM, всплески swapЧанкование RAG, урезать tool JSONПродукт требует полную вставку без swap
128KВентилятор на максимуме, swap >2 ГБ устойчивоВыделенный Mac под инференсStudio 192 ГБ или почасовой пул

3. Пять шагов приёмки: ворота swap и минимальные tok/s

Шаг 1 зафиксировать наборы промптов

8K/32K/128K синтетика или обезличенные реальные, температура 0, фиксированные seed.

Шаг 2 зафиксировать квант и параллелизм

Не более двух уровней кванта на релиз; начинать с одного запроса.

Шаг 3 логировать TTFT, decode p50/p95, интеграл swap

Первый момент swap >512 МБ и tok/s в ту же секунду.

Шаг 4 опубликовать минимальные tok/s

Пример: поддержка decode p95 ≥12 tok/s; код ≥28 tok/s.

Шаг 5 CSV с отпечатками ОС и рантайма

Минор macOS, коммит MLX или llama.cpp, контрольная сумма модели.

/usr/bin/memory_pressure # Activity Monitor: память, Swap Used

4. Матрица: остаться локально, урезать окно, переделать RAG, вынести MLX

ТриггерПредпочтительноЗапаснойИзбегать
Swap >1 ГБ 90 сУкоротить окно или остановить вторую линию192 ГБ удалённо для длинного окнаТолько наращивать параллелизм
TTFT p95/p50 >2,8Резать system prompt и tool JSONУдалённый prefill, локальный маленький оркестраторСлепой прыжок к большей модели
Обязательная вставка 128KВыделенный образ инференсаПочасовой пул удалённых Mac36 ГБ ноутбук в проде

Три числовых ворот для вики: резидент >82% физической RAM 10 минут и любой сэмпл swap >768 МБ → авто-даунгрейд до 32K или маршрутизация наружу. Decode p95 хуже на >35% относительно графически простоя при экспорте — очередь или перенос инференса. Два OOM/jetsam в неделю — гибридный PoC до третьего ноутбука.

5. Кейс: юридический RAG от полного 128K к этажным саммари и удалённому 128K

Пятница, 6 ГБ swap на полном OCR-128K; после переноса длинной ветки на удалённый MLX Studio и 8B-оркестратора на ноутбуке P95 упал с четырёх минут до 22 секунд.

Шесть человек в legal-tech гоняли MLX на диффах контрактов с сотнями страниц OCR и многоходовым tool JSON. На второй неделе наложили swap и перцентили TTFT: prefill 128K выталкивает кэши ОС и дрожит decode. Полный корпус заменили векторными чанками и секционными саммари; только спорные клаузулы поднимаются в 128K; ветку закрепили на арендованном Mac Studio 192 ГБ. Руководство получило график swap до/после и сместило CapEx с «ещё ноутбуки» на предсказуемые почасовые Mac-вычисления.

6. Взгляд: маркетинг длины контекста против аудируемого SLA

Карточки моделей будут обещать больше окна, но пропускная способность unified memory и SSD-swap не удваиваются каждый квартал. Остаются перцентильные кривые, интеграл swap и автоматические пути понижения. Прод с контрактными 64K–128K требует выделенного Mac-инференса или эластичных удалённых пулов со стабильным питанием и термикой. Читайте гайд MACGPU SSH/VNC и статью vllm-mlx, чтобы не класть два убийцы на один бюджет unified memory.

Длинный контекст только на ноутбуке годится для индивидуалов, терпимых к джиттеру. Когда swap недопустим, а длина не обсуждается, почасовая аренда крупных узлов Mac с unified memory часто выигрывает гонку за максимальным BTO. Аренда удалённых Mac у MACGPU снимает MLX-пики без принудительного CUDA-only режима — сохраняя низкоуровневый фокус на Metal и пропускной способности памяти.