MiniMax 2.5 локально на 3x3090: GGUF, бенчмарки 22 t/s, оптимизация VRAM | AiManual
AiManual Logo Ai / Manual.
13 Фев 2026 Гайд

Как запустить MiniMax 2.5 локально: бенчмарки, GGUF и оптимизация для 3x3090

Полный гайд по запуску MiniMax-M2.5 локально на 3 видеокартах RTX 3090. Бенчмарки производительности 20-22 t/s, оптимизация VRAM, команды llama-server, квантова

Почему три 3090 лучше, чем одна A100?

Вы читаете это, потому что уже знаете: облачные API стоят дорого, а приватность данных - не шутка. Но когда речь заходит о запуске MiniMax-M2.5 - 230B параметров, MoE-архитектура, китайский ответ на GPT-4 - большинство энтузиастов пасуют. "Нужна A100 с 80GB", "Только через API", "На домашнем железе не потянуть".

Чушь.

Три RTX 3090 по 24GB каждая - это 72GB VRAM. Добавляем системную память, правильное квантование и оптимизацию - и получаем полноценный запуск MiniMax-M2.5 с 20-22 токенами в секунду. За те же деньги, что одна б/у A100, вы получаете втрое больше видеопамяти и возможность играть в Cyberpunk 2077 в свободное время.

Актуально на 13.02.2026: MiniMax-M2.5 - самая новая версия модели от MiniMax. По сравнению с первыми релизами M2.5, текущая версия получила улучшения в кодировании и математических способностях. GGUF-версии обновляются регулярно - проверяйте даты на Hugging Face.

Что у нас в итоге получится?

Конфигурация, которая работает у меня уже три месяца без сбоев:

Компонент Модель Зачем нужно
Процессор AMD Threadripper 3960X 96 PCIe линий для трех карт без бутылочного горла
Видеокарты 3x NVIDIA RTX 3090 (24GB каждая) 72GB VRAM суммарно - ключевой фактор
Оперативная память 128GB DDR4 3600MHz Для оверлейных слоев и кэша
Материнская плата ASUS TRX40 Поддержка трех карт в x16/x16/x8
Блок питания 1600W 80+ Platinum Три 3090 под нагрузкой - это 1000+ ватт

Почему именно такая конфигурация? Threadripper дает те 96 PCIe линий, которые позволяют трем картам общаться на полной скорости. На обычном Ryzen вы получите x8/x8/x4 - и это станет бутылочным горлом. Если собираете систему с нуля, смотрите в сторону нашей статьи про сборку Mini PC с 68GB VRAM - там есть бюджетные варианты.

Выбор GGUF-файла: почему Q3_K_L, а не Q4?

Вот где большинство ошибается. Берут Q4_K_M - "качество лучше". А потом удивляются, почему модель не влезает в VRAM.

MiniMax-M2.5 в формате GGUF доступна в нескольких вариантах. На 13.02.2026 самая свежая версия - MiniMax-M2.5-230B-MoE-GGUF от сообщества TheBloke. Ссылка на модель: TheBloke/MiniMax-M2.5-230B-MoE-GGUF

Теперь математика:

  • Модель 230B параметров в формате Q4_K_M занимает ~130GB
  • У нас есть 72GB VRAM + 128GB RAM = 200GB теоретически
  • Но нужно место для кэша, контекста, системных процессов
  • Q3_K_L занимает ~100GB - идеально вписывается

Разница в качестве между Q3_K_L и Q4_K_M? На практике - незаметна для 99% задач. Но разница в скорости и потреблении памяти - колоссальная. Если интересны другие варианты квантования, посмотрите нашу статью про REAP-квантования для M2.1 - там те же принципы.

Важно: Q3_K_L - не то же самое, что старый Q3_K_S. Буква L означает "Large blocks" - большие блоки квантования, что дает лучшее качество при том же битрейте. Это специфика llama.cpp, которая появилась в 2025 году.

Подготовка системы: что нужно сделать до загрузки модели

Скачивание 100GB файла - последний этап. Сначала настройте систему, иначе потратите день на загрузку, а потом обнаружите, что CUDA не работает.

1 Установка NVIDIA драйверов и CUDA

На 13.02.2026 актуальная версия - CUDA 12.6. Да, есть уже CUDA 13, но поддержка в llama.cpp появляется с задержкой.

