«Просто запустил Ollama и забыл» — самая опасная фраза в локальном AI
Если вы хостите локальную LLM только как «запустил Ollama — и забыл», вы используете 10% её потенциала. На Reddit сотни тем о том, как модель падает, контекст теряется, а GPU простаивает. Проблема не в модели — проблема в отсутствии тулинга. В этом гайде я покажу, как за 2–3 вечера превратить вашу домашнюю станцию или сервер в полноценную AI-фабрику с мониторингом, оркестрацией, A/B-тестированием и CI/CD.
⚠️ Важное предупреждение: без инфраструктуры вы не узнаете, что модель деградировала, пока пользователи не начнут писать в поддержку. А если вы — сам себе пользователь, просто потеряете кучу времени.
Инференс — это только половина дела
Большинство гайдов по локальным LLM заканчиваются на этапе «вот curl, скармливай промпт». Но в реальности вы сталкиваетесь с:
- Модель «забывает» ваши кастомные правила через 10 запросов — нужен мониторинг качества.
- При смене версии модели ломаются форматы JSON — нужно A/B тестирование.
- Два разработчика одновременно загружают 70B модель — VRAM переполняется, паника.
- Вы обучили fine-tune, но непонятно, где его хранить и как быстро откатиться.
Без тулинга каждый пункт превращается в ручное героическое спасение. А это — прямой путь к выгоранию.
Рецепт полной инфраструктуры
Забудьте про «модель и скрипт». Вот из чего состоит production-grade среда для локальных LLM на май 2026 года:
- Инференс-движок — vLLM 0.8.0 (рекомендую) или Ollama 0.8.0. Первый даёт лучший контроль над batch processing и PagedAttention.
- API Gateway — Nginx с Lua или Traefik. Отвечает за rate limiting, авторизацию, балансировку и health checks.
- Мониторинг — Prometheus + Grafana. Собираем latency, throughput, VRAM, temperature, количество retries.
- Логирование — Loki или Elasticsearch. Каждый запрос с промптом и ответом — для аудита и дообучения.
- Управление версиями моделей — MLflow 2.18.0 или DVC. Вместо 20 папок с random_v13.gguf.
- CI/CD — GitLab CI, Jenkins или ArgoCD. Автоматическая сборка, тестирование, деплой модели после fine-tune.
- Оркестрация — Docker Compose (для 1–3 GPU) или k3s (для большего).
Пошаговый план: от сервера до продакшена
1 Выбор и сборка сервера
Берите минимум 2 GPU по 48 ГБ (RTX 6000 Ada или A6000), 256 ГБ RAM и NVMe RAID. Если бюджет жмёт — читайте гайд как собрать мощную станцию за $15,000. Для домашних экспериментов хватит одной RTX 4090 — но для бизнеса берите серьёзнее.
2 Установка инференс-движка
Ставьте vLLM через pip. Пример конфига для Docker Compose:
services:
vllm:
image: vllm/vllm-openai:0.8.0
command: --model meta-llama/Llama-3.1-70B --max-model-len 32768 --gpu-memory-utilization 0.95
ports:
- "8000:8000"
volumes:
- /mnt/models:/root/.cache/huggingface
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 2
capabilities: [gpu]
Если хотите больше сравнений — загляните в Ollama vs другие: полный гид по запуску LLM офлайн.
3 API Gateway: Nginx с пристрастием
Не торчите vLLM в открытый порт. Настройте Nginx: добавьте авторизацию по API-ключу, ограничьте количество запросов (100 RPM на пользователя), настройте health endpoint. Вот базовая конфигурация:
server {
listen 443 ssl;
server_name llm.mycompany.com;
location /v1/chat/completions {
proxy_pass http://vllm:8000;
limit_req zone=llm burst=20 nodelay;
proxy_set_header X-API-Key $http_x_api_key;
access_log /var/log/nginx/llm.log;
}
location /health {
proxy_pass http://vllm:8000/health;
access_log off;
}
}
И не забудьте про health checks на уровне Docker — контейнер с моделью может «зависнуть», и вы этого не заметите.
4 Мониторинг и алерты
vLLM отдаёт метрики Prometheus по умолчанию на /metrics. Добавьте в docker-compose:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
Создайте дашборд с метриками: средняя задержка (p50, p95, p99), throughput токенов/сек, использование VRAM, количество ошибок 429 (rate limit). Поставьте алерт в Telegram, если p99 latency > 10 секунд или VRAM > 90% — это сигнал, что пора уменьшать batch size или добавлять GPU.
5 CI/CD и управление версиями
Вы дообучили модель. Куда положить новую версию? Как быстро откатиться, если она «поехала»? Используйте MLflow. Записывайте эксперимент, метрики, путь к весам. Затем CI/CD пайплайн (хоть GitLab CI) делает следующее:
- Клонирует веса из S3/MinIO.
- Запускает smoke-тест: 10 эталонных промптов, сравнение ответов с baseline.
- Если метрики не упали — деплоит новую версию через Rolling Update.
- Отправляет уведомление в Slack.
Пример .gitlab-ci.yml для деплоя:
deploy:
stage: deploy
script:
- mlflow models serve -m runs:/$RUN_ID/model --host 0.0.0.0 --port 8001 &
- sleep 30
- python smoke_test.py --endpoint http://localhost:8001
- docker-compose up -d llm_gateway
environment:
name: production
Как не выстрелить себе в ногу: типичные ошибки
Я видел десятки инфраструктур, которые разваливались из-за мелочей. Вот топ-5 факапов:
- Нет rate limiting. Кто-то запускает скрипт в цикле — модель падает, GPU перегревается. Всегда ставьте лимиты на Nginx уровне.
- Забыли про health checks. Модель зависла на 128K токенов, а вы думаете, что всё работает. Health endpoint должен проверять не только TCP, но и возможность сделать инференс.
- Не настроили swap. Если VRAM кончилась, процесс убьёт OOM killer. Настройте swap на NVMe — модель станет медленнее, но не упадёт.
- Логирование без ротации. Через месяц логов на 200 ГБ диск забит, ротация не настроена. Используйте Loki или journald с retention policy.
- Деплой новой модели «на горячую». Меняете веса, не прокручивая инстанс — получаете corrupted state. Всегда делайте rolling restart.
Когда всё это действительно окупается?
Если вы хостите LLM для себя одного — можно и без тулинга. Но как только модель начинает обслуживать хотя бы трёх коллег, потери от простоев и плохого качества превышают время на настройку инфраструктуры. Особенно это критично для бизнеса — статья о развёртывании LLM для бизнеса подтверждает: без полноценного окружения локальный AI превращается в игрушку.
Кстати, про стоимость. Многие думают, что облачные API дешевле. Но сравнение API vs локальные модели в 2026 показывает: даже с учётом цены на GPU, свой сервер окупается за 8-12 месяцев при 50K запросов/день.
Что дальше? План на год вперёд
Через год без полной инфраструктуры локальные LLM будут считаться кустарщиной. Уже сейчас инструменты вроде MLflow и vLLM развиваются так быстро, что ручное управление становится анахронизмом. Мой прогноз: к июню 2027 даже домашние энтузиасты будут использовать CI/CD для моделей, иначе невозможно поспевать за обновлениями (еженедельно выходят новые квантованные версии Llama, Qwen, DeepSeek).
Начните с малого: добавьте Prometheus к вашему Ollama. Потом — MLflow для экспериментов. Через месяц вы удивитесь, как жили без этого. А если хотите сразу всё и с нуля — рекомендую прочитать гайд по локальной инфраструктуре на 192 ГБ RAM и GPU — там показан реальный кейс с нюансами.