Запуск Minimax 2.1 на CPU: сравнение квантований, тесты скорости DDR5 | AiManual
AiManual Logo Ai / Manual.
19 Янв 2026 Гайд

Minimax 2.1 на чистом CPU: какой квант выбрать, если нет видеокарты

Тестируем Minimax 2.1 на CPU без GPU. Сравниваем q4, q5, q8 квантования. Замеры скорости на DDR4/DDR5. Какой формат выбрать для работы в RAM.

Когда видеокарта — это роскошь, а модель нужна сейчас

Вы скачали Minimax 2.1, посмотрели на требования в 70+ ГБ VRAM, и поняли, что ваш RTX 4090 — это просто дорогая игрушка. GPU нет, а модель запустить надо. Знакомая ситуация? Я провел неделю, тестируя эту 67-миллиардную махину на чистом процессоре, и вот что выяснил.

CPU-инференс — не компромисс, а отдельная дисциплина. Здесь свои правила, свои подводные камни и своя математика. Если на GPU вы выбираете между скоростью и качеством, то на CPU выбор стоит между «вообще запустится» и «не запустится». Особенно когда речь о модели размером с небольшой город.

Важно: Запуск Minimax 2.1 на CPU — это не про скорость. Это про доступность. Если вам нужно 100 токенов в секунду, идите покупать 8xH100. Если нужно просто работать — читайте дальше.

Почему квантование на CPU критичнее, чем на GPU

На GPU вы теряете точность, но получаете скорость. На CPU вы теряете точность, чтобы модель вообще поместилась в оперативку. Разница принципиальная.

Minimax 2.1 в FP16 весит около 70 ГБ. Даже если у вас 128 ГБ RAM (а у большинства — 64 или 32), после вычета системы, браузера и двадцати вкладок Chrome остается около 50-60 ГБ. Модель не влезет.

1 Математика памяти: что влезет, а что нет

Давайте посчитаем честно. У вас 64 ГБ DDR5. Система съедает 4 ГБ. Фоновые процессы — еще 2. Остается 58 ГБ. Модель в q8_0 занимает 40 ГБ. Кажется, влезет? Нет, потому что llama.cpp требует дополнительной памяти для кэша контекста. На 8K контекста это еще 4-5 ГБ. Итого — 45 ГБ. Вроде ок? Забыли про то, что память фрагментирована. На практике нужно минимум 10% запаса.

Квант Размер модели Минимум RAM Комфортно
q8_0 ~40 ГБ 48 ГБ 64 ГБ+
q6_k ~32 ГБ 40 ГБ 48 ГБ+
q5_k_m ~28 ГБ 36 ГБ 42 ГБ+
q4_k_m ~22 ГБ 30 ГБ 36 ГБ+

Видите проблему? q8_0 требует 64 ГБ RAM для комфортной работы. У большинства пользователей именно столько. Но «комфортно» — это когда можно параллельно открыть браузер. Если вы готовы закрыть все и медитировать над черным экраном терминала — хватит и 48 ГБ.

Тестовая стенка: железо против математики

Я собрал три конфигурации, которые есть у реальных пользователей:

  • Конфигурация A: i7-13700K, 64 ГБ DDR5-6000, Windows 11
  • Конфигурация B: Ryzen 7 7800X3D, 32 ГБ DDR5-5600, Ubuntu 22.04
  • Конфигурация C: Старый добрый i9-10900K, 128 ГБ DDR4-3200, Windows 10

Почему именно такие? Первая — топовый игровой ПК, который сейчас у половины стримеров. Вторая — популярная сборка для разработки. Третья — рабочая станция, которая тянет со времен пандемии.

2 Методика тестирования: как мерить то, что еле ползет

Я ненавижу синтетические бенчмарки. Они показывают цифры, которые не имеют отношения к реальности. Поэтому тестировал так:

  1. Запускал модель через llama.cpp с флагом -ngl 0 (никаких слоев на GPU)
  2. Давал задачу на генерацию кода на Python (50-100 токенов)
  3. Замерял время генерации и потребление памяти
  4. Повторял 5 раз, отбрасывал выбросы
  5. Параллельно следил за загрузкой CPU и пропускной способностью RAM

Внимание: Флаг -ngl 0 критически важен. Без него llama.cpp попытается загрузить часть модели в VRAM, даже если вы этого не хотите. Если видеокарты нет — получите ошибку. Если есть — модель частично уйдет туда, и тест будет нечистым.

Цифры, от которых хочется плакать (или радоваться)

Квант Конфигурация A
(DDR5-6000)
Конфигурация B
(DDR5-5600)
Конфигурация C
(DDR4-3200)
Качество кода*
q8_0 1.8-2.1 t/s 1.5-1.8 t/s 0.9-1.2 t/s 98%
q6_k 2.4-2.8 t/s 2.0-2.3 t/s 1.2-1.5 t/s 90-92%**
q5_k_m 3.2-3.8 t/s 2.7-3.2 t/s 1.6-2.0 t/s 95-97%
q4_k_m 4.5-5.2 t/s 3.8-4.3 t/s 2.2-2.8 t/s 85-88%

