1. Архитектура локального AI-сервера и выбор оборудования
Архитектура локального AI-сервера и выбор оборудования
Почему компании, которые годами пользовались облачными API, вдруг начинают закупать GPU-серверы и строить собственные инференс-кластеры? Ответ прост: каждый запрос к внешнему провайдеру — это ваши данные на чужом сервере. Для банков, медицинских организаций и госструктур это не вопрос удобства, а вопрос compliance. Но как правильно подобрать оборудование, чтобы не переплатить за ненужную мощность и не упереться в потолок через месяц после запуска?
Три кита локального AI-сервера
Любая LLM-инфраструктура опирается на три ресурса: видеопамять (VRAM), оперативную память (RAM) и скорость дискового ввода-вывода. Именно в этом порядке — VRAM определяет, какую модель вы вообще сможете загрузить, RAM влияет на стабильность при длинных контекстах, а быстрые SSD решают, за сколько секунд модель переместится из хранилища в память.
VRAM — главный ограничивающий фактор. Каждый параметр модели занимает определённое количество памяти. В формате FP16 (16-битные числа с плавающей точкой) один параметр требует 2 байта. Модель на 7 миллиардов параметров потребляет около 14 ГБ VRAM только под веса, плюс overhead на KV Cache и промежуточные вычисления. Квантизация до 4-бит (формат GGUF Q4_K_M) снижает потребление примерно в 4 раза — та же 7B модель займёт около 4–5 ГБ.
RAM нужна как буфер. Когда модель обрабатывает длинный контекст (например, 32 000 токенов), KV Cache растёт линейно. Если VRAM закончится, часть данных переносится в оперативную память — и скорость генерации резко падает. Минимум для серьёзной работы — 64 ГБ, оптимум — 128 ГБ и выше.
Диски влияют на время холодного старта. Модель весом 40 ГБ на медленном HDD будет загружаться минуты, на NVMe SSD — секунды. При частом переключении между моделями это критично.
Выбор GPU: от потребительских до серверных
Видеокарты для LLM делятся на три категории, и выбор зависит от бюджета и задач.
Потребительские карты (NVIDIA RTX 3090, RTX 4090) — точка входа. RTX 4090 с 24 ГБ VRAM стоит около 2 000 долл. и уверенно тянет 7B–13B модели в квантизации. RTX 3090 — более бюджетный вариант с тем же объёмом памяти. Минус: нет серверных функций (ECC-память, NVLink), драйверы оптимизированы под гейминг, а не под инференс.
Серверные карты среднего звена (NVIDIA L40S с 48 ГБ, A10G с 24 ГБ) — хороший баланс цены и возможностей. L40S за ~7 000 долл. даёт вдвое больше VRAM, чем RTX 4090, и поддерживает серверные фичи. Подходит для 70B моделей в 4-битной квантизации.
Флагманские серверные карты (NVIDIA A100 на 40/80 ГБ, H100 на 80 ГБ) — золотой стандарт для продакшена. A100 80 ГБ (~15 000 долл.) позволяет запускать 70B модели в FP16 или даже 405B в агрессивной квантизации. H100 быстрее в 2–3 раза благодаря архитектуре Hopper, но стоит от 25 000 долл.
| Карта | VRAM | Цена (ориент.) | Модели, которые потянет | |---|---|---|---| | RTX 4090 | 24 ГБ | ~2 000 долл. | 7B–13B (Q4), 70B (Q2, медленно) | | NVIDIA L40S | 48 ГБ | ~7 000 долл. | 70B (Q4), Mixtral 8x7B | | NVIDIA A100 80GB | 80 ГБ | ~15 000 долл. | 70B (FP16), 405B (Q4) | | NVIDIA H100 80GB | 80 ГБ | ~25 000 долл. | То же, но в 2–3 раза быстрее |
Мульти-GPU и масштабирование
Одна карта — это пилот. Для реальной нагрузки нужны несколько GPU. Два подхода к распараллеливанию:
Tensor Parallelism — модель разрезается по слоям между GPU. Каждая карта обрабатывает часть вычислений, результаты агрегируются. Требует быструю меж-GPU связь (NVLink или PCIe 4.0). Минимум — две одинаковые карты.
Pipeline Parallelism — модель разбивается на стадии: первые слои на одном GPU, последние — на другом. Проще в реализации, но появляется «пузырь» простоя, пока данные передаются между картами.
Для 70B модели в Q4 квантизации (~40 ГБ) хватит одной A100 80 ГБ. Для FP16 версии (~140 ГБ) потребуются минимум две A100 80 ГБ с NVLink. Для 405B модели — четыре–восемь карт.
Процессор, RAM и диски: вторичные, но важные
CPU не участвует в основном инференсе при наличии GPU, но важен для препроцессинга токенов, управления памятью и работы RAG-пайплайна. Современный серверный процессор (Intel Xeon 4-го поколения или AMD EPYC 9004) с 16–32 ядрами — оптимальный выбор. Если GPU нет вообще, CPU-инференс через llama.cpp даёт 5–10 токенов в секунду на 7B модели — медленно, но для batch-задач подходит.
RAM — правило «вдвое больше, чем VRAM». Если у вас 48 ГБ VRAM, ставьте минимум 96 ГБ RAM. Для мульти-GPU конфигураций — 256 ГБ и выше.
Диски — NVMe SSD объёмом от 1 ТБ. Модели в формате GGUF весят от 4 ГБ (7B Q4) до 200+ ГБ (405B FP16). Если планируете хранить несколько версий моделей — закладывайте 2–4 ТБ.
Типовые конфигурации для разных сценариев
Стартовая (до 5 000 запросов в день). Один RTX 4090, 64 ГБ RAM, NVMe 1 ТБ. Модель: Llama 3.1 8B Q4_K_M. Бюджет: ~5 000 долл. Подходит для пилота и внутренних экспериментов.
Средняя (5 000–50 000 запросов в день). Две L40S, 128 ГБ RAM, NVMe 2 ТБ. Модель: Llama 3.1 70B Q4_K_M. Бюджет: ~20 000 долл. Закрывает большинство корпоративных задач.
Масштабная (50 000+ запросов в день). Четыре A100 80 ГБ, 512 ГБ RAM, NVMe 4 ТБ. Модель: Llama 3.1 70B FP16 или 405B Q4. Бюджет: ~80 000+ долл. Для высоконагруженных продакшн-систем.
Типичные ошибки при выборе оборудования
Самая частая ошибка — покупка GPU «на вырост» без расчёта точки окупаемости. Если нагрузка составляет 1 000 запросов в день, A100 будет простаивать, а облачный API обошёлся бы дешевле. Формула простая: если стоимость API за месяц превышает амортизацию сервера (цена оборудования / срок службы в месяцах) плюс электричество и размещение — self-hosted выгоден.
Вторая ошибка — экономия на охлаждении. GPU под нагрузкой выделяют 300–700 Вт тепла каждая. В серверной без кондиционирования карты уйдут в троттлинг при 85°C, и производительность упадёт на 30–50%.
Третья — игнорирование пропускной способности шины. При мульти-GPU конфигурации PCIe 3.0 вместо PCIe 4.0 или отсутствие NVLink создаст узкое место при передаче данных между картами.
Правильный подход: начните с пилота на потребительской карте, замерите реальную нагрузку и только потом принимайте решение о масштабировании. Оборудование должно расти вслед за задачей, а не опережать её.