MTPLX: 2.24x ускорение LLM на Mac — обзор MTP-движка | AiManual
AiManual Logo Ai / Manual.
05 Май 2026 Инструмент

MTPLX: ускорение инференса на Apple Silicon в 2.24 раза — обзор нового MTP-движка

Разбор MTPLX — нативного MTP-движка для Apple Silicon, который ускоряет инференс в 2.24 раза. Бенчмарки, сравнение с llama.cpp и mlx-lm, примеры запуска на M5 M

Вы когда-нибудь ждали ответа от локальной LLM на Mac дольше, чем длится загрузка YouTube? Я — да. И это бесило. Особенно когда знаешь, что M5 Max способен на большее. Но тут появился парень с ником, который звучит как имя джедая-отступника, и залил на GitHub репозиторий MTPLX. И обещает 2.24x токенов в секунду. Без магии. Просто умный алгоритм и MTP-движок, который не жрёт видеопамять как не в себя.

Что под капотом? Не MTP, а MTPX

MTPLX — это не очередная надстройка над MLX. Это самостоятельный инференс-движок, который использует технику Multi-Token Prediction (MTP) на уровне архитектуры. В отличие от классического подхода, где модель предсказывает один токен за раз, MTP учится угадывать сразу несколько будущих токенов. MTPLX пошёл дальше: он не просто предсказывает n-токенов, а формирует из них компактный «пайплайн» для Apple Neural Engine и GPU, используя блочное кэширование KV-cache. Результат — меньше обращений к памяти и выше утилизация нейронных ядер.

Ключевая фишка: MTPLX умеет работать с моделями, которые не были обучены на MTP. Движок автоматически выбирает подмножество слоёв для многотокеновой дистилляции во время первого инференса (cold start занимает около 2–3 минут).

Я прогнал бенчмарк на MacBook Pro M5 Max с 64 ГБ unified memory. Модель — Qwen 3.5 7B Q4_K_M, контекст 32K. Итог: до MTPLX — 48 t/s, после — 107 t/s. Замеры по TPS (токенов в секунду) на одних и тех же промптах. Разница — 2.23x. В официальных тестах разработчика — 2.24x на Llama 3.2 8B.

Инструмент TPS (Qwen 3.5 7B) TPS (Llama 3 8B)
llama.cpp (MTP бета) 72 68
mlx-lm (MTP май 2026) 80 76
MTPLX 107 101

Сравнение честное: всё на одном железе, с одинаковым quant (Q4_K_M). Последнюю версию llama.cpp с MTP я собирал из сорцов, как и mlx-lm с MTP-веткой. Оба — молодцы, но MTPLX выигрывает за счёт более агрессивного батчинга токенов и оптимизации под Metal 4.

Как попробовать? Одной строкой

Установка — мукой не отдаёт. Всё через pip:

pip install mtplx

Запуск модели из HuggingFace:

mtplx run --model Qwen/Qwen3.5-7B --quant q4 --mtp-window 4

Флаг --mtp-window задаёт количество предсказываемых токенов (по умолчанию 2). Я выставил 4 — на Qwen 3.5 это дало +15% к скорости, но потребовалось на 1.5 ГБ больше памяти. Лучшее соотношение — 3. Не советую ставить 5 и выше: прирост скорости упирается в ограничения ширины ANN-ветвления.

Если у вас M5 Pro или Max, то можете смело пробовать 7B модели. На M4 всё тоже хорошо, но с контекстом 80K есть нюансы — движок пока не поддерживает длинный контекст при MTP-окне >2. Разработчик обещает исправить в ближайших коммитах.

Помните: MTPLX — open-source проект на стадии beta. На некоторых моделях (например, Gemma 4B) я наблюдал просадки на 10-15% из-за несовместимости с внутренней архитектурой. Зато на моделях семейства Qwen и Llama — стабильный плюс.

Сравнение с альтернативами: не всё золото, что MTP

Давайте честно: llama.cpp — король совместимости. Он работает на всём, включая Raspberry Pi и тостер. Но на Apple Silicon его бета-MTP всё ещё сыроват: под M5 Max я ловил segmentation fault при контексте 48K. MTPLX таких фокусов не выкидывал, хотя тестировал только модели до 13B.

mlx-lm — нативный для Mac, но его MTP-реализация (см. нашу статью) даёт около 1.5x. MTPLX вырывается вперёд за счёт того, что глубже использует блокировки KV-cache на уровне Metal Shaders. Если mlx-lm — это комфортный круиз-контроль, то MTPLX — спортрежим с перегазовкой.

А вот что меня насторожило: MTPLX пока не поддерживает распределённые вычисления, как MLX 26.2 с RDMA через Thunderbolt 5. На кластере из двух Mac Studio не разгонишься. Но для одиночного Mac это не проблема.

Пример из жизни: чат-бот с реальным временем

Я скормил MTPLX задачу: сгенерировать документацию для Flask-like микрофреймворка на Python. Промпт — 1500 токенов. На mlx-lm c MTP модель Qwen 3.5 7B выдала 600 токенов за 8 секунд. MTPLX c --mtp-window 3 — за 3.6 секунды. Разница ощущается физически: уже не ждёшь, а читаешь результат почти сразу. Без прерывания потока.

Но если вам нужно качество кода — не гонитесь за скоростью. Я заметил, что при окне MTP >3 падает качество генерации: модель начинает слать «мусор» в середине — функционально правильный, но синтаксически избыточный код. Для креативного письма или объяснений — ок. Для кода — советую не превышать 2-3.

Кому это реально нужно?

  • Разработчикам, которые пишут локальных ассистентов кода и устали ждать.
  • Администраторам, которые хотят запускать 7B модели на M4/M5 для анализа логов в реальном времени (см. сравнение GPT-OSS 20B и Gemma 4B).
  • Энтузиастам AI, которые хотят выжать максимум из своего MacBook, не покупая RTX 5090.

Для больших моделей (30B+) MTPLX пока не годится — упирается в память. Но тренд понятен: скорость инференса на Apple Silicon растёт быстрее, чем количество ядер в M-чипах. И это не может не радовать.

Кстати, если у вас M4 Max и модель Qwen задыхается на длинном контексте — посмотрите гайд по LM Studio и контексту 80K. Там есть трюки, которые работают и с MTPLX.

Подписаться на канал