Бенчмарк: MLX vs Ollama, запуск Qwen3-Coder-Next 8-Bit на MacBook Pro M5 Max

Был проведен бенчмарк, сравнивающий два локальных бэкенда для вывода — MLX (родной фреймворк машинного обучения Apple) и Ollama (основанный на llama.cpp) — работающие с одной и той же моделью Qwen3-Coder-Next в 8-битном квантовании на Apple Silicon. Целью было измерить чистую пропускную способность (токенов в секунду), время до первого токена (TTFT) и общую способность к программированию в реальных задачах.
Методология
Использовалась следующая настройка:
- Бэкенд MLX: mlx-lm v0.29.1, обслуживающий mlx-community/Qwen3-Coder-Next-8bit через встроенный HTTP-сервер, совместимый с OpenAI, на порту 8080.
- Бэкенд Ollama: Ollama, обслуживающий qwen3-coder-next:Q8_0 через свой API, совместимый с OpenAI, на порту 11434.
Оба бэкенда были доступны через один и тот же Python-скрипт для бенчмаркинга с использованием клиентской библиотеки OpenAI с включенной потоковой передачей. Каждый тест выполнялся по 3 итерации на промпт, результаты усреднялись, при этом первая итерация TTFT для начального промпта с холодным стартом (загрузка модели) исключалась.
Набор тестов
Шесть промптов охватывали спектр задач программирования:
- Короткое завершение: Написать функцию проверки на палиндром (максимум 150 токенов)
- Средняя генерация: Реализовать класс LRU-кэша с аннотацией типов (максимум 500 токенов)
- Длинное рассуждение: Объяснить async/await в сравнении с потоками с примерами (максимум 1000 токенов)
- Задача отладки: Найти и исправить ошибки в сортировке слиянием + бинарном поиске (максимум 800 токенов)
- Сложное программирование: Потокобезопасная ограниченная блокирующая очередь с контекстным менеджером (максимум 1000 токенов)
- Ревью кода: Проверить 3 функции на производительность/корректность/стиль (максимум 1000 токенов)
Результаты
Пропускная способность (токенов в секунду) на M5 Max с 128 ГБ ОЗУ:
- Короткое завершение: Ollama 32.51 ток/с, MLX 69.62 ток/с (MLX +114%)
- Средняя генерация: Ollama 35.97 ток/с, MLX 78.28 ток/с (MLX +118%)
- Длинное рассуждение: Ollama 40.45 ток/с, MLX 78.29 ток/с (MLX +94%)
- Задача отладки: Ollama 37.06 ток/с, MLX 74.89 ток/с (MLX +102%)
- Сложное программирование: Ollama 35.84 ток/с, MLX 76.99 ток/с (MLX +115%)
- Ревью кода: Ollama 39.00 ток/с, MLX 74.98 ток/с (MLX +92%)
Общий средний показатель: MLX достиг примерно 72 токенов в секунду, что примерно вдвое превышает пропускную способность Ollama. Измеряемые метрики включали токенов/сек (сгенерированные выходные токены в секунду, чем больше, тем лучше), TTFT (время от отправки запроса до получения первого токена, чем меньше, тем лучше), общее время (настенное время для полного ответа, чем меньше, тем лучше) и использование памяти, измеренное через psutil.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

SkyClaw: Автономная среда выполнения ИИ-агентов на Rust
SkyClaw — это автономная среда выполнения ИИ-агентов, созданная на Rust, с бинарным файлом размером 7,1 МБ, которая в режиме ожидания потребляет 14 МБ оперативной памяти и запускается менее чем за секунду. Она работает на основе пяти инженерных принципов, включая автономность, надежность и беспощадную эффективность.

Slate: Приложение для общения с ИИ с открытым исходным кодом для macOS со встроенным браузером
Slate — это нативное приложение для macOS, которое объединяет AI-чат и веб-браузинг в одном окне, поддерживая модели Anthropic, OpenAI, Gemini и Ollama. Оно построено на SwiftUI и WebKit, потребляет мало ресурсов и распространяется под лицензией MIT.

Мурмура: Открытый демон Cron для автоматизации сеансов кодирования с Claude
Murmur — это демон cron, который планирует и автоматизирует сеансы кода Claude с использованием файла HEARTBEAT.md для настройки.

Ouroboros 0.26.0-beta объединяет Claude и Codex через сервер MCP.
Ouroboros 0.26.0-beta представляет собой инструмент, который запускает Claude и Codex одновременно, назначая Claude задачу по уточнению намерений пользователя, а Codex — выполнение четко определенных задач через архитектуру MCP-сервера.