У ваших менеджеров уходит по 4 часа в день на переписку с клиентами - шаблонные ответы, уточнения, повторение одного и того же. А вы ещё платите за облачные AI-сервисы, где ваши данные уходят неизвестно куда. Вот как запустить языковую модель прямо на вашем Mac без облака, без программиста и за один вечер.
Разберём на примере стройфирмы: у вас есть прайс на работы и типовой договор подряда. Вы хотите, чтобы менеджер мог спросить у локальной модели «сколько стоит ремонт кухни 10 кв.м?» и получить ответ на основе вашего прайса, не выходя в интернет. Это пример, не реальный кейс автора.
Почему Mac с M-чипом - это ваш личный AI-сервер
Обычные ноутбуки с дискретной видеокартой имеют два отдельных склада памяти: системная RAM (для процессора) и VRAM (для видеокарты). Чтобы запустить языковую модель, нужно перетаскивать данные между ними - это медленно.
У Apple Silicon (чипы M1, M2, M3, M4, M5) память единая. Процессор, видеокарта и нейронный движок читают одни и те же данные без копирования. Пропускная способность этой памяти:
- M2 Pro: 200 GB/s
- M3 Max: 400 GB/s
- M4 Pro: 273 GB/s
- M4 Max: 546 GB/s
- M4 Ultra: 819 GB/s
Для запуска модели это принципиально: вы можете загрузить модель весом 40 GB и сразу работать с ней на видеокарте без задержек.
Минус: всю память делят браузер, система, видео - при активной работе остаётся меньше, чем написано в характеристиках. Планируйте с запасом 2-3 GB на фоновые процессы.
Два инструмента: MLX и llama.cpp - что выбрать бизнесу
Есть два основных способа запустить модель на Mac. Выбор зависит от того, что вам нужно.
MLX - фреймворк от Apple. Он быстрее обрабатывает длинные промпты (например, целый договор), позволяет дообучать модель под ваши данные. Минус: требует конвертации модели в свой формат или готовой модели с сайта Hugging Face.
llama.cpp - универсальный инструмент. Работает с любыми моделями в формате GGUF, легко подключается к другим программам (например, к вашему CRM через API). Немного медленнее на длинных промптах, но для чата разница незаметна.
Для стройфирмы из примера: если вы хотите просто чат-бота для менеджеров - берите llama.cpp. Если планируете дообучать модель на своих документах - MLX.
Как установить и запустить MLX за 20 минут
MLX - это набор утилит, которые устанавливаются одной командой. Вам нужен Python (обычно уже есть на Mac) и macOS 13.5 или новее.
# Установка
pip install mlx-lm
# Первый запуск - модель скачивается автоматически
mlx_lm.generate \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--prompt "Объясни unified memory за 100 слов" \
--max-tokens 200
Модели хранятся в папке ~/.cache/huggingface/hub/. Первый запуск скачивает их - нужно интернет-соединение.
Чтобы запустить сервер, к которому можно подключиться из любой программы (например, из вашей CRM):
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit --port 8080
Теперь к этому серверу можно обращаться как к обычному API - любой разработчик или даже менеджер через скрипт сможет отправлять запросы.
Как конвертировать модель под свои данные
На сайте Hugging Face есть тысячи уже готовых моделей в MLX-формате. Если нужной нет - конвертируете сами:
# Конвертация с квантованием в 4-bit (меньше памяти, чуть хуже качество)
mlx_lm.convert \
--hf-path mistralai/Mistral-7B-Instruct-v0.3 \
--mlx-path ./mistral-7b-mlx \
-q
# Квантование в 8-bit (лучше качество, вдвое больше размер)
mlx_lm.convert \
--hf-path mistralai/Mistral-7B-Instruct-v0.3 \
--mlx-path ./mistral-7b-mlx-8bit \
--q-bits 8
Конвертация требует оперативной памяти = размер модели в BF16: для Mistral-7B - 14 GB, для Llama-3.3-70B - 140 GB. Процесс занимает 5-30 минут.
После конвертации модель лежит в локальной папке. Запускаете:
mlx_lm.generate --model ./mistral-7b-mlx --prompt "Сколько стоит ремонт кухни 10 кв.м?"
Как запустить llama.cpp и выжать максимум скорости
llama.cpp собирается из исходников. Звучит страшно, но на деле это две команды в терминале:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build -DGGML_METAL=ON
cmake --build build -j$(sysctl -n hw.ncpu)
После сборки запускаете модель с полной выгрузкой на видеокарту:
./build/bin/llama-cli \
-m ./llama-3.2-3b-q4_k_m.gguf \
--n-gpu-layers 99 \
--ctx-size 8192 \
--flash-attn \
-p "Привет, как дела?"
Флаг --n-gpu-layers 99 помещает все слои модели на видеокарту. Частичная выгрузка не имеет смысла - либо всё на GPU, либо только на процессоре.
Для больших моделей (70B) нужно управлять кешем:
./build/bin/llama-cli \
-m ./llama-3.3-70b-q4_k_m.gguf \
--n-gpu-layers 99 \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--ctx-size 32768 \
--flash-attn
Что быстрее: MLX или llama.cpp
Типичные показатели на Llama-3.2-3B и Llama-3.1-8B в 4-bit:
M3 Pro 18GB:
- llama.cpp Metal, 3B: генерация ~85 токенов/с, prefill ~600 токенов/с
- MLX 3B: генерация ~90 токенов/с, prefill ~850 токенов/с
- llama.cpp Metal, 8B: генерация ~45 токенов/с, prefill ~350 токенов/с
- MLX 8B: генерация ~48 токенов/с, prefill ~520 токенов/с
M4 Pro 24GB:
- llama.cpp Metal, 8B: генерация ~65 токенов/с, prefill ~480 токенов/с
- MLX 8B: генерация ~72 токенов/с, prefill ~720 токенов/с
M2 Ultra 96GB:
- llama.cpp Metal, 70B: генерация ~25 токенов/с, prefill ~200 токенов/с
- MLX 70B: генерация ~28 токенов/с, prefill ~380 токенов/с
Вывод: MLX быстрее на обработке длинных промптов (prefill) на 30-60%. На генерации ответов разница 5-15%. Для чата с короткими вопросами разница незаметна. Для пакетной обработки длинных документов MLX выгоднее.
M5 Neural Accelerators: ускорение через MLX
Новые чипы M5 (2025) получили обновлённый нейронный движок. MLX использует его автоматически - время до первого ответа сокращается в 3-4 раза по сравнению с M4. Скорость генерации растёт меньше (1.5-2 раза) - здесь узкое место пропускная способность памяти, а не вычисления.
llama.cpp на M5 тоже работает быстрее, но прирост меньше - он не использует специфические операции нейронного движка напрямую.
Как дообучить модель под свой бизнес без программиста
MLX - единственный локальный инструмент, который позволяет дообучать модель прямо на Mac. Это нужно, чтобы модель знала ваши прайсы, договоры, типовые ответы.
pip install mlx-lm
# Подготовить данные в формате JSONL - файл с парами вопрос-ответ
# Например: {"prompt": "Сколько стоит ремонт кухни 10 кв.м?", "completion": "18 000 руб. за кв.м, итого 180 000 руб."}
# LoRA дообучение (не меняет всю модель, только небольшую часть)
mlx_lm.lora \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--train \
--data ./my-dataset \
--batch-size 4 \
--num-layers 16 \
--iters 1000 \
--save-every 200 \
--adapter-path ./my-adapter
# Использование дообученной модели
mlx_lm.generate \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--adapter-path ./my-adapter \
--prompt "Сколько стоит ремонт кухни 10 кв.м?"
Память для дообучения: базовая модель + активации + градиенты. Для 3B модели с batch_size=4 - около 12-14 GB. M2 Pro 16GB справляется впритык. Рекомендуется M2 Max 32GB и выше.
llama.cpp не поддерживает дообучение - только запуск готовой модели.
Какую модель выбрать под ваш Mac
Практическая таблица «чип - модель - квантование»:
| Чип | Память | Максимальная модель | Рекомендуется |
|---|---|---|---|
| M1 / M2 | 8 GB | 7B Q4 | Llama-3.2-1B Q8 |
| M2 Pro / M3 Pro | 16 GB | 13B Q4 | Llama-3.1-8B Q8 |
| M2 Pro / M3 Pro | 18 GB | 13B Q8 | Llama-3.1-8B Q8 |
| M3 Max / M4 Max | 32-36 GB | 30B Q4 | Llama-3.1-8B Q8 + 70B Q4 (медленно) |
| M2 Ultra / M4 Max | 48-64 GB | 70B Q4 | Llama-3.3-70B Q4_K_M |
| M2 Ultra / M3 Ultra | 96-192 GB | 70B Q8 / 405B Q4 | Llama-3.3-70B Q8 |
Для кода и технических задач - Qwen2.5-Coder-7B Q8 на 16GB отличный вариант. Для русского языка - Qwen2.5-7B-Instruct Q8.
Частые вопросы
MLX или llama.cpp - что быстрее на одном и том же Mac?
MLX быстрее на обработке длинных промптов на 30-60%. На генерации разница 5-15% в пользу MLX. Для большинства задач выбор определяется не скоростью, а форматом модели: MLX требует конвертации или готовой модели, llama.cpp работает с любым GGUF. Если модель есть в обоих форматах - MLX предпочтительнее.
Сколько памяти нужно для 70B модели на Apple Silicon?
Llama-3.3-70B Q4_K_M: около 40 GB для весов + 8-16 GB кеша при контексте 8K-32K. Итого нужно 48-56 GB. Минимально комфортный чип - M2 Ultra 60GB или M4 Max 48GB (с ограниченным контекстом). На M3 Max 36GB модель запустится с контекстом 4K, но будет медленно.
Работает ли MLX на Mac с Intel-процессором?
Нет. MLX требует Apple Silicon (M1 и новее). На Intel Mac единственный вариант - llama.cpp в режиме процессора (без видеокарты). Скорость для 7B модели - около 5-15 токенов/с, практически неудобно.
Можно ли дообучить модель прямо на MacBook через MLX?
Да, LoRA доступна через mlx_lm.lora. Требования: минимум 16 GB для 3B модели, 32 GB для 7B. MacBook Pro M3 Pro 18GB справится с 3B LoRA при batch_size=2. Полное дообучение (не LoRA) требует значительно больше памяти и на MacBook практически нереально даже для 3B.
Как выбрать квантование для Apple Silicon: GGUF или MLX-формат?
Если главная задача - чат и модель есть на mlx-community в нужном квантовании - берите MLX. Если нужна интеграция с другими программами (Ollama, GPT4All, сервер) - GGUF универсальнее. Оба формата поддерживают 4-bit и 8-bit квантование с сопоставимым качеством.
Что внедрить прямо сейчас
- Проверьте, какой у вас Mac (M1 или новее) и сколько памяти.
- Установите MLX (одна команда
pip install mlx-lm) или соберите llama.cpp (две команды). - Скачайте модель из таблицы выше - начните с 8B модели на 16GB.
- Запустите сервер и подключите к нему вашу CRM или другой инструмент через API.
- Если нужно, чтобы модель знала ваши документы - соберите 10-20 пар вопрос-ответ и дообучите через LoRA.
Бесплатный план: MLX и llama.cpp - полностью бесплатны. Модели - бесплатны. Вам нужен только Mac.
AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.