Локальная LLM-инфраструктура на домашнем железе: полный гайд | AiManual
AiManual Logo Ai / Manual.
01 Янв 2026 Гайд

Как запустить локальную LLM-инфраструктуру на домашнем железе (192GB RAM + GPU)

Пошаговое руководство по развертыванию многопользовательской LLM-инфраструктуры на домашнем сервере с 192GB RAM и GPU. Proxmox, OpenWebUI, GPU passthrough.

Проблема: облачный AI — это дорого и неконтролируемо

Вы когда-нибудь считали, сколько стоит месяц активного использования GPT-4 через API? Если ваша команда из 5-10 человек активно работает с ИИ, счета легко достигают $500-1000 в месяц. Но главная проблема даже не в деньгах — это зависимость от внешнего провайдера, ограничения по токенам, задержки и, что критично, конфиденциальность данных.

Многие энтузиасты, прочитавшие мою статью «Как собрать мощную станцию для локальных LLM за $15 000», спрашивали: «А что дальше? Как превратить железо в работающую инфраструктуру для команды?» Именно об этом сегодняшний гайд.

Ключевое отличие инфраструктуры от просто «запущенной модели»: это система, которая позволяет нескольким пользователям работать параллельно, имеет веб-интерфейс, управление моделями и работает 24/7 без вашего вмешательства.

Решение: домашний сервер как корпоративная AI-платформа

Конфигурация, которую мы будем разворачивать:

  • Аппаратная часть: Сервер с 192 ГБ ОЗУ, 2× NVIDIA RTX 4090 (или аналоги), SSD NVMe 2 ТБ
  • Виртуализация: Proxmox VE 8.x — бесплатная платформа для управления виртуальными машинами и контейнерами
  • Инфраструктура: LXC-контейнеры для изоляции сервисов, GPU passthrough для прямого доступа к видеокартам
  • Софт: OpenWebUI (ранее Ollama WebUI) как фронтенд, Ollama + Llama.cpp как бэкенд для моделей
  • Сетевой доступ: Reverse proxy (Nginx) с HTTPS для доступа из интернета

Почему именно такая связка? Proxmox дает стабильность и возможность разграничения ресурсов, а LXC-контейнеры потребляют минимум накладных расходов по сравнению с полноценными VM. OpenWebUI — это современный, активно развивающийся интерфейс с поддержкой многопользовательского режима, истории чатов и управления моделями.

💡
Если у вас менее мощное железо, не переживайте. Принципы те же, просто масштабируйте модель вниз. Для работы с моделями 7B-13B хватит и 64 ГБ ОЗУ с одной картой. Подробнее о минимальных требованиях я писал в статье «Можно ли запустить локальную LLM на 10 ГБ видеопамяти?»

Пошаговый план развертывания

1Подготовка железа и установка Proxmox

Первым делом устанавливаем Proxmox VE на ваш сервер. Скачайте ISO-образ с официального сайта и запишите на флешку.

# После установки обновляем систему и устанавливаем утилиты
apt update && apt upgrade -y
apt install -y sudo curl wget gnupg git

Важный нюанс: если у вас несколько GPU, убедитесь, что они определяются системой. Проверьте командой:

lspci | grep -i nvidia
# Должны увидеть ваши видеокарты, например:
# 04:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090]
# 08:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090]

2Настройка GPU Passthrough для LXC-контейнеров

В отличие от полноценных виртуальных машин, для LXC мы используем не PCIe passthrough, а проброс устройств (device passthrough). Это проще и не требует драйверов внутри контейнера.

Сначала находим ID наших GPU устройств:

ls -la /dev/dri/
# Обычно это renderD128 и card0 (и card1 для второй карты)

Создаем новый LXC-контейнер (я использую Ubuntu 22.04 LTS). В интерфейсе Proxmox при создании контейнера в разделе «Resources» добавляем устройство:

# Альтернативно можно добавить в конфиг контейнера вручную
# Файл: /etc/pve/lxc/<CTID>.conf
devices:
  render1:
    gid: 44
    major: 226
    minor: 128
    mode: 0666
    path: /dev/dri/renderD128
  card1:
    gid: 44
    major: 226
    minor: 0
    mode: 0666
    path: /dev/dri/card0

Важно: major и minor числа могут отличаться! Проверьте их через `ls -la /dev/dri/`. Также убедитесь, что в контейнере есть группа video (gid 44).

3Установка Ollama и Llama.cpp в контейнере

Зайдите в контейнер через Proxmox или SSH и установите Ollama:

