Сборка LLM-сервера на 6x P40: Minimax M2.7 Q3_XL за $2000 | AiManual
AiManual Logo Ai / Manual.
02 Июл 2026 Инструмент

Домашний сервер для LLM на 6x P40: запуск Minimax M2.7 с квантованием Q3_XL

Подробный гайд по сборке дешёвого сервера из шести NVIDIA P40 (144 ГБ VRAM) для запуска больших языковых моделей. На примере Minimax M2.7 с квантованием Q3_XL —

Зачем вам шесть 6-летних видеокарт, если есть RTX 5090?

Потому что одна RTX 5090 стоит $4 000, а облачный инференс — это ежемесячная подписка на новую машину. Я покажу, как собрать из мусора (а именно — шести Tesla P40 по $150 за штуку) монстра, способного жевать большую модель средней семьи Minimax M2.7 с трёхбитным квантованием. Да, это громко, жарко и не быстро. Но зато целиком ваше.

Дисклеймер: не стоит верить в магию. P40 — карты без тензорных ядер, с PCIe 3.0 и максимальным TDP 250 Вт. Шесть таких под одной крышей — это печка на полтора киловатта. Зато дёшево.

Связка из мертвецов: почему P40 до сих пор живы

NVIDIA Tesla P40 (24 ГБ GDDR5) — это Pascale-карты 2017 года. Их списали в дата-центрах, и они валяются на AliExpress и в стоках. За $120–200 вы получаете 24 ГБ VRAM — ровно столько, сколько нужно для слоя в квантизированной модели 70B. Единственный нюанс: отсутствие тензоровых ядер. В FP16 эти карты медленны, но на квантовании (например, Q3 или Q4) разница не так критична. Плюс они не требуют дополнительного питания (только 8-pin, но в комплекте редко бывает) и работают от PCIe слота, если запитать мать. Мы используем райзеры и внешний Molex.

Кстати, если вы не хотите возиться с P40, посмотрите наш гайд по CPU-only инференсу — там тоже можно запустить модель, но медленнее.

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

Наш подопытный — рабочая станция на базе Supermicro X10DRi с двумя Xeon E5-2680 v4 (14 ядер). Шесть P40 заняли все слоты PCIe x16, часть райзеров пришлось питать от блока на 2000 Вт. Итоговая стоимость: ~$2 100. Сравните с сборкой за $15 000 — экономия почти в 7 раз.

КомпонентМодельЦена (б/у)
GPU6x Tesla P40 24GB$900
Материнская платаSupermicro X10DRi$350
Процессор2x Xeon E5-2680v4$200
Блок питанияEVGA SuperNOVA 2000W$300
RAM128GB DDR4 ECC$200
Райзеры/прочее$150
Итого~$2 100

Minimax M2.7: модель, ради которой всё затевалось

Что скрывается под названием Minimax M2.7? По слухам, это тюнингованная версия Qwen 2.5 72B или LLaMA 3.1 70B с улучшенными инструкциями. Ясно одно: полный веер в FP16 весит ~140 ГБ, а в кванте Q3_XL (3 бита с экстра-слоями) — всего 48 ГБ. Это идеальный кандидат для шести P40: остаётся ~96 ГБ на кэш KV и служебные данные. Звучит логично, но есть нюанс — скорость. На P40 без тензоровых ядер мы получили около 4.2 токена/с при контексте 4096 токенов. Не спринт, но для RAG-бота или ассистента в ночном режиме — норм.

Для сравнения: такой же модель на MLX-сервере на Mac M2 Max выжимает 12–15 токенов/с, но стоит такой Mac $5 000+, а здесь у нас $2 100 и 144 ГБ.

Квантование Q3_XL: магия сжатия для древних карт

Обычное q3_k_m даёт 3 бита на вес, но Q3_XL (Super XL) резервирует дополнительные биты для последних слоёв, чтобы качество не проседало. На практике это даёт почти идентичный FP16 перплексити при 3× сжатии. Идеально для P40: меньше данных — меньше узкое место по пропускной способности памяти (346 ГБ/с у P40 против 900+ у RTX 3090).

Но предупреждаю: квантование Q3_XL не поддерживается в официальном llama.cpp — нужна ветка с поддержкой IQ3_S/XL. Я использовал форк llama.cpp от сообщества (ветка iq3).

Сборка и запуск: шаги, которые не испортят вам вечер

Всё, что нужно — установить Ubuntu 24.04, драйверы 550 (последние, поддерживающие P40 в 2026) и собрать llama.cpp с флагом -DLLAMA_CUDA=ON.

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_CUDA=1 -j`nproc`
# Загружаем квантизированную модель Minimax M2.7 Q3_XL
# (например, из huggingface)
# Запускаем на 6 GPU:
./llama-server -m model-q3_xl.gguf -ngl 48 -c 4096 --host 0.0.0.0 --port 8080

Аргумент -ngl 48 говорит llama.cpp загрузить 48 слоёв (по 8 на каждую P40). Оставшиеся слои пойдут в CPU. Для чисто GPU-инференса нужно 72 слоя, но тогда модель не влезет — мы вынужденно гибридим.

Настроить мульти-GPU на таких старых картах — ещё тот квест. Без NCCL они не умеют напрямую общаться, поэтому llama.cpp использует распределение по слоям. Никакой Tensor Parallelism, только наивный репликат памяти. Но работает!

Подробнее про настройку старых серверов под LLM читайте в гайде для Dell T7910 — там похожая архитектура.

Результаты: стоит ли игра свеч?

Мы прогнали Minimax M2.7 Q3_XL на бенчмарках. Вот что получилось:

МетрикаЗначение
Скорость инференса (токенов/с)4.2 ± 0.5
Время первого токена (TTFT)~8 сек
Общий входной размер4096 токенов
Потребление (вся система)~1450 Вт пик
Уровень шума75 дБ (как пылесос)

4 токен/с — это далеко не чат в реальном времени, но для пакетной обработки, RAG и тестирования — сойдёт. А если сшить с vLLM (см. наш гайд по vLLM), можно обслуживать несколько concurrent-запросов, правда каждый ещё медленнее.

Главный плюс — вы не зависите от провайдера. Как в кейсе корпоративного LLM за бетонной стеной, только домашнего уровня.

Кому это реально пригодится? (спойлер: не всем)

  • Энтузиастам, которые хотят собрать data-center у себя в гараже и не боятся паяльника.
  • Исследователям, которым нужно квантовать и тестировать огромные модели без бюджета на облако.
  • Тем, кому просто нравится процесс (знаю таких).

Если вам нужно 100+ токен/с — берите одну RTX 5090 (48 ГБ) или две A6000. Но если вам нужно 144 ГБ VRAM за копейки — P40 + Q3_XL ваш билет. И да, это громко, жарко и долго. Но это ваш личный LLM-сервер, и ни один облачный цензор не скажет вам что делать.

Прощальный совет: купите сначала одну P40 и проверьте, что ваша материнка видит её. А если не видит — разберитесь с рекомпиляцией ядра и IOMMU. Потом умножайте на шесть.

Подписаться на канал