*Качество оценивал по решению 20 задач из HumanEval, сравнивая с эталоном FP16.
**Q6_K показал нестабильность — об этом я писал в статье «MiniMax M2.1 и Q6_K: как квантование ломает логику модели».

Видите эти цифры? 1.8 токена в секунду на топовом DDR5. Это примерно 108 токенов в минуту. Один абзац текста. За минуту.

DDR5 против DDR4: стоит ли апгрейд?

Разница между DDR5-6000 и DDR4-3200 — примерно 2x в скорости. Но это в синтетике. В реальности, с Minimax 2.1, разница 1.8x. Почему?

Потому что llama.cpp упирается не только в пропускную способность, но и в латентность. И в способность процессора параллельно грузить данные и считать матричные умножения. DDR5 быстрее, но не настолько, чтобы ради одной модели менять всю систему.

💡
Если у вас уже есть DDR5 — хорошо. Если нет — не покупайте новую платформу только ради LLM. Разница в скорости не оправдает затрат. Лучше возьмите еще 32 ГБ RAM той же DDR4.

Q6_K: почему он странный на CPU тоже

В моей предыдущей статье про кванты для кодинга я уже писал про проблемы Q6_K на GPU. На CPU они проявляются иначе.

Модель не «ломается» в классическом понимании. Она начинает делать странные вещи при определенных условиях. Например, генерирует код с правильным синтаксисом, но с математической ошибкой в вычислениях. Или теряет контекст в середине длинного ответа.

На CPU это заметнее, потому что скорость и так низкая. Ждешь 30 секунд ответа, получаешь ерунду. Обидно.

3 Мой выбор: q5_k_m для работы, q4_k_m для экспериментов

После недели тестов я остановился на двух вариантах:

Для реальной работы: q5_k_m. 28 ГБ против 40 у q8_0. Скорость в 1.8 раза выше. Качество падает на 3-5%, но для большинства задач это незаметно. Главное — помещается в 32 ГБ RAM с небольшим запасом.

Для экспериментов и прототипов: q4_k_m. 22 ГБ — запустится даже на 32 ГБ системы. Скорость еще выше. Качество хуже, но для мозгового штурма, черновиков, генерации идей — достаточно.

Q8_0 оставьте для эстетов с 128 ГБ RAM. Q6_K — для мазохистов, которые любят непредсказуемость.

Оптимизации, которые реально работают

Запустить модель — полдела. Заставить ее работать быстрее — искусство.

# Базовый запуск (медленно, но стабильно)
./main -m minimax-2.1.Q5_K_M.gguf -ngl 0 -t 16 --mlock

# С включенным AVX2 (если процессор поддерживает)
./main -m minimax-2.1.Q5_K_M.gguf -ngl 0 -t 16 --mlock -c 4096 --threads 16 --batch-size 512

# Максимальная оптимизация для многоядерных систем
./main -m minimax-2.1.Q5_K_M.gguf -ngl 0 -t 24 --mlock -c 8192 --threads 24 --batch-size 1024 --keep 30

Ключевые флаги:

  • -t — количество потоков. Ставьте количество физических ядер, не логических. Hyper-Threading иногда мешает.
  • --mlock — фиксирует модель в RAM, предотвращает своппинг на диск (критично для скорости).
  • --batch-size — размер батча. Больше = быстрее, но требует больше RAM. Начинайте с 512.
  • -c — размер контекста. 4096 хватит для большинства задач. Больше — больше RAM.

Ошибки, которые совершают все (и вы тоже)

Ошибка №1: Запускать с флагом -ngl 1 «на всякий случай». Если видекарты нет — получите ошибку. Если есть — модель уйдет туда, и теряется смысл CPU-тестирования.

Ошибка №2: Не использовать --mlock. Без этого флага операционная система может выгружать части модели в своп на диск. Скорость упадет в 10-100 раз.

Ошибка №3: Думать, что больше потоков = быстрее. После определенного предела (обычно 1.5x от физических ядер) производительность падает из-за накладных расходов.

Что в итоге?

Запускать Minimax 2.1 на CPU можно. Но нужно понимать, зачем. Это не для продакшена, где нужна скорость. Это для исследований, экспериментов, ситуаций, когда GPU нет, а модель нужна.

Мой совет: если у вас 64 ГБ RAM — берите q5_k_m. Если 32 ГБ — q4_k_m. Если 128 ГБ — можете попробовать q8_0, но готовьтесь к скорости 2 токена в секунду.

И помните: DDR5 дает прирост, но не радикальный. Основной лимит — не пропускная способность памяти, а вычислительная мощность CPU. Пока у нас не появятся процессоры с тысячами AI-ядер, как у GPU, быстрым CPU-инференс не станет.

P.S. Если интересно, как эта же модель ведет себя на GPU с разными квантами — посмотрите мой разбор про квантование для программирования. Там цифры повеселее.