Почему 2x RTX 5090 — это новая планка для локальных LLM
Если вы читали мои предыдущие статьи про сборку мощных станций или инфраструктуру на 192GB RAM, то знаете: железо имеет значение. Но с выходом RTX 5090 на архитектуре Blackwell правила игры изменились радикально.
Две эти карты — не просто «дважды быстрее одной». Это качественный скачок. 48GB GDDR7 на карту (да, не 24GB, как у 4090, а сразу 48GB), пропускная способность памяти 1.8TB/s, поддержка FP8 и FP6 квантования на аппаратном уровне. В переводе на человеческий: вы можете запускать Llama 3.1 405B в 4-битном квантовании целиком в VRAM. Или Qwen2.5 72B в 8-битном — с запасом.
На 05.02.2026 RTX 5090 — самая новая архитектура NVIDIA. Blackwell принесла не только увеличение производительности, но и новые инструкции для LLM, включая ускоренное декодирование с помощью NVLink 4.0 между картами. Если вы собираете систему сейчас — это оптимальный выбор.
Проблема: как заставить две карты работать как одна
Вот где начинается боль. Установить две карты в материнку — полдела. Заставить их эффективно работать вместе над одной моделью — искусство. Многие думают: «Воткнул SLI Bridge (или NVLink), и готово». Ха-ха. Для LLM это не работает.
Есть три подхода:
- Pipeline Parallelism: Модель режется по слоям. Одна карта считает первые слои, вторая — следующие. Просто, но создает «пузыри» простоя.
- Tensor Parallelism: Каждый слой делится на части. Обе карты работают одновременно. Сложнее в реализации, но эффективнее.
- Model Parallelism: Разные части модели на разных картах. Для очень больших моделей, где слои не влезают в одну карту.
Большинство инфраструктурных ошибок происходят именно здесь. Люди берут vLLM, запускают с двумя GPU, но не включают Tensor Parallelism — и получают производительность 1.2x вместо ожидаемых 1.8x-1.9x.
Выбор софта: vLLM vs ExLlamaV2 vs TGI
Здесь не бывает «лучшего для всего». Каждый инструмент решает свои задачи. И да, на 05.02.2026 все они поддерживают Blackwell с CUDA 12.8.
| Инструмент | Сильные стороны | Слабые стороны | Когда выбирать |
|---|---|---|---|
| vLLM (0.6.0+) | PagedAttention, высокая throughput, отличная поддержка multi-GPU | Сложная настройка, высокое потребление VRAM | Продакшен, многопользовательский доступ, API сервер |
| ExLlamaV2 (0.2.0+) | Самая высокая скорость на картах NVIDIA, отличное квантование | Нет встроенного HTTP сервера, только библиотека | Максимальная скорость генерации, эксперименты |
| TGI (2.0.0+) | Оптимизирован для Hugging Face, хорошая документация | Меньше гибкости, чем у vLLM | Быстрый старт, совместимость с HF экосистемой |
Мой выбор для 2x RTX 5090: vLLM для продакшена, ExLlamaV2 для максимальной скорости. Почему? vLLM с PagedAttention умеет эффективно обрабатывать множественные запросы параллельно, что критично, если к вашему серверу будут обращаться несколько пользователей или приложений. ExLlamaV2 — когда нужна максимальная скорость на один запрос.
Внимание: vLLM до версии 0.5.0 имел проблемы с памятью на multi-GPU конфигурациях. На 05.02.2026 используйте только vLLM 0.6.0+ с исправлениями для Blackwell. Проверяйте совместимость в официальном репозитории.
Настройка Proxmox: GPU passthrough для двух карт
Здесь многие спотыкаются. Если у вас уже есть опыт с LXC-контейнерами на Proxmox, то с NVIDIA будет немного иначе. Для двух карт нужно настроить IOMMU группы правильно.
1 Проверка IOMMU групп
Сначала убедитесь, что карты находятся в разных IOMMU группах:
#!/bin/bash
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"
lspci -nns "${d##*/}"
done | grep -E "(10de:|NVIDIA)"
Если обе карты в одной группе — вам не повезло. Нужно включать ACS override в ядре (это снижает безопасность, но для homelab приемлемо).
2 Настройка VM для GPU passthrough
Я рекомендую не LXC, а полноценную VM для двух карт. Почему? Потому что драйверы CUDA 12.8 для Blackwell могут быть капризными в контейнерах.
Создайте VM с такими параметрами:
- Тип: q35 (обязательно для PCIe passthrough)
- BIOS: OVMF (UEFI) с прошитым GOP для карт
- CPU: host (чтобы использовать все инструкции)
- Память: минимум 64GB, лучше 128GB+
- Добавьте оба GPU как PCIe устройства
3 Установка драйверов в гостевой системе
Внутри VM ставим Ubuntu 24.04 LTS (самая стабильная для ML на 2026 год). Драйверы:
# Добавляем репозиторий NVIDIA
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
# Устанавливаем драйверы CUDA 12.8
sudo apt update
sudo apt install -y cuda-toolkit-12-8 nvidia-driver-560
После перезагрузки проверяем:
nvidia-smi
# Должно показать две карты RTX 5090
# Проверяем NVLink:
nvidia-smi nvlink --status
# Должно быть Active для обеих карт
Установка и настройка vLLM с Tensor Parallelism
Вот где начинается магия. Простая установка vLLM не даст вам multi-GPU. Нужны правильные флаги.
# Создаем виртуальное окружение
python3 -m venv vllm_env
source vllm_env/bin/activate
# Устанавливаем vLLM с поддержкой CUDA 12.8
pip install vllm==0.6.0
# Дополнительно для некоторых моделей
pip install torch==2.4.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
Теперь запускаем Llama 3.1 70B с Tensor Parallelism на двух картах:
python -m vllm.entrypoints.api_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.95 \
--max-model-len 8192 \
--quantization awq \
--port 8000
Ключевые параметры:
--tensor-parallel-size 2: Включаем Tensor Parallelism на две карты--gpu-memory-utilization 0.95: Используем почти всю память (оставляем 5% для системы)--quantization awq: AWQ квантование дает лучший quality/performance баланс на 2026 год
Ошибка, которую совершают 90% пользователей: запуск без --tensor-parallel-size. В этом случае vLLM использует только первую карту, а вторая простаивает. Всегда проверяйте загрузку обеих карт через nvidia-smi.
ExLlamaV2 для максимальной скорости
Если vLLM — это швейцарский нож, то ExLlamaV2 — скальпель. Он делает одну вещь (быстрый инференс), но делает это лучше всех.
# Пример использования ExLlamaV2 с двумя GPU
from exllamav2 import ExLlamaV2, ExLlamaV2Config
from exllamav2.generator import ExLlamaV2StreamingGenerator
import torch
# Конфигурация для двух карт
config = ExLlamaV2Config()
config.model_dir = "/path/to/llama-3.1-70b-instruct-4.0bpw"
config.prepare()
# Создаем модель с multi-GPU
model = ExLlamaV2(config, [0, 1]) # Используем GPU 0 и 1
model.load()
# Создаем генератор
generator = ExLlamaV2StreamingGenerator(model)
# Генерация текста
settings = generator.warmup()
text = generator.generate_simple("Explain quantum computing", settings)
print(text)
ExLlamaV2 автоматически использует обе карты через свой собственный механизм параллелизации. Он менее гибкий, чем vLLM, но на 15-20% быстрее на инференсе одного потока.
Оптимизация для конкретных моделей
Разные модели требуют разных подходов. Вот мои рекомендации на 05.02.2026:
Llama 3.1 405B
С двумя RTX 5090 (96GB суммарно) она влезает в 4-битном квантовании (примерно 81GB). Используйте vLLM с --quantization gptq (GPTQ дает лучшую точность для больших моделей).
Qwen2.5 72B
Идеально подходит для этой конфигурации. Используйте AWQ квантование в vLLM или EXL2 формат для ExLlamaV2. Скорость генерации: 40-60 токенов/сек.
Mixtral 8x22B
Здесь включайте --enable-prefix-caching в vLLM. MoE модели особенно выигрывают от кэширования.
Мониторинг и отладка
Две карты — вдвое больше точек отказа. Настройте мониторинг:
# Утилита для мониторинга температуры (критично для RTX 5090)
nvidia-smi --query-gpu=temperature.gpu,power.draw,utilization.gpu --format=csv -l 5
# Мониторинг памяти
watch -n 1 'nvidia-smi | grep -A 2 "+----------------"'
Типичные проблемы и решения:
| Проблема | Причина | Решение |
|---|---|---|
| Одна карта загружена на 100%, вторая на 0% | Tensor Parallelism не включен | Добавить --tensor-parallel-size 2 |
| Падение производительности через несколько часов | Перегрев или thermal throttling | Улучшить охлаждение, снизить --gpu-memory-utilization до 0.9 |
| Ошибки CUDA out of memory | Неравномерное распределение памяти | Использовать --swap-space 8 для резервирования CPU памяти |
Интеграция с фронтендами
Сервер без интерфейса — как машина без руля. После настройки vLLM API сервера подключите его к:
- Open WebUI: Современный интерфейс с поддержкой многопользовательского режима
- Continue.dev: Для интеграции в VS Code
- LocalAI: Если нужна совместимость с OpenAI API
Пример конфигурации Open WebUI для vLLM:
# docker-compose.yml для Open WebUI
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- ./data:/app/backend/data
environment:
- OLLAMA_API_BASE_URL=http://host.docker.internal:8000/v1 # vLLM endpoint
- WEBUI_SECRET_KEY=your-secret-key-here
Что дальше? Масштабирование за пределы двух карт
2x RTX 5090 — мощная конфигурация, но что если нужно больше? Здесь начинается территория кластеров.
На 2026 год появляются интересные варианты:
- NVIDIA Blackwell Superchip: GB200 с 192GB HBM3e — но это уже не homelab цена
- AMD Instinct MI350X: Конкуренция возвращается, с поддержкой 192GB памяти
- Кластер из нескольких машин: Как в статье про распределенную обработку
Но для 99% use cases 2x RTX 5090 хватит с избытком. Вы можете запускать любые модели до 400B параметров, обслуживать десятки одновременных пользователей, и все это — в своей локальной сети, без ежемесячных счетов от облачных провайдеров.
Итог: 2x RTX 5090 с правильно настроенным vLLM и Proxmox — это не просто «еще одна homelab система». Это полноценная AI платформа, которая по производительности сравнима с облачными инстансами за $20/час, но работает бесплатно после первоначальных инвестиций. На 2026 год это оптимальный баланс цены, производительности и гибкости.
Самый частый вопрос, который мне задают: «А стоит ли ждать RTX 6090?». Мой ответ: нет. Технологический цикл обновления GPU — 2-3 года. RTX 5090 только вышла, следующая архитектура будет не раньше 2028. Собирайте систему сейчас, настройте ее правильно — и следующие 3-4 года у вас будет одна из самых мощных локальных LLM платформ на рынке.
И помните: самое дорогое в этой системе — не железо, а время, потраченное на правильную настройку. Не экономьте на нем. Лучше потратить неделю на отладку Tensor Parallelism, чем годами иметь систему, которая использует только половину своего потенциала.