Головна / Статті / Локальні LLM на Mac: MLX замість стандартного рушія llama.cpp

Локальні LLM на Mac: MLX замість стандартного рушія llama.cpp

Коли MLX від Apple випереджає llama.cpp на Apple Silicon: діапазони бенчмарків за розміром моделей, три способи перейти й підводні камені.

1117 слів

Якщо ви встановили Ollama на Mac, завантажили модель і вирішили, що тепер запускаєте ШІ локально, — так і є. Але, найімовірніше, ви робите це не на тому рушії й втрачаєте від 15% до трикратної різниці у швидкості машини, навіть не помічаючи цього.

Стандартний шлях

Майже всі йдуть тією самою дорогою. Встановлюють Ollama, запускають ollama run llama3.2 (або модель, що в моді цього тижня), дивляться, як біжать токени, і вважають, що це стеля для Mac.

Довгий час це було цілком розумне припущення. Усередині Ollama — обгортка над llama.cpp, рушієм інференсу на C/C++, який працює практично скрізь: на Windows, Linux, Mac з Intel, навіть на Raspberry Pi. Це чудова інженерна робота. Просто її не проєктували під те, як улаштований Apple Silicon.

Від кінця 2023 року Apple має власний фреймворк машинного навчання MLX, і він побудований довкола того, що вирізняє чипи серії M: єдиної пам'яті. CPU, GPU і Neural Engine користуються одним спільним пулом. Бекенду Metal у llama.cpp доводиться це обходити. MLX натомість від першого дня писали саме під це. Різниця між «працює на Apple Silicon» і «зроблено для Apple Silicon» виявилася більшою, ніж багато хто думав.

Коли з цим погодилася сама Ollama

MLX легко було відкинути як проєкт для ентузіастів, про який згадують на форумах про локальні LLM. Усе змінилося в березні 2026 року, коли Ollama випустила опційний бекенд MLX для Apple Silicon. По суті, найпопулярніший інструмент для локальних LLM визнав, що його рушій за замовчуванням — не найшвидший варіант на залізі, яке має більшість його користувачів Mac. Достатній привід подивитися на реальні цифри, а не вірити комусь на слово.

Що дає перехід

Розрив сильно залежить від розміру моделі, архітектури й конкретного чипа, але незалежні тести вказують в один бік:

  • Моделі mixture-of-experts середнього розміру, як-от клас Qwen3-Coder-30B, на Mac mini з M4 Pro: близько 130 токенів на секунду з MLX проти 43 через бекенд llama.cpp в Ollama. Це трикратна різниця, далеко за межами похибки.
  • Щільні моделі приблизно до 14B параметрів: MLX працює на 20–87% швидше, ніж шлях llama.cpp через Metal.
  • Приблизно від 27B параметрів: різниця скорочується й здебільшого зникає. На такому розмірі впираєшся в пропускну здатність пам'яті, а не в обчислення, тож швидкість RAM важить більше за рушій.
  • Час до першого токена — та сама дратівлива пауза перед початком виводу — з MLX теж скорочується, особливо на чипах покоління M5 з окремими Neural Accelerators.

Тож чесний висновок не в тому, що MLX перемагає завжди. Він із великим відривом виграє на тих розмірах моделей, які більшість людей реально запускає локально, а на величезних моделях перевага тане.

Три способи спробувати

Лишитися в Ollama і змінити бекенд

Починаючи з Ollama 0.19 можна ввімкнути бекенд MLX, не полишаючи поточної конфігурації. Це потребує найменше зусиль і дає змогу порівняти швидкість на власному залізі, перш ніж щось вирішувати.

Перейти на нативний mlx-lm

Встановіть пакет і генеруйте просто з командного рядка:

pip install mlx-lm
python -m mlx_lm.generate --model mlx-community/Qwen3.5-35B-A3B-MLX-4bit --prompt "your prompt here"

Моделі в організації mlx-community на Hugging Face вже заздалегідь квантовані під це. Це шлях до максимальної швидкості, якщо вас не бентежить жити трохи ближче до термінала.

Використати LM Studio

Якщо Python для вас не варіант, LM Studio тепер підтримує моделі MLX — перемикач в один клік у браузері моделей. Це найпростіший вхід, якщо варіант із mlx-lm здається надто клопітким.

Підводні камені під час переходу

  • Це не проста заміна моделі. MLX потрібні власні квантовані версії моделей (репозиторії mlx-community), а не GGUF-файли, якими ви годували Ollama. Вкажіть mlx-lm на GGUF — і він просто впаде.
  • Запас RAM і далі має значення. Єдина пам'ять ефективна, але на машині, що й так працює на межі, — скажімо, Mac серії M із 16 ГБ, — рівень квантування треба обирати обережно. Для машин із менш ніж 32 ГБ єдиної пам'яті зазвичай найкращий компроміс — 4 біти.
  • Модель на 70B приросту не дасть. Це узгоджується зі зближенням результатів понад приблизно 27B: якщо завантажити найбільшу модель, яка технічно вміщається у ваш Mac, стеля пропускної здатності лишається тією самою, хоч би який рушій її запускав.
  • Не видаляйте Ollama. Для швидких разових тестів, сценаріїв із викликом інструментів і моделей для зору її екосистема та бібліотека досі зручніші. Розумно перестати користуватися нею за замовчуванням там, де важлива продуктивність, а не зносити її.

Кому це варто робити

  • Mac з Intel: пропустіть. MLX потребує Apple Silicon, M1 або новішого, тож лишайтеся на llama.cpp і Ollama.
  • Базові M1 або M2 з 8–16 ГБ RAM: приріст буде реальним, але меншим. Виграш зростає з кількістю ядер GPU й пропускною здатністю пам'яті, тож базовий M1 не почне відчуватися як M4 Max.
  • Чипи Pro, Max і Ultra з моделями приблизно від 3B до 20B: тут перехід окупається найнаочніше й одразу.
  • Усі, хто запускає MoE-моделі від 30B: категорія з найбільшим виграшем у бенчмарках вище.
  • Усі, у кого щільні моделі більші за приблизно 27B: переходьте заради невеликого скорочення часу до першого токена, але не розраховуйте на гучні цифри.

Добирайте рушій під чип

Ніщо з цього не робить MLX кращим у якомусь абстрактному сенсі. Ідеться про те, щоб використовувати інструмент на залізі, для якого його створено. llama.cpp — блискуча переносна програма, і саме через переносність її не можна налаштувати під одне сімейство чипів так само щільно, як фреймворк від компанії, що ці чипи виробляє.

Якщо ви всерйоз працюєте з локальними моделями на Mac — заради приватності, економії чи контролю, — рушій під вашим промптом важить не менше, ніж обрана модель. Люди годинами обирають, яку модель завантажити, і жодного разу не питають, що її насправді запускає. Перевірте свій — можливо, там простоює більше продуктивності, ніж ви думаєте.