Мультинодовый инференс: как запустить модель на 600B+ параметров на кластере GPU
Разворачиваем DeepSeek R1 и подобные MoE-модели на нескольких серверах. Pipeline parallelism, tensor parallelism и Ray — практическое руководство.
Для инференса моделей класса 600B+ (DeepSeek R1, DeepSeek-V3) используется мультинодовый подход: tensor parallelism внутри ноды (NVLink) и pipeline parallelism между нодами (InfiniBand). Стандартный стек — vLLM + Ray кластер. Минимальная конфигурация для DeepSeek R1 Q4 — 2 ноды по 4×A100 80GB, рекомендуемая — 2 ноды по 4×H100 с NVLink + InfiniBand HDR 200 Гбит/с.
- Для моделей 600B+ параметров одного сервера недостаточно — нужен кластер из 2–8 нод с высокоскоростной межнодовой связью.
- Tensor Parallelism (TP) — распределение по GPU внутри ноды (NVLink). Pipeline Parallelism (PP) — распределение по нодам (InfiniBand/RoCE).
- vLLM + Ray — стандартный стек для мультинодового инференса. Разворачивается через Docker Compose на кластере.
- Критически важна сетевая связь между нодами: минимум 100 Гбит/с (InfiniBand HDR или RoCE). На 10 Гбит/с Ethernet bottleneck гарантирован.
Когда одного сервера не хватает
Модели класса 600B+ — DeepSeek R1 (671B MoE), DeepSeek-V3, Mixtral 8×22B — физически не влезают в VRAM одного сервера даже при агрессивном квантовании. DeepSeek R1 в Q4 требует ~95 ГБ VRAM минимум (с Expert Offloading), но для комфортной работы нужно 160–320 ГБ. Ни один серверный чип не имеет столько памяти.
Решение — распределить модель по нескольким GPU, которые могут находиться как в одном сервере, так и в разных (мультинодовый кластер). Ключевой вопрос — как именно разрезать модель и как минимизировать коммуникационные задержки.
Tensor Parallelism vs Pipeline Parallelism
Tensor Parallelism (TP) — каждый слой трансформера разрезается горизонтально и вычисляется параллельно на нескольких GPU. Требует синхронизации после каждого слоя → критична скорость межкартовой шины (NVLink). Используется внутри одной ноды.
Pipeline Parallelism (PP) — модель разрезается вертикально: первые N слоёв на ноде 1, следующие — на ноде 2. Каждая нода обрабатывает свой кусок и передаёт activations дальше. Не требует синхронизации на каждом слое, но вводит «пузыри» в пайплайне.
Типичная конфигурация для DeepSeek R1: TP=4 внутри ноды (4 GPU через NVLink), PP=2 между нодами (InfiniBand). Итого 8 GPU на 2 нодах.
Практический запуск: vLLM + Ray на двух нодах
vLLM поддерживает мультинодовый инференс через Ray — распределённый фреймворк от Anyscale. Каждая нода запускает Ray worker, головная нода координирует запросы.
# Нода 1 (головная): запуск Ray head
ray start --head --port=6379 --num-gpus=4
# Нода 2: присоединение к кластеру
ray start --address='NODE1_IP:6379' --num-gpus=4
# Запуск vLLM на головной ноде
python -m vllm.entrypoints.openai.api_server \
--model deepseek-ai/DeepSeek-R1 \
--tensor-parallel-size 4 \
--pipeline-parallel-size 2 \
--quantization awq \
--max-model-len 8192 \
--port 8000Стоимость и альтернативы
Кластер из 2 нод по 4×H100 — это 8 карт H100 с ценой аренды от 250 000 ₽/мес и выше. Для многих команд это неподъёмно.
Альтернатива 1: использовать дистиллированные версии. DeepSeek-R1-Distill-Llama-70B — дистиллят R1 на архитектуре Llama 70B. Помещается на 2×RTX 4090, качество ниже оригинала на 10–15%, но для многих задач достаточно.
Альтернатива 2: API-провайдеры. DeepSeek, Together AI, Fireworks — предоставляют инференс R1 по API от $0.5 за 1M токенов. Если нагрузка менее 10M токенов/мес — дешевле API.
Альтернатива 3: Expert Offloading. Держите в VRAM только активных экспертов MoE-модели, остальные — в RAM или на NVMe. Снижает требования к VRAM до 2×A100, но требует 512+ ГБ RAM и быстрый NVMe.
Проверенные серверы от надежных провайдеров
Serverspace
vStack KZ Basic
CPU
2 ядер • 3 ГГц
RAM
2 ГБ
Диск
40 ГБ NVMe
Канал
200 Мбит/с
549 ₽/мес
Selectel
Cloud Lite 1
CPU
1 ядер • 2.6 ГГц
RAM
1 ГБ
Диск
10 ГБ SSD
Канал
200 Мбит/с
550 ₽/мес
Часто задаваемые вопросы (FAQ)
Можно ли запустить DeepSeek R1 на обычном Ethernet вместо InfiniBand?
Технически — да, но скорость генерации просядет в 5–10 раз из-за bottleneck на передаче activations между нодами. На 10 Гбит/с получите ~2–5 т/с вместо 20–30 т/с.
Сколько стоит кластер для DeepSeek R1?
Минимальная конфигурация 2×4×A100 80GB — от 150 000 ₽/мес. Рекомендуемая 2×4×H100 — от 250 000 ₽/мес. Для разовых задач рассмотрите почасовую аренду.