Локальные модели на Apple Silicon
Сколько токенов в секунду реально выдаёт Mac mini
Замеры на нашем железе, а не оценки по спецификации. Методика открыта, данные под лицензией CC BY, можно перепроверять и цитировать. Ниже два блока, и их важно не путать. Первый измерен. Второй посчитан по формуле, и мы уже проверили её на замерах M5 Pro.
Измерено
M4 (Mac mini), 16 ГБ, 120 GB/s
Ollama 0.31.2, квантование Q4_K_M, 3 прогона на модель плюс отброшенный прогревочный, разброс 0.1 процента.
| Модель | Параметров | Генерация, ток/с | Обработка промпта, ток/с |
|---|---|---|---|
| Llama 3.2 3B | 3B | 46.7 | 1720 |
| Mistral 7B | 7B | 22.8 | 645 |
| Qwen 2.5 7B | 7B | 22.3 | 1130 |
| Llama 3.1 8B | 8B | 21.2 | 587 |
| DeepSeek R1 8B | 8B | 20.0 | 531 |
| Qwen 2.5 14B | 14B | 11.7 | 606 |
Что из этого следует практически. Всё до 8B выдаёт больше 20 токенов в секунду, это быстрее, чем читает человек. 14B на 16 ГБ запускается, но 11.7 токена это уже ожидание. Обработка промпта идёт на порядок быстрее генерации, длинный контекст не проблема, проблема сгенерировать ответ на него.
Прогноз, не замер
Новая линейка M6, M5 Pro, M5 Max и M5 Ultra
Новая линейка Apple в продаже с 22 сентября 2026. Цифры ниже посчитаны по правилу, выведенному на наших замерах M4 и проверенному на M5 Pro. Генерация упирается в полосу памяти, поэтому скорость примерно равна полосе, делённой на размер весов, с поправкой 0.83 на накладные расходы. Поправка выведена из четырёх замеренных моделей, а не взята с потолка. По мере появления замеров новой линейки таблица обновляется, а прогноз остаётся рядом, чтобы было видно, где он промахнулся.
| Модель | Вес, ГБ | M4 (замер) | M6 16 GB 16 ГБ, 153 GB/s | M6 32 GB 32 ГБ, 170 GB/s | M5 Pro 64 ГБ, 307 GB/s | M5 Max 128 ГБ, 614 GB/s | M5 Ultra 512 ГБ, 1.2 TB/s |
|---|---|---|---|---|---|---|---|
| Llama 3.2 3B | 2 | 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. Модель считается влезающей, если её вес с запасом 20 процентов на кэш контекста и систему помещается в память.
Где прогноз почти наверняка ошибётся
Маленькие модели на широкой шине. Сотни токенов в секунду для 3B на M5 Max и Ultra не будет, там узкое место уходит от памяти к вычислениям. Для M5 Max это уже подтвердилось на чужих замерах, сверка ниже. Крупные модели на Ultra, у которого два кристалла на мосту, формула считает единой полосой, и как модель между ними разложится, из спецификации не следует. И прогноз только про генерацию, скорость обработки промпта в полосу не упирается вовсе.
Проверка прогноза
Прогноз против замеров на M5 Pro и M5 Max
Первая проверка наша. На M5 Pro 48 ГБ тем же методом, что и на M4, Qwen 2.5 14B выдал 29.4 токена в секунду при прогнозе 30, расхождение 2.0 процента. Машина при замере не простаивала, так что это нижняя граница.
Вторая проверка по независимой сводке. Сообщество llama.cpp ведёт таблицу замеров Apple Silicon, где каждый чип меряют одной командой на одной сборке, и там уже есть M5 Pro и M5 Max. Модель в таблице Llama 2 7B, а не наши, поэтому проверяется само правило: полоса памяти, умноженная на 0.83 и делённая на вес модели.
| Чип | Квантование | Вес, ГБ | Прогноз, ток/с | Замер, ток/с | Ошибка прогноза |
|---|---|---|---|---|---|
| M5 Pro 307 ГБ/с | F16 | 13.5 | 18.9 | 21.55 | -12.3% |
| M5 Pro 307 ГБ/с | Q8_0 | 7.2 | 35.6 | 38.92 | -8.5% |
| M5 Pro 307 ГБ/с | Q4_0 | 3.8 | 66.7 | 66.33 | +0.6% |
| M5 Max 614 ГБ/с | F16 | 13.5 | 37.8 | 37.11 | +1.9% |
| M5 Max 614 ГБ/с | Q8_0 | 7.2 | 71.2 | 72.42 | -1.7% |
| M5 Max 614 ГБ/с | Q4_0 | 3.8 | 133.3 | 119.92 | +11.2% |
Средняя ошибка правила на 6 точках 6.0 процента, наибольшая 12.3. Промахи в обе стороны, систематического завышения нет. Там, где мы заранее ждали промаха, он и случился: самая лёгкая модель на самой широкой шине, M5 Max на Q4_0, вышла на 11.2 процента ниже прогноза. На широкой шине у маленькой модели упор смещается от памяти к вычислениям и накладным расходам движка.
Модель и инструмент в сводке другие, чем у нас, поэтому она проверяет само правило. Речь только о генерации, обработка промпта от полосы не зависит.
Источник: обсуждение #4167 в репозитории llama.cpp, сборка c1d0e7a, команда llama-bench -p 512 -n 128 -ngl 99. Сверено 24 сентября 2026.
Методика
Как мерили и как перепроверить
Ollama REST API, запрос без стриминга, один и тот же промпт для всех моделей, num_predict 512, temperature 0.7. Один прогревочный запрос отбрасывается, затем 3 записанных прогона, публикуется медиана. Скорость генерации это eval_count делить на eval_duration, как их отдаёт сама Ollama. Машина в остальном простаивала, macOS 15.3.1 (Sequoia).
Сырые данные в JSON лежат по адресу macyou.co/benchmarks.json. Если у вас есть другое железо и полчаса, прогоните ту же методику и пришлите цифры, соберём общую таблицу.
Проверить на своей задаче до покупки
Все машины из таблицы можно взять в аренду на месяц, поставить свою модель и померить на своих данных. Дешевле, чем купить и обнаружить, что 16 ГБ не хватило.
Выбрать машину