Локальный LLM-сервер на 2x RTX 5090: vLLM, ExLlamaV2, TGI, Proxmox GPU passthrough | AiManual
AiManual Logo Ai / Manual.
05 Фев 2026 Гайд

Оптимальный стек ПО для локального LLM-сервера на 2x RTX 5090: vLLM, TGI, ExLlamaV2 и настройка Proxmox

Полный гайд по сборке высокопроизводительного LLM-сервера на двух RTX 5090 с Blackwell архитектурой. Сравнение vLLM, ExLlamaV2 и TGI, настройка Proxmox, Tensor

Почему 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.

💡
NVLink 4.0 в RTX 5090 дает пропускную способность 900GB/s между картами. Это критично для Tensor Parallelism — без такой скорости обмен промежуточными активациями между картами становится узким местом. Проверьте, что ваша материнская плата поддерживает x16/x16 для двух PCIe 5.0 слотов.

Выбор софта: 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 устройства
💡
На 05.02.2026 Proxmox 8.2+ имеет встроенную поддержку SR-IOV для некоторых карт NVIDIA, но для RTX 5090 это пока экспериментально. Используйте полный passthrough — это надежнее.

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 модели особенно выигрывают от кэширования.

💡
Новые модели 2025-2026 годов часто используют архитектурные улучшения, которые лучше работают с определенными типами квантования. Проверяйте документацию каждой модели. Например, DeepSeek-V3 отлично работает с AWQ, а Command R+ предпочитает GPTQ.

Мониторинг и отладка

Две карты — вдвое больше точек отказа. Настройте мониторинг:

# Утилита для мониторинга температуры (критично для 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, чем годами иметь систему, которая использует только половину своего потенциала.