Главный фактор скорости LLM — пропускная способность памяти
При локальном запуске больших языковых моделей на чипах Apple Silicon ключевым ограничением выступает не вычислительная мощность GPU или NPU, а скорость считывания весов модели из объединенной памяти. Для генерации каждого токена чип вынужден полностью пропустить через себя весь массив параметров нейросети.
Практические тесты на базовом процессоре M4 с памятью 120 ГБ/с и квантованием Q4_K_M (в среде Ollama 0.31.2) показали, что реальная скорость генерации стабильно составляет около 83% от теоретического максимума. Это позволяет с высокой точностью спрогнозировать производительность не вышедших на рынок конфигураций еще до их физического тестирования.
| Модель | Объем в Q4_K_M, ГБ | Теоретический предел (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 |
Характеристики подсистемы памяти линейки M6 и M5
При выборе конфигурации важно учитывать аппаратные ограничения базовых версий. В младших чипах инженеры Apple урезают каналы памяти, что напрямую режет скорость инференса:
- M6 (16 ГБ): урезанный интерфейс обеспечивает 153 ГБ/с вместо 170 ГБ/с в версиях на 24 и 32 ГБ (потеря ~11% скорости).
- M5 Max (36 ГБ): версия с 32 графическими ядрами ограничена 460 ГБ/с, в то время как 40-ядерные модификации (от 48 ГБ) предлагают 614 ГБ/с (разница 25%).
| Процессор | Объем оперативной памяти | Ширина шины памяти |
|---|---|---|
| M4 (база для сравнения) | 16 ГБ | 120 ГБ/с |
| M6 | 16 ГБ | 153 ГБ/с |
| M6 | 24 / 32 ГБ | 170 ГБ/с |
| M5 Pro | до 64 ГБ | 307 ГБ/с |
| M5 Max (32 GPU) | 36 ГБ | 460 ГБ/с |
| M5 Max (40 GPU) | 48 / 64 / 128 ГБ | 614 ГБ/с |
| M5 Ultra | до 512 ГБ | 1.2 ТБ/с |
Сводный прогноз: токены в секунду для разных моделей
Расчет составлен с учетом коэффициента полезного действия 0.83 и 20-процентного резерва памяти под системные нужды и контекстный буфер (KV-cache). Прочерк означает, что модель физически не помещается в доступный объем RAM.
| Нейросеть (квант Q4_K_M) | Размер, ГБ | 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.0 | — | — | 7.4 | 13 | 27 | 52 |
| Llama 3.3 70B | 40.0 | — | — | — | 6.4 | 13 | 25 |
| Qwen 2.5 72B | 41.0 | — | — | — | 6.2 | 12 | 24 |
| DeepSeek V3 671B | 380.0 | — | — | — | — | — | 2.6 |
Практические выводы для выбора устройства
- Чип M6 не дает качественного скачка. Прирост в 25–40% относительно M4 оставляет комфортным запуск только легких сетей на 8B параметров. Модели уровня 14B работают на грани скорости комфортного чтения.
- M5 Pro — минимальный порог для сетей 32B. 13 токенов в секунду на Qwen 2.5 32B обеспечивают комфортный интерактивный диалог, а 8B-модели выдают свыше 50 ток/с. Версия на 64 ГБ также позволяет запускать 70B-модели в фоновом режиме (около 6.4 ток/с).
- M5 Max раскрывает потенциал 70B. Скорость 13 ток/с на моделях класса 70B–72B делает чип оптимальным для сложных задач и параллельных агентных запросов.
- M5 Ultra незаменим для сверхтяжелых сетей. Это единственная потребительская платформа, способная целиком вместить DeepSeek V3 (671B), пускай и со скромной скоростью порядка 2.6 ток/с.
Где расчетная модель может разойтись с практикой
Математическая формула может иметь погрешности в крайних сценариях:
- Легкие модели на мощных чипах: Скорость Llama 3B на M5 Ultra вряд ли достигнет 498 ток/с, так как упор сместится с пропускной способности памяти на задержки движка и вычислительные блоки.
- Специфика склейки Ultra: M5 Ultra состоит из двух кристаллов, объединенных межпроцессорным мостом. Распределение весов огромных сетей между блоками может создать дополнительные накладные расходы.
- Фаза Prefill: Формула применима только к этапу генерации токенов (Decoding). Обработка входящего промпта зависит от сырой вычислительной мощности GPU и оптимизации конкретных фреймворков.