# Удаляем старые драйверы (если были)
sudo apt purge nvidia* cuda* -y

# Добавляем официальный репозиторий NVIDIA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

# Устанавливаем CUDA 12.6 и драйверы
sudo apt install cuda-12-6 cuda-drivers-12-6 -y

# Проверяем установку
nvidia-smi

В выводе nvidia-smi должны увидеть все три карты. Если видите только две - проверьте питание и подключение. Три 3090 требуют отдельные кабели от блока питания, нельзя использовать разветвители.

2 Сборка llama.cpp с поддержкой CUDA

Не берите готовые бинарные сборки - они часто собраны без нужных флагов для многокарточной конфигурации.

# Клонируем репозиторий с последними изменениями
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

# Собираем с поддержкой CUDA и всех оптимизаций
make clean
make -j$(nproc) LLAMA_CUDA=1 LLAMA_CUBLAS=1 LLAMA_AVX2=1

# Проверяем, что собралось
./main --help | grep -i cuda

Если в выводе видите упоминания CUDA - все хорошо. Если нет - проверьте, что CUDA установлена правильно и переменные окружения настроены.

Скачивание и запуск модели: команды, которые работают

Теперь самое интересное. Скачиваем модель и запускаем сервер.

3 Скачивание GGUF-файла

Используем aria2 для многопоточной загрузки - 100GB через wget скачивать полдня.

# Устанавливаем aria2 если нет
sudo apt install aria2 -y

# Скачиваем модель Q3_K_L
aria2c -x16 -s16 \
"https://huggingface.co/TheBloke/MiniMax-M2.5-230B-MoE-GGUF/resolve/main/minimax-m2.5-230b-moe.Q3_K_L.gguf" \
-o minimax-m2.5-230b-moe.Q3_K_L.gguf

Флаг -x16 означает 16 соединений, -s16 - 16 потоков. Скачивание займет 1-2 часа при хорошем интернете.

💡
Пока модель скачивается, проверьте свободное место на диске. GGUF-файл + кэш контекста могут занять до 150GB. Используйте NVMe SSD - скорость чтения напрямую влияет на перфоманс при первом запуске.

4 Запуск llama-server с оптимизацией под 3x3090

Вот команда, которую я использую в продакшене:

./server -m ./minimax-m2.5-230b-moe.Q3_K_L.gguf \
--host 0.0.0.0 --port 8080 \
--ctx-size 8192 \
--parallel 3 \
--cont-batching \
--flash-attn \
--n-gpu-layers 99 \
--tensor-split 24,24,24 \
--mlock \
--no-mmap \
--threads 24 \
--threads-batch 24 \
--batch-size 512 \
--ubatch-size 512 \
--rope-freq-base 1000000 \
--rope-freq-scale 0.25 \
--log-disable

Разберем ключевые параметры:

  • --parallel 3 - используем все три карты для параллельных вычислений
  • --tensor-split 24,24,24 - равномерное распределение по 24GB на каждую карту
  • --n-gpu-layers 99 - загружаем на GPU все слои, какие возможно
  • --mlock --no-mmap - фиксируем модель в RAM, предотвращая своппинг
  • --threads 24 --threads-batch 24 - используем 24 ядра Threadripper
  • --batch-size 512 --ubatch-size 512 - оптимально для 3x3090

Почему именно такие цифры? Месяц экспериментов. Меньший batch size - недогрузка GPU. Больший - переполнение памяти. 512 - золотая середина.

Бенчмарки производительности: чего ожидать

После запуска сервера проверяем производительность. Используем простой тест:

# Тестируем скорость генерации
curl http://localhost:8080/completion \
-H "Content-Type: application/json" \
-d '{
"prompt": "Explain quantum computing in simple terms",
"n_predict": 512,
"temperature": 0.7
}'

На моей системе результаты такие:

Метрика Значение Комментарий
Скорость генерации 20-22 tokens/sec При длине контекста 8192 токенов
Время первого токена 1.2-1.5 секунды PP (prefill phase) время
Потребление VRAM 68-70GB из 72GB Равномерно распределено по картам
Потребление RAM ~45GB из 128GB Включая кэш и системные процессы
Температура GPU 72-78°C С агрессивным кулером 65-70°C

20-22 токена в секунду - это комфортная скорость для диалога. Для сравнения: Claude Code на 192GB VRAM дает 25-30 t/s, но стоит в разы дороже.

