Дисклеймер. Я держу сервис аренды маков, у меня флот одинаковых Mac mini и повод их гонять. Первые машины на M6 и M5 Pro у нас появятся вскоре после старта продаж, тогда выйдет вторая часть с реальными замерами. Единственная ссылка в тексте ведёт на страницу с данными, они открыты.
Зачем прогноз, если можно подождать замер
Через несколько дней Apple начнёт отгружать Mac mini на M6 и M5 Pro и Mac Studio на M5 Max и M5 Ultra. Первую неделю все будут спрашивать одно и то же, сколько это железо выдаёт на локальных моделях, а ответов не будет ни у кого, потому что машины только доехали.
Но кое-что посчитать можно заранее. В прошлой статье я замерил шесть моделей на базовом M4 и вывел простое правило, которое хорошо сошлось с практикой. Сейчас я применю его к новым чипам и опубликую цифры до замера. Потом замерю и покажу, где ошибся.
Так почти никто не делает, потому что страшно промахнуться публично. Мне кажется, наоборот. Прогноз без последующей проверки это гадание, а проверка без прогноза это просто таблица. Вместе они показывают, насколько вообще можно доверять модели, по которой все прикидывают скорость.
Правило, от которого считаем
Генерация токенов на Apple Silicon упирается в пропускную способность памяти, а не в вычисления. На каждый токен модель прогоняет через себя все свои веса, и скорость, с которой их можно прочитать из памяти, задаёт потолок.
Отсюда оценка. Делим полосу памяти на размер весов и получаем теоретический максимум токенов в секунду. Дальше вводим поправку на накладные расходы, потому что достичь пиковой полосы никогда не удаётся.
Поправку я взял не с потолка, а из собственных замеров M4. Вот что получилось на четырёх моделях в квантовании Q4_K_M через Ollama 0.31.2, три прогона на модель, разброс 0.1 процента.
Модель | Вес, ГБ | Теория при 120 ГБ/с | Факт на M4 | КПД |
|---|---|---|---|---|
Llama 3.2 3B | 2.0 | 60 | 46.7 | 0.78 |
Mistral 7B | 4.4 | 27 | 22.8 | 0.84 |
Llama 3.1 8B | 4.9 | 24 | 21.2 | 0.87 |
Qwen 2.5 14B | 8.5 | 14 | 11.7 | 0.83 |
Средний КПД 0.83, разброс от 0.78 до 0.87. Маленькая модель показывает худший КПД, и это важно, к этому вернусь.
Проверка на честность. Если применить правило с КПД 0.83 к Qwen 2.5 14B, получится 11.9 токена в секунду. Замер дал 11.7. Расхождение меньше двух процентов. Для инженерной прикидки это отлично.
Что известно о новых чипах
Из анонса Apple от 25 августа. Полоса памяти у M6 зависит от объёма, это стоит держать в голове при покупке.
Чип | Память | Полоса памяти |
|---|---|---|
M4, наш эталон | 16 ГБ | 120 ГБ/с |
M6 | 16 ГБ | 153 ГБ/с |
M6 | 24 и 32 ГБ | 170 ГБ/с |
M5 Pro | до 64 ГБ | 307 ГБ/с |
M5 Max | 36 ГБ | 460 ГБ/с |
M5 Max | 48, 64 и 128 ГБ | 614 ГБ/с |
M5 Ultra | до 512 ГБ | 1.2 ТБ/с |
Обратите внимание на младшие конфигурации. У M6 с 16 ГБ полоса 153, а не 170, потому что часть каналов памяти незадействована. У M5 Max с 36 ГБ и 32 ядрами графики полоса 460, а 614 даёт только версия с 40 ядрами и памятью от 48 ГБ. Разница 11 и 25 процентов соответственно, и она проявится ровно в скорости генерации. В прогнозе ниже для M5 Max взята старшая версия.
Прогноз
Считаем по правилу с КПД 0.83. Модель считается влезающей, если её вес с запасом 20 процентов на кэш контекста и систему помещается в память.
Модель | Вес, ГБ | M4 16 | M6 16 | M6 32 | M5 Pro 64 | M5 Max 128 | M5 Ultra 512 |
|---|---|---|---|---|---|---|---|
Llama 3.2 3B | 2.0 | 46.7 замер | 64 | 71 | 127 | 255 | 498 |
Llama 3.1 8B | 4.9 | 21.2 замер | 26 | 29 | 52 | 104 | 203 |
Qwen 2.5 14B | 8.5 | 11.7 замер | 15 | 17 | 30 | 60 | 117 |
Qwen 2.5 32B | 19 | нет | нет | 7.4 | 13 | 27 | 52 |
Llama 3.3 70B | 40 | нет | нет | нет | 6.4 | 13 | 25 |
Qwen 2.5 72B | 41 | нет | нет | нет | 6.2 | 12 | 24 |
DeepSeek V3 671B | 380 | нет | нет | нет | нет | нет | 2.6 |
Все числа токены в секунду на генерации, Q4_K_M, Ollama. Нет означает не влезает по памяти.
Что из этого следует
M6 это не апгрейд для локальных моделей. Прирост над M4 от 25 до 40 процентов в зависимости от объёма памяти. Комфортный потолок остаётся тем же, 8B. Модель 14B на 16 ГБ так и будет медленнее чтения. Если брать M6 ради LLM, брать только 32 ГБ, и то выигрыш скромный.
M5 Pro это первая машина в линейке mini, где 32B работает. 13 токенов в секунду для Qwen 2.5 32B это уже рабочая скорость, а 8B на 52 токенах летает. Плюс 64 ГБ впервые вмещают 70B, пусть и на 6 токенах, что годится для фоновых задач, но не для диалога.
M5 Max меняет класс. 70B на 13 токенах в секунду это уже комфортно, а 8B на 100 с лишним быстрее, чем нужно любому человеку. Для агентных сценариев, где модель дёргают по API параллельно, запас полосы важнее всего.
M5 Ultra нужен ровно для одного. Модели от 200B и выше. DeepSeek V3 на 2.6 токена в секунду это медленно, но это единственная машина в линейке, где он вообще запускается целиком.
Где прогноз почти наверняка ошибётся
Сразу скажу, чему я не верю в собственной таблице.
Маленькие модели на больших чипах. 498 токенов в секунду для 3B на Ultra не будет. На маленькой модели узкое место уходит от памяти к вычислениям и накладным расходам самого движка. КПД 0.78 у 3B на M4 уже намекает на это. Ожидаю, что реальный потолок для 3B на Max и Ultra окажется в разы ниже прогноза. Это первое, что я проверю.
Крупные модели на Ultra. Формула считает полосу единой, а у Ultra это два кристалла, склеенных мостом. Как модель на 400 ГБ разложится между ними и во что упрётся, из спецификации не следует.
Обработка промпта. Прогноз только про генерацию. Скорость обработки входного текста в полосу памяти не упирается вовсе, и в прошлых замерах она отличалась вдвое между моделями одного размера. На новых чипах с их графикой она может вырасти непропорционально.
Версия Ollama. Замеры на M4 сделаны на 0.31.2. К моменту второй части выйдет что-то новее, и часть разницы будет не от железа, а от софта. Постараюсь замерить обе версии.
Что дальше
Как только машины окажутся у нас, прогоню ту же методику и опубликую вторую часть. С таблицей прогноз против факта и разбором, где и почему разошлось.
Если у кого-то новое железо появится раньше и найдётся полчаса, методика открыта. Промпт, параметры и скрипт лежат на странице с данными, прогоните и киньте цифры в комментарии, соберу в общую таблицу до выхода второй части.