curl -fsSL https://ollama.com/install.sh | sh
# Проверяем, что GPU виден внутри контейнера
ollama serve
# В логах должна быть строка "CUDA is available"

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

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j$(nproc) CUDA=1
# Копируем бинарник в удобное место
cp ./bin/main /usr/local/bin/llamacpp

4Развертывание OpenWebUI для многопользовательского доступа

OpenWebUI — это веб-интерфейс с поддержкой регистрации пользователей, истории чатов и управления моделями. Устанавливаем его через Docker:

# Устанавливаем Docker если еще нет
apt install -y docker.io docker-compose

# Запускаем OpenWebUI
docker run -d \
  --name openwebui \
  -p 3000:8080 \
  -v openwebui:/app/backend/data \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  ghcr.io/open-webui/open-webui:main

Теперь у вас есть веб-интерфейс на порту 3000. Но мы пойдем дальше и настроим безопасный доступ через Nginx с HTTPS.

5Настройка Nginx как Reverse Proxy с HTTPS

Создаем конфигурацию для Nginx (устанавливаем его в отдельном LXC или в том же):

apt install -y nginx certbot python3-certbot-nginx

# Создаем конфиг /etc/nginx/sites-available/openwebui
server {
    listen 80;
    server_name ваш-домен.ру;  # Или IP, если нет домена

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Получаем SSL-сертификат через Let's Encrypt:

certbot --nginx -d ваш-домен.ру
# Если нет домена, можно использовать самоподписанный сертификат,
# но тогда будет предупреждение в браузере

6Загрузка моделей и оптимизация производительности

Теперь самое интересное — загрузка моделей. Для начала возьмем Llama 3.1 70B в 4-битном квантовании:

ollama pull llama3.1:70b-q4_K_M
# Альтернативно через Llama.cpp
wget https://huggingface.co/TheBloke/Llama-3.1-70B-GGUF/resolve/main/llama-3.1-70b.Q4_K_M.gguf
llamacpp -m llama-3.1-70b.Q4_K_M.gguf -ngl 99 -c 8192

Ключевые параметры:

  • -ngl 99 — загружать все слои на GPU (если не хватает VRAM, часть уйдет в RAM)
  • -c 8192 — размер контекста (можно увеличить до 32K для некоторых моделей)

Для управления несколькими GPU и распределения слоев между ними используйте параметр -t в Llama.cpp или настройки в OpenWebUI.

Нюансы и возможные ошибки

ПроблемаРешение
GPU не виден в контейнереПроверьте major/minor числа, права доступа (chmod 666 /dev/dri/*). Перезапустите контейнер.
Модель загружается только на CPUУбедитесь, что CUDA доступна (nvidia-smi внутри контейнера). Проверьте параметры запуска (-ngl).
Скорость генерации низкаяИспользуйте квантованные модели (Q4_K_M оптимальны). Увеличьте batch size. Проверьте температуру CPU/GPU.
Не хватает VRAM для больших моделейИспользуйте распределение между GPU или часть слоев на RAM. Или выберите меньшую модель.

Если вы сталкиваетесь с проблемами производительности, рекомендую мою статью «Практический гайд: как избежать основных ошибок при локальном запуске больших LLM».

FAQ: Частые вопросы

Сколько пользователей может одновременно работать?

Зависит от модели и железа. Для Llama 3.1 70B на 2× RTX 4090 — комфортно 3-5 пользователей с короткими запросами. Для 7B моделей — 10+ пользователей.

Можно ли использовать AMD карты?

Да, но через ROCm. Процесс сложнее, чем с NVIDIA. Подробности в статье «AMD vs NVIDIA для локального ИИ в 2025».

Как обновлять модели?

В OpenWebUI есть встроенный менеджер моделей. Или через командную строку: `ollama pull новое-имя-модели`.

Заключение

Развертывание локальной LLM-инфраструктуры — это не просто техническое упражнение, а реальная альтернатива облачным сервисам для небольших команд и энтузиастов. Вы получаете полный контроль над данными, неограниченное использование и гибкость в выборе моделей.

Да, начальные инвестиции в железо значительны (хотя можно начать и с меньшего, как описано в статье «Собираем бюджетную 4-GPU ферму для LLM»), но за 3-6 месяцев экономия на облачных API покроет эти расходы. А главное — вы строите собственную экосистему, которую можно масштабировать и адаптировать под свои нужды.

Следующий шаг — автоматизация развертывания через Ansible, мониторинг через Grafana и настройка балансировки нагрузки между несколькими серверами. Но это уже тема для отдельной статьи.