M4 Pro Mac mini: локальные LLM вместо облачных API — мой стек и настройка
My local model setup on an M4 Pro Mac Mini

Автор делится опытом запуска локального LLM-сервера на M4 Pro Mac mini с 48 ГБ RAM. Он объясняет, почему предпочитает локальные модели облачным API: непредсказуемость цен, лимиты, проблемы с конфиденциальностью и «суверенитет ИИ». В статье разбирается стек: Qwen3.6-35B-A3B-OptiQ-4bit и Gemma-4-E4B-it-OptiQ-4bit под управлением oMLX, доступ через Tailscale. Также даются практические советы по выбору моделей с учётом RAM и объясняется разница между dense и MoE моделями.
Облачные API — это арендованная земля: они могут менять цены, урезать лимиты или незаметно подменять модель, когда им вздумается.
- bambax
Хорошая настройка; но для простых задач или вопросов ИИ сейчас бесплатен? И, вероятно, останется бесплатным, так как я не вижу, чтобы Google начал брать плату за использование ИИ в своей поисковой системе? Так что затраты не могут быть мотивацией для запуска маленьких моделей локально?
Для более сложных или важных задач важны затраты, автономность и конфиденциальность, но тогда также важны производительность и качество.
Так что я не совсем убеждён, что это действительно стоит того; но это заманчиво!
- amanzi
Ни слова о производительности моделей? Я могу загрузить кучу разных моделей на свой маленький мини-ПК с 16 ГБ ОЗУ, но производительность ужасная. Мне всегда интересно, какую производительность люди получают с локальными моделями, которую они считают приемлемой?
- c16
> Запуск большой модели локально сводится к одному: сколько ОЗУ ей реально нужно в памяти.
Не совсем так. Это память И пропускная способность памяти. У вас может быть 1 ТБ памяти, но если пропускная способность памяти ужасная, у вас также будет медленный tok/s. A3B помогает с этим, но и MTP тоже.
Из моего опыта, вам лучше запускать плотную 27b-mlx с MTP, чем версию 3.6 с A3B. Вы говорите, что ваша модель занимает ~20 ГБ ОЗУ, но 3.8:27b-mlx занимает 18 ГБ и даёт мне очень приемлемые tok/s, и большую скорость, если отключить мышление, когда оно не требуется.
- akg_67
Недавние данные о производительности на моём M1 Max 32GB MacBook с использованием oMLX. Я работал над выбором подходящей модели и конфигурации для моего случая использования и системы. Используя промпт для рефакторинга и предложения улучшений для конкретного блока кода Django с расширением VSCode Cline.
---
Qwen3.8-27B-4bit, обработка промпта (PP) 66.3 ток/с, генерация токенов (TG) 11.8 ток/с
Ornith-1.5-35B-A3B-MLX-4bit, PP 379.7, TG 45.8
Ornith-1.5-35B-A3B-MLX-4bit, PP 381.5, TG 46.4
Qwen3.6-35B-A3B-mxfp4, PP 389.6, TG 47.6
Qwen3.6-35B-A3B-OptiQ-4bit, PP 342.6, TG 44.4
---
Qwen3.8-27B-4bit обычно заканчивается до завершения задачи, хотя даёт отличные частичные результаты.
Ornith-1.5-35B-A3B-MLX-4bit, похоже, часто зацикливается, особенно с вызовами инструментов.
Qwen3.6-35B-A3B-mxfp4, похоже, оптимален по скорости и качеству вывода.
Я собираюсь скоро протестировать Qwen3.6-35B-A3B-4bit с тем же блоком кода, просто чтобы проверить мою интуицию, что любые производные не работают лучше оригиналов.
- stub_out
Ох, M4 Pro. Мой старый M1 уже начинает показывать свой возраст, когда пытается запустить что-то больше 7B.
- thrw93747572007
Здесь довольно много "локально не работает" - к сожалению, часто без подробностей о том, для чего люди на самом деле хотят использовать свои модели. А мне было бы любопытно.
Лично я использую передовые модели в облаке для многих (мета-)когнитивных анализов, которые настолько тяжёлые, что я регулярно упираюсь в лимиты платных аккаунтов - так что я не лудит и не жадничаю с деньгами в этом случае.
Однако у меня также довольно хороший опыт с локальными моделями. Мой надёжный, но не экстремальный десктоп (с одной RX 9070 XT 16GB) в основном обслуживает gemma4:12b и специализированные модели (для эмбеддингов) в моей локальной сети. Это для общего использования, такого как простые запросы, простой код, переформатирование и тому подобное, но также для двух конкретных задач, которые работают постоянно:
а) Он подключён к Home Assistant (как второй этап после очень простых команд типа "включи свет XY", которые обрабатываются без LLM). Так что я могу бормотать в свои умные часы "компьютер, сколько у нас газа в варп-ядре и сколько энергии собрали коллекторы Бусарда из космической пыли сегодня?" (или описать более сложную световую сцену, или создать автоматизацию, которую я хочу, или что угодно).
Телефон транскрибирует это - с локальной моделью на устройстве - и отправляет на десктоп, у которого есть агентный доступ к HA, он просматривает датчики и данные, видит, что я пометил свои солнечные панели и батарею техническим словарём. Он делает правильные выводы, конвертирует несколько единиц и выдаёт мне хороший обзор. Всё без рук, пока я [...]
- amelius
> Основная причина запускать локально: облачные API - это арендованная земля. Они могут менять цены, упираться в ваши лимиты использования или менять модель, которая обслуживается за кулисами, когда им вздумается.
Да, но их легко заменить.
Основной причиной должна быть конфиденциальность.
- jumploops
Моя самая большая проблема с запуском локальных LLM на моём M4 Max/128GB RAM - это задержка предварительного заполнения (prefill).
С тех пор я приобрёл два DGX Spark, и ощущается гораздо более отзывчиво.