Сколько токенов в секунду выдаёт ваш Mac? Наверняка вы мерили.
Запускали mlx_lm.generate --model ... и видели цифры. Потом ставили llama.cpp — там другие. Потом RunAnywhere.ai — и совсем космос. Вопрос: чему верить? Каждый движок меряет по-своему, греет процессор по-разному, и никогда не знаешь — то ли модель квантизирована не так, то ли контекст разный.
В нашем бенчмарке на M1 Max мы вручную гоняли шесть движков и чуть не поседели, выставляя единые параметры. А потом появился mlx-Chronos — инструмент, который делает это за вас и публикует результаты в общий лидерборд.
Что такое mlx-Chronos и зачем он нужен
Это CLI-утилита на Python, которая запускает стандартизированный набор тестов на любой модели, поддерживаемой MLX. Вы указываете модель, контекст, batch size, квантизацию — и получаете метрики: токенов в секунду (total throughput), latency первого токена (TTFT), пиковое использование памяти, максимальную длину контекста до OOM. Результаты можно отправить на GitHub — они попадают в глобальный лидерборд.
Проблема в том, что маркетинговые заявления вроде обещанного 3x ускорения от RunAnywhere.ai трудно проверить без единого протокола. Chronos делает проверку честной: все движки прогоняются на одинаковых настройках, одном и том же железе.
mlx-Chronos уже поддерживает не только чистый MLX, но и обёртки вроде mlx-lm, llama.cpp через Metal-бэкенд, RunAnywhere.ai, vLLM-MLX и даже MLX-AgentCore. Последний, кстати, в наших тестах показал 600 ток/с на агентских задачах — но в стандартном бенчмарке цифры скромнее.
Как это выглядит в деле
Ставится просто: через pip или Homebrew. Никаких танцев с бубном.
pip install mlx-chronosmlx-chronos run --model Qwen/Qwen2.5-7B-Instruct-MLX --quantization 4bit --context 8192 --batch 1Через пару минут — таблица с результатами. Вывод можно сохранить в JSON для дальнейшего анализа. Если хотите сравнить два движка:
mlx-chronos compare --engine mlx,llamacpp --model Qwen-7B-4bitУтилита сама загрузит модель (если её нет) и прогонит оба движка на одинаковых входах. Результат — бок о бок, без искажений.
Не как у всех: лидерборд вместо маркетинга
Разработчики mlx-Chronos пошли дальше — они собирают публичный лидерборд, где каждый может сравнить свой Mac с конфигурациями других пользователей. Это честнее, чем верить рекламным слайдам. Например, наш давешний бенчмарк 8 MLX-серверов для Qwen 3.5 можно было бы сэкономить, просто запустив Chronos и получив готовую таблицу.
Лидерборд уже показывает интересные закономерности: на M4 Max с 128 ГБ памяти llama.cpp с флагом MTP (Multi-Token Prediction, о котором Google говорит как о прорыве) обгоняет MLX на 15-20% в throughput, хотя на коротких контекстах MLX всё ещё впереди.
Сравнение с альтернативами
Раньше приходилось использовать встроенные бенчмарки каждого движка: llama.cpp bench, mlx_lm benchmark — они меряют по-разному, используют разный токенизатор, разные промпты. Chronos унифицирует. Аналогов, которые собирают лидерборд на Mac, вообще нет. Есть разве что lm-evaluation-harness, но он про качество, не про скорость.
Конечно, можно написать собственный скрипт на Python с time.time() и надеяться, что thermal throttling не вмешается. Но Chronos уже знает, как стабилизировать замеры: прогревает чип, контролирует температуру, усредняет несколько прогонов.
Для кого этот инструмент
- Владельцы Mac с чипами M-серии, которые хотят понять, какой движок быстрее на их железе.
- Разработчики, выбирающие бэкенд для продакшна — особенно если вы строите сервис на стыке агентского кодирования на Mac.
- Энтузиасты, которые любят цифры, а не хайп.
И последний совет: не верьте никому, даже этой статье. Запустите mlx-Chronos сами. Вдруг ваш M5 Max с llama.cpp и MTP обгоняет AFM MLX? Проверить — дело 10 минут. А лидерборд покажет, кто на самом деле король Apple Silicon.