Оптимизация под конкретные задачи

MiniMax-M2.5 - MoE-модель. 230B параметров, но активируется только часть. Это дает гибкость в настройке.

Для кодирования

Уменьшаем контекст, увеличиваем batch size:

./server -m ./minimax-m2.5-230b-moe.Q3_K_L.gguf \
--ctx-size 4096 \
--batch-size 1024 \
--ubatch-size 1024 \
--n-gpu-layers 99 \
--tensor-split 24,24,24 \
--parallel 3

Получаем до 28 t/s на коротких контекстах. Идеально для Code Completion.

Для длинных диалогов

Увеличиваем контекст, настраиваем кэш:

./server -m ./minimax-m2.5-230b-moe.Q3_K_L.gguf \
--ctx-size 16384 \
--batch-size 256 \
--ubatch-size 256 \
--rope-freq-base 1000000 \
--rope-freq-scale 0.1 \
--compress-pos 4

Скорость упадет до 12-15 t/s, но сможете вести длинные диалоги без перезагрузки контекста.

Внимание: параметр --compress-pos 4 использует сжатие позиционных эмбидингов. Это экспериментальная фича llama.cpp, которая может влиять на качество генерации на очень длинных контекстах. Тестируйте на своих задачах.

Типичные ошибки и как их избежать

За три месяца эксплуатации набил все возможные шишки. Вот что может пойти не так:

Ошибка: "CUDA out of memory" при запуске

Проблема: llama.cpp пытается загрузить на карты больше, чем есть.

Решение: проверьте --tensor-split. Сумма не должна превышать доступную VRAM минус 1-2GB на системные нужды. Для 3x3090: 23,23,23 или 24,24,24 если больше ничего не запущено.

Ошибка: низкая скорость (менее 10 t/s)

Проблема: бутылочное горло в PCIe или неправильные --threads.

Решение:

  1. Проверьте nvidia-smi во время генерации. Утилизация GPU должна быть 90%+
  2. Уменьшите --threads если CPU не успевает. Для Threadripper 3960X оптимально 24
  3. Убедитесь, что карты работают в x16/x16/x8 минимум

Ошибка: модель "забывает" контекст в длинных диалогах

Проблема: переполнение кэша KV.

Решение: используйте --compress-pos и уменьшите --batch-size. Или переходите на vLLM - но там свои сложности с многокарточными конфигурациями, как мы описывали в гайде по запуску MiniMax-M2.1 на двух картах.

Альтернативы: когда 3x3090 - не вариант

Нет трех 3090? Есть варианты:

  • 2x4090 (48GB) - дороже, но проще в настройке. Tensor-split 24,24
  • Mac M3 Max 128GB - медленнее (8-10 t/s), но работает из коробки. Смотрите наш гайд по запуску на Mac
  • Сервер с A100 80GB - аренда от $3/час. Быстрее, но дороже в долгосрочной перспективе
  • Более легкие модели - Nanbeige 3B запустится на чем угодно, но качество будет другим

Что дальше? Мониторинг и масштабирование

Система запущена, работает. Теперь нужно следить за ней.

Установите Prometheus + Grafana для мониторинга:

  • Температура каждой карты (должна быть ниже 85°C)
  • Утилизация VRAM (если приближается к 100% - готовьтесь к OOM)
  • Скорость генерации в реальном времени
  • Потребление энергии (три 3090 под нагрузкой - это 900+ ватт)

Для масштабирования добавьте четвертую 3090 - но проверьте, хватит ли слотов PCIe и мощности блока питания. Или переходите на серверные карты типа RTX 6000 Ada - 48GB каждая, две заменят три 3090.

Самое главное - эта конфигурация не статична. Выходят новые версии llama.cpp, новые квантования моделей, новые драйверы. Раз в месяц обновляйте весь стек и перезамеряйте производительность. На 13.02.2026 эта конфигурация дает 20-22 t/s. Через полгода, с оптимизациями в llama.cpp, может давать 25+.

И последнее: не гонитесь за максимальным количеством параметров. MiniMax-M2.5 - отличная модель, но для многих задач хватит и Qwen3-235B, который легче и быстрее. Или даже 70B модели на бюджетном железе. Выбирайте инструмент под задачу, а не под хайп.