Comments 36
отличный выбор, но скоро уже должны выйти новые устройства на м5, в том числе и мак студии, единственное рекомендовал бы как минимум следить за температурой, а лучше свои кривые настроить для вентиляторов, бывали у людей случаи отвала чипов, а маки любят тишину хоть и горячую
Спасибо!
Думаю, на год-два мне хватит. А там посмотрим, куда выведет тренд с мини AI станциями.
Сама по себе студия это очень мощная рабочая станция под широкий спектр задач. Плюс, в статье я убрал это как перегруз информацией, но она очень удобна в бытовом плане: компактная; выглядит красиво; экономична.
В общем, если она морально устареет для AI, то для других задач ее хватит еще очень на долго.
На вторичном рынке, кстати, до сих пор M2 продают. И я бы не назвал цену бросовой.
Поздравляю с покупкой!
с учетом того, что цены на любую RAM (в том числе ту, что в SSD) только растут, покупка возможно даже инвестиционная :)
Интересно будет почитать про практический опыт применимости
Модель для сложных задач и длинных ответов: mlx-community/Qwen2.5-72B-Instruct-4bit (~12 токен/с).
Qwen2.5 устарела на ~1.5 года, даже Qwen3 уже не особо актуальна. Переходите на новые более качественные модели, ваша машина легко потянет современные хорошие MoE-модели, которые в разы быстрее чем Qwen2.5-72B и, что важнее, намного качественнее.
Из современных моделей к 128Гб подойдут: OpenAI GPT-OSS-120B, GLM-4.5-Air 110B, Minimax M2.1 229B (в динамическом квантовании UD gguf, mlx не влезет в 128гб). Малые версии тоже есть, например, Qwen3-30B-A3B-2507 и остальные из современного списка, при этом с того момента успели выйти хорошие новинки.
Динамическое квантование от Unsloth позволяет опустится ниже 4-бит квантования, при этом сохраняя достаточно хорошее качество, так что можно запустить и Qwen3-235B-A22B, и свежий Minimax M2.1 229B.
Бенчмарк программирования Aider Polyglot для 1, 2, 3-битного динамического квантования UD:

