Дисклеймер. Я держу сервис аренды маков, у меня флот одинаковых 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. К моменту второй части выйдет что-то новее, и часть разницы будет не от железа, а от софта. Постараюсь замерить обе версии.

Что дальше

Как только машины окажутся у нас, прогоню ту же методику и опубликую вторую часть. С таблицей прогноз против факта и разбором, где и почему разошлось.

Если у кого-то новое железо появится раньше и найдётся полчаса, методика открыта. Промпт, параметры и скрипт лежат на странице с данными, прогоните и киньте цифры в комментарии, соберу в общую таблицу до выхода второй части.