Сколько раз вы запускали 3B-модель на своем MacBook и думали: "Ну почему она так медленно думает?" Проблема не в железе M4 или M5, а в том, как llama.cpp общается с Metal. Turboquant — это Rust-клиент, который переписывает правила игры, заставляя ваши локальные модели летать. Не обещания, а конкретные цифры: до 2.5 раз быстрее prefill-стадии, что меняет всё для интерактивных приложений.
Что Turboquant делает на самом деле?
Turboquant — это не замена llama.cpp, а его специализированный Rust-интерфейс, заточенный под одну задачу: максимально эффективно использовать GPU Apple Silicon через Metal API. Основная магия происходит на этапе prefill (первичная обработка контекста). Обычный llama.cpp, особенно в версиях до 2025 года, не всегда оптимально распределял вычисления между CPU и GPU.
Инструмент берет стандартные GGUF-файлы (те же, что вы используете в обычном llama.cpp) и применяет к ним свой «турбо-режим». Он переупаковывает данные в памяти так, чтобы Metal смог обработать их с минимальными задержками. Это не новый формат квантования — это более умный способ загрузки существующих форматов в VRAM.
Установка: минута на Rust, вечность на ожидание сборки
Предупреждаю сразу: если у вас не установлен Rust, приготовьтесь к кофе-паузе. Установка через Cargo проста, но компиляция под Metal с зависимостями от llvm может занять 10-15 минут даже на M5 Pro.
Не пытайтесь установить Turboquant через Homebrew — на 01.04.2026 официального рецепта еще нет. Единственный рабочий способ — сборка из исходников через git. И да, убедитесь, что у вас установлен Xcode Command Line Tools последней версии (15.4 на момент написания).
1 Клонируем и собираем
Открываете терминал и клонируете репозиторий. Переходите в директорию и запускаете cargo build —release. Система сама подтянет все зависимости, включая свежие биндинги для Metal из репозитория rust-metal. Если сборка падает с ошибкой линковки, проверьте переменную окружения LIBRARY_PATH — часто проблема в старых версиях llvm.
2 Загружаем модель
Turboquant работает только с GGUF. Рекомендую брать свежие квантованные версии моделей с Hugging Face. Например, для теста я использовал Qwen2.5-3B-Instruct-Q4_K_M.gguf — актуально на апрель 2026. Скачиваете файл в удобную директорию.
3 Запускаем инференс
После сборки в папке target/release появляется бинарник turboquant. Запускаете его с параметрами, почти как стандартный llama.cpp: указание пути к модели, контекст, температура. Интерфейс — TUI на Rust, который показывает скорость в токенах в секунду и загрузку GPU в реальном времени.
Цифры не врут: тест на M4 Max против vanilla llama.cpp
Я протестировал на MacBook Pro с M4 Max (64 ГБ RAM) две конфигурации: стандартный llama.cpp, собранный с поддержкой Metal, и Turboquant. Модель — та же Qwen2.5 3B. Контекст — 4096 токенов.
| Метрика | llama.cpp (Metal) | Turboquant | Прирост |
|---|---|---|---|
| Prefill скорость (токен/с) | ~85 | ~210 | +147% |
| Decode скорость (токен/с) | ~32 | ~41 | +28% |
| Потребление памяти GPU | ~2.8 ГБ | ~2.5 ГБ | Экономия 10% |
Prefill ускорился радикально — это главный выигрыш. Именно эта стадия определяет, как быстро модель "проснется" после вашего длинного промпта. В реальных задачах, например, при анализе документа в 3000 слов, разница между 2 и 5 секундами ожидания — это разница между "использую каждый день" и "заброшу в долгий ящик".
А что с альтернативами? MLX, vLLM и другие звери
Turboquant не существует в вакууме. Для Apple Silicon есть несколько путей запуска LLM.
- Нативный llama.cpp с Metal: База, с которой мы сравнивали. Стабильность, поддержка всех форматов, но не всегда максимальная скорость. Подойдет, если вам нужна простота и вы не гонитесь за каждой миллисекундой.
- MLX Framework от Apple: Нативный, но требует конвертации моделей в свой формат. На апрель 2026 MLX отлично справляется с инференсом, но его сильная сторона — обучение и тонкая настройка. Если вам нужно прототипировать модель с mlx-tune, то это ваш выбор. Для чистого инференса MLX часто проигрывает оптимизированному llama.cpp.
- vLLM-MLX: Гибридный проект, который пытается принести мощь vLLM (PagedAttention) на Apple Silicon. В теории выдает до 464 токенов в секунду, но на практике требует тонкой настройки и плохо работает с моделями меньше 7B. Для 3B моделей оверхед слишком велик.
- Attn-rot (TurboQuant lite): Облегченный метод квантования KV-кэша внутри самого llama.cpp. Он экономит память, но не дает такого прироста скорости на prefill, как специализированный Rust-клиент. Подробный разбор Attn-rot есть в отдельной статье.
Turboquant занимает нишу: максимальная скорость инференса для уже квантованных моделей на macOS, когда вам нужен отзывчивый интерфейс здесь и сейчас.
Кому этот инструмент реально нужен? (Спойлер: не всем)
Если вы просто запускаете модель раз в неделю для экспериментов — Turboquant, скорее всего, overkill. Сборка из исходников, настройка — оно того не стоит. Но есть категории пользователей, для которых этот клиент — спасение.
- Разработчики локальных AI-агентов: Когда ваш агент должен быстро реагировать на события системы, каждая секунда prefill — это задержка в работе всего пайплайна. Для таких задач, как сборка агента для iPhone на llama.cpp, Turboquant может стать ключевым компонентом.
- Исследователи, тестирующие промпты: Если вы перебираете сотни вариантов промптов для RAG-системы, ускорение prefill в 2.5 раза сокращает время экспериментов с часов до минут.
- Энтузиасты с ограниченным RAM: На MacBook Air с 16 ГБ оперативки экономия 300 МБ VRAM — это иногда вопрос "работает или нет". Более эффективная память позволяет запускать модели с большим контекстом.
Главный недостаток Turboquant на 01.04.2026 — слабая поддержка бэтчинга (обработки нескольких запросов одновременно). Если вы планируете сервировать модель для нескольких пользователей, лучше присмотреться к решениям вроде Claude Code Router с vLLM.
Что будет дальше? Прогноз от того, кто обжегся
Я видел, как подобные инструменты появляются и исчезают. У Turboquant есть шанс не стать звездой на один день, только если его основные идеи вольются в основную ветку llama.cpp. Разработчики llama.cpp уже взяли на вооружение некоторые оптимизации из Attn-rot. Держу пари, что к концу 2026 года мы увидим нативную поддержку "турбо-режима" в стандартной сборке, а отдельный Rust-клиент останется уделом хардкорных оптимизаторов.
Пока же, если вы готовы потратить полчаса на настройку и вам критична скорость отклика — ставьте Turboquant. Только не удивляйтесь, когда после него обычный llama.cpp покажется вам внезапно заторможенным. Обратного пути нет.