Ноутбук у меня вполне бодрый (i9, 64 GB RAM, RTX 4070)
Идея была простая: докупить eGPU (а лучше - несколько) и получить относительно мощный сетап без покупки отдельной рабочей станции
Вообще, этот ноутбук позволяет запускать на хорошей скорости GPT-OSS-120B или GLM-4.5-Air и без eGPU, 64Гб RAM хватит, а через 4070 будет приличное ускорение для MoE.
Подробнее как запускать такое на ноутбуке или ПК где достаточно RAM и есть немного VRAM:
Запускаем GPT-OSS-120B на 6 Гб GPU и ускоряем до 30 t/s. Вам нужна RAM, а не VRAM.
Интересная новогодняя история!..
Пара вопросов:
1) зачем такая большая модель? А если модель меньших размеров (30b) + файнтюнинг + RAG?
2) это всё же проект по работе или личный? Изначально речь шла о том, что нельзя доверять данные третьим лицам, среди которых ещё и агрегаторы...
Спасибо!
Это ориентир, который я сложил у себя в голове по результатам чтения статей. Сейчас гоняю квалификацию (контрольные вопросы) на разных моделях. По результатам сложу уже собственное понимание. Планирую поделиться результатом.
Сложно ответить на этот вопрос. DocHub мой FOSS продукт. Им пользуются достаточно много компаний. Они иногда обращаются за помощью. Именно для него создаются агенты. Точнее для его новой версии. Также, сейчас я работаю корпоративным архитектором и работодатель не связан с моим продуктом, но я его использую для совей работы. Все это приводит к тому, что я оперирую чувствительной информацией.
Спасибо, будет интересно почитать отчёт о том, что удалось развернуть на такой машине и с какой скоростью оно работает.
Граф знаний - специализированная форма каталогизации знаний в репозитории. Дает возможность работать ИИ без классического RAG и без развертывания отдельного бэкенда;
Но с графом знаний принцип же тот же, что и с классическим RAG - нужно отыскать подходящие куски знаний (ретривер), и вставить их в промпт?
Да, задача та же. Но реализация иная. В моей реализации граф знаний для LLM это древовидный, иерархический каталог знаний. Примерно так: в нем есть области знаний, в них разделы, в них секции, в них полки и т.д.. Что-то типа библиотечного устройства.
При вопросе к LLM я передаю запрос пользователя, а также, в системном промпте сообщаю LLM, что есть вот такие области знаний, и если тебе нужно запроси их.
В ответ я получаю или конечный ответ или запрос к области знаний от LLM. Если ответ, я отдаю его пользователю сразу. Если же LLM решила, что нужны данные из конкретной области, я отдаю ей следующий системный промпт с перечнем секций. И ожидаю ответа от нее опять. Так продолжается пока LLM не сгенерирует конечный ответ.
Этот подход позволяет гораздо качественнее отвечать на вопросы пользователя:
LLM неплохо транслирует некачественные запросы в более качественные и понимает какие области знаний затронуты. Похоже на предварительные рассуждения у некоторых моделей. Т.е. то, что классические ретривер простой векторизацией запроса не решает.
LLM не получает кучу сопутствующего хлама. Он идет строго по графу. Его фокус остается строгим на ответе. Это позволяет давать глубокие и качественные ответы.
По пути, который проходит LLM по графу, я могу судить о качестве графа и улучшать его. Т.е. возникает обратная связь с понятным механизмом оценки и улучшения.
И все это не требует классической векторной БД с чанками. Весь процесс можно реализовать на фронте (при определенных условиях и подходе). При этом, данные для ответа могут находиться в привычных для себя средах. Они запрашиваются только тогда, когда это нужно. Это радикально повышает их актуальность и снижает требования к обновлению и доставке данных в RAG и источников.
Хотя на первый взгляд может казаться, что тут LLM слишком греет воздух, но по факту, когда на классическом RAG пользователь задает несколько десятков вопросов, чтобы получить нужный ответ, затраты еще выше, т.к. запросов к LLM +/- столько же, только еще пользователь потеет.
Ах да... граф еще позволяет проверять гипотезы поиска информации. Т.е. давать несколько ответов на вопрос если он неоднозначный. Но эту фичу я еще не впилил. Только продумал как сделаю.
Прям рождественская история :-)
Спасибо за интересный рассказ, читается на одном дыхании :-)
Согласен со многими выводами, локальный инференс - крутая вещь! Мне лично очень нравится пробовать его для разных личных задач и без всяких месячных подписок со скачущими ценами и пр. Если понадобится что-то тяжёлое то да, можно обратиться к провайдерам, а вот поизучать - самое то
А по какому курсу вы считали ~ $4000? Просто у продавца ценник за 400 т.р. перевалил. Или ценник подрос?
Курса особого нет. Это ориентир. Скажем так, вы не купите дешевле официального курса. А дальше работает удача и локальная конъюнктура.
В моем случае, думаю, имеет место новогодняя горячка. Возможно сейчас можно купить проще. В основном продавцы обещали именно после 12го пополнение запасов.
Плюс, я нахожусь в Питере. В Москве, судя по объявлениям, ценники ниже примерно на 20-30К. Но смысла ехать специально мне нет. На дорогу те же деньги уйдут. С таким же успехом можно прокатиться в Казахстан или туда, где официальный магазин есть. Эффект будет примерно тот же. Но цена ближе к $4000.
Сейчас на барахолке в Москве есть интересное предложение с ультрой (MAC Studio (M3 Ultra/ 28 CPU/ 60 GPU/ 256GB/ 1TB) за 530К. Это очень близко к оригинальному ценнику по официальному курсу (80). Насколько оно реальное - не знаю.
В общем, как и пишу в статье - дикий рынок.
кстати как аналог ещё можно было рассмотреть ai max+ 395 128gb там до 96vram и 32 ram в биосе можно выставить, ориг цена 2000евро, остальная цена от наглости барыг зависит
Пристально на него не смотрел. Но заметил при своем анализе. Главное там - низкая пропускная способность памяти.
Ключевое различие заключается в пропускной способности памяти. Унифицированная память M4 Max имеет значительно более высокую пропускную способность (до 819 ГБ/с), что критически важно для рабочих нагрузок, таких как редактирование видео, 3D-рендеринг и некоторые ИИ-задачи. Память на платформе AMD (около 250 ГБ/с) также быстрая, но сильно уступает в этом аспекте.
В совокупности с тем, что это тоже новая платформа, я не стал рисковать и выбрал проверенно и быстро.
кстати вот недавно пересел с lm studio в llama cpp и теперь без проблем использую gpt oss 20b 120-150 ток/с 128000контекст, и qwen3 coder 30b 20 ток/с 200000контекст на rtx 3090 (24gb) + 32gb ddr4
На gpt-oss-20b у меня с 16гб предел 16К контекст. Кстати с CUDA бэкэндом можно сделать и больше, часть уйдет в RAM, но скорость не сильно проседает, видимо драйвер умеет переливать в VRAM часто используемые части.
странно у меня если выбрать 128к контекста при запуске ram +1.3gb a vram + 14.5gb
а если выбрать 4к контекст то ram +1.3gb a vram +11,5gb ранее в лм студии были цифры куда выше.. (это всё на cuda 13.1)
Лучше смотреть в Task Manager на Dedicated memory (VRAM) и Shared memory (RAM).
Кстати, если поставить вулкан бэкэнд, то память выделяется только в VRAM и так можно узнать максимальный контекст. Только просто выделения контекста недостаточно, нужно его еще заполнить на 100%
Скрытый текст

в самом начале было такое же потребление памяти, тут уже 50к контекста и она не растёт и это в cuda варианте, далее не вижу смысла грузить контекст, это не так и быстро
Только просто выделения контекста недостаточно, нужно его еще заполнить на 100%
Да нет, память целиком выделяет в момент загрузки. Заполненность влияет только на скорость генерации.
GPT-OSS-20B для контекста использует SWA, механизм который в разы снижает потребление VRAM, чтобы его активировать, нужно включить Flash Attention. Полные 128к требуют +6гб VRAM, если включить квантование KV-кэша Q8_0, то будет +3Гб.
В llama.cpp по умолчанию работает новый режим --fit, который автоматически подбирает оптимальные параметры для эффективного использования GPU минус 1гб VRAM (параметр настраивается) и включает flash attention, поэтому такое отличие от LM Studio.
Под эффективным имеется ввиду другое распределение тензоров, те, которые используются всегда, пойдут на GPU, остальные, которые используются периодически, на CPU, и если осталась VRAM, то будет заполнена разреженными слоями с экспертами. Почему это так работает, выше я уже кидал ссылку на статью Вам нужна RAM, а не VRAM, где это объясняется.
В LM Studio можно включить "половину" от этого режима галочкой Force Model Expert Weights onto CPU (во время выбора модели зажать Alt для расширенных настроек), и перепроверить, что включен Flash Attention, чтобы оптимизировать расход памяти под контекст.

А я себе взял Intel Ultra 7 255H (6P + 8E + 2LP) на 64Гб (хотел докупить 96Гб, но не успел). У него 32гб видеопамяти, но всю использовать нельзя - не может выделить слишком большой кусок. На встройке около 20т/с, на ЦП 10-15т/с но тротлит и работает на 3.5ГГц вместо 5.1+4.5. gpt-oss-20b на встройке до 64К контекст, на ЦП все 128К. Из плюсов 2 thunderbolt и еще oculink можно воткнуть во второй m2.
На экране красовалась цена, уже ближе к 400К.
Сначала я решил, что, наверное, случайно что-то нажал, и "оно само пропало". Зашел в избранное, снова открыл карточку. Но новогоднего чуда не произошло. Цена осталась в стратосфере.
Стоит ли говорить, что я расстроился? Само по себе абсолютное значение еще укладывалось в мои морально‑финансовые рамки. Но скачок на ~20% буквально "на ровном месте" не позволял нажать кнопку заказа.
И это еще не все: Mac Studio умеет работать в кластере. На Хабре есть краткое саммари по теме.
ничего не понял. То у вас бюджет не позволяет, то вы уже на кластер замахнулись
Тут важно пояснить логику возникшего требования в 128Gb VRAM. Концептуально я пришел к тому, что мне нужны две модели, каждая под свой сценарий:
Модель для глубокого анализа архитектурного описания: должна быть максимально "умной". Пусть даже медленной. Вероятно - рассуждающей.
Модель для кодинга: нужна быстрая и компактная. Именно она должна жить рядом с IDE и помогать в работе с архитектурным кодом и артефактами.
Прикинув кандидатов на эти роли и нужный контекст, я решил, что инференс двух моделей (~70b + 7..14b) одновременно укладывается примерно в 128 GB VRAM и остается достаточно места под контекст.
а вы не думали вместо одного пк-монстра (у нас кстати такой mac studio стоит под 5к$) взять два - каждый под свою задачу? Вам же для одной задачи нужна быстрая небольшая модель, для другой - большая и медленная. В итоге вместо того, чтобы взять один пк с нормальной видеокартой (а видеокарты вроде 5090 никакой mac studio не догонит по скорости) и второй с большим количеством памяти, вы решили совместить это в одном пк. Получилось дорого и с сомнительной эффективностью (по скорости).
Бюджет остался без изменений - 400К. На кластер я сегодня не замахиваюсь. Это возможность масштабировать систему в будущем. Если это потребуется и будет рационально. Несомненно, это весомый плюс к выбору.
Про два хоста думал. Точнее думал, что вот есть ноут и возьму еще PC. Но быстро отказался в пользу eGPU на тот момент. Есть возможность объединять ресурс.
Дело в том, что я не уверен, что определенная мной конфигурация меня устроит. Мне нужен стенд на котором я смогу проверить все вероятные гипотезы. Когда они будут подтверждены, тут да, можно идти в специализацию железа.
Скоростью я в итоге пожертвовал в пользу общего объема памяти, отказавшись от Ultra. Мне, на текущем этапе, важнее возможность поставить больше экспериментов, чем поставить их быстро.
так архитектурно то всё понятно, бюджет 400к, но ноутбук это для работы человеку, а станция это сервер для экспериментов, с возможностью последующего расширения, когда будет новый бюджет.
Прошёл аналогичный путь, но покупать мак не стал, остался на х86 с убунтой. Подожду немного, пока unified memory architecture станет стандартом и под ARM всё заработает нормально. Но пока для локального инференса, увы, лучшие результаты действительно дают только маки.
Если кто-то ищет x86 ноут, могу порекомендовать ещё www.xmg.gg, там и UMA, и память с коррекцией ошибок, и водяное охлаждение, и прайс вполне нормальный. Можно в конце концов попросить друга привезти.
Как запускаете модели MLX? Я использовал LM Studio. Ollama и llama.cpp не поддерживают mlx пока. Вроде mlx должен быть более производительными на mac, так как и это нативная библиотека от Apple. Ещё на mac можно сделать кластер с помощью exo: https://exolabs.net/ и https://github.com/exo-explore/exo
Ну, LLM, погоди…