Локальные LLM на Mac M3: Ollama vs LM Studio
На Mac mini M3 Pro с 36 ГБ RAM я гоняю локальные модели уже год. Сначала через Ollama, потом параллельно поставил LM Studio, потом полгода жил на двух одновременно. В этой статье — честное сравнение для тех, кто только заходит на Mac в локальные LLM и не понимает, какой инструмент брать.
Что общего
Оба инструмента позволяют скачать GGUF-модели и поднять локальный API. Оба используют llama.cpp под капотом. Оба бесплатны. Оба работают на Apple Silicon с использованием Metal Performance Shaders.
Если тебе нужно одно — «открыл, скачал модель, поднял API на localhost» — оба справятся. Дальше начинаются нюансы.
Ollama
Это CLI-first. Ставится через homebrew или скачиваешь .pkg, после установки в системе появляется демон на 11434 порту.
brew install ollama
ollama serve
ollama pull qwen2.5-coder:14b
ollama run qwen2.5-coder:14b
# >>> чат прямо в терминалеAPI OpenAI-совместимый, и это, на мой взгляд, главная сила Ollama. Можно подключить любую утилиту, которая умеет в OpenAI API, и она заработает с локальной моделью без переписывания кода. Я туда подключаю Continue.dev в VSCode, Open WebUI, кастомные скрипты.
const res = await fetch('http://localhost:11434/v1/chat/completions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'qwen2.5-coder:14b',
messages: [{ role: 'user', content: 'привет' }],
}),
});Управление моделями через CLI: ollama list, ollama pull, ollama rm. Удобно для скриптов и автоматизации.
LM Studio
Это GUI-first. Скачиваешь приложение, открываешь, в нём встроенный браузер моделей с фильтрами по размеру/железу/качеству. Удобно подбирать модели под свой Mac: LM Studio показывает «эта модель влезет / не влезет в твою память» прямо в списке.
Чат — встроенный, как в ChatGPT. Удобный для тех, кто не любит терминал. Есть presets (system-промпты, температура, top-p), история, переключение моделей в один клик.
API OpenAI-совместимый, как у Ollama, но запускается отдельно через кнопку «Start Server» в Developer-вкладке. По умолчанию 1234-й порт.
Сильные стороны Ollama
- CLI и системный демон — модель грузится автоматически при первом запросе и держится в памяти.
- Простая интеграция в скрипты и автоматизацию.
- Меньше памяти на «само приложение» — Ollama это просто демон.
- Шире выбор Modelfile-шаблонов: можно делать кастомные модели на базе существующих.
Сильные стороны LM Studio
- Удобный встроенный чат.
- Информативный браузер моделей с фильтрами и оценкой совместимости.
- Гранулярные настройки в GUI: GPU layers, mlock, batch size, K/V cache type.
- Поддержка MLX-моделей (Apple Silicon native, быстрее GGUF на 15–25%).
Производительность
На моём M3 Pro 36GB:
- Qwen2.5-Coder 14B Q4_K_M — Ollama 35 t/s, LM Studio 38 t/s.
- Qwen2.5-Coder 14B MLX 4-bit — LM Studio 47 t/s, Ollama не поддерживает MLX.
- Llama 3.3 70B Q4_0 — обе по 4 t/s, оперативки впритык.
Ollama чуть медленнее в среднем, но разница не критичная. MLX в LM Studio даёт ощутимый прирост на маленьких моделях, на крупных разница тает в общем bottleneck по памяти.
Какие модели я держу
Под код — Qwen2.5-Coder 14B и DeepSeek Coder V2 16B Lite. Оба отлично заходят на M3 с 36 ГБ.
Для общего диалога — Qwen3 14B и Llama 3.3 70B (если есть терпение).
Для embedding — nomic-embed-text-v2, через Ollama. На локальном RAG в небольшом масштабе работает быстро.
Что я выбрал
Оба, и удалять не планирую. Ollama — мой основной API-провайдер для локальных скриптов и для Continue.dev в редакторе. LM Studio — когда хочется поковыряться с настройками модели, протестировать новый GGUF, поговорить с моделью без терминала.
Если бы мне пришлось выбрать один — взял бы Ollama, потому что мне важнее API-интеграция, а GUI-чаты я могу сделать через Open WebUI поверх Ollama.
Подводные камни
- Память. Не пытайся запустить 70B модель на M3 с 18 ГБ. Возможно, формально она «влезет» в 4-битной квантизации, но swap убьёт скорость.
- Контекст. Большой контекст съедает память сильнее, чем кажется. 32k-контекст у 14B-модели — ещё 6–8 ГБ KV-cache. Не выставляй больше, чем нужно.
- Тепловой троттлинг. Mac mini M3 нагревается под продолжительной нагрузкой и снижает производительность. У меня после 20 минут чата скорость падает на 10–15%.
Что в итоге
Если у тебя M3/M4 и ты хочешь локальную LLM — пробуй сначала LM Studio. Удобно ставится, удобно подбирать модели, не нужно открывать терминал. Когда созреешь до автоматизации и интеграции в код — добавляй Ollama. Параллельная установка их не конфликтует, держи оба, выбирай по задаче. И не пытайся сразу запустить самую большую модель: ужалит и качество, и температура корпуса.