AI-інфраструктура і GPU-пули
(Розділ: Технології та Інфраструктура)
Коротке резюме
Продакшн-AI - це не «одна модель на одному сервері», а кластер з GPU-вузлів, загальних пулів прискорювачів, уніфікованого сервінгу, даних/фічів, спостережуваності та управління вартістю. Для iGaming це критично в реальному часі: антифрод, персоналізація, чат-боти, LLM-асистенти, рекомендації ігор/акцій. Базові цеглини: Kubernetes/Slurm для планування, ізоляція робочих навантажень, високошвидкісна мережа (100/200/400G з RDMA), швидкі сховища, зрілий MLOps, і «залізобетонні» SLO.
1) Архітектурна карта
Шари:1. Кластер обчислень: GPU-ноди (A/H-класи, AMD/ROCm, Intel Gaudi тощо), CPU-ноди для препроцесингу/фічів.
2. Мережа: 100G + Ethernet/IB, RDMA (RoCEv2), NCCL-топології, QoS.
3. Сховище: об'єктне (S3-проч.) , розподілене POSIX (Ceph/грід), локальний NVMe-scratch.
4. Дані/фічі: фічестор (online/offline), векторні БД (ANN), кеш (Redis), черги.
5. ML-платформа: реєстр артефактів і моделей, пайплайни (CI/CD), контроль версій, фічі як код.
6. Сервісний шар: Triton/KServe/vLLM/text-generation-inference (TGI), А/В/канарі-деплою, авторесайз.
7. Говернанс і безпека: PII, секрети, аудит, політики експорту, ліцензії ваг/датасетів.
Типові навантаження:- Онлайн-скоринг (p95 ≤ 50-150 мс) - антифрод, рекомендації, ранжування.
- LLM-сервінг (p95 ≤ 200-800 мс на 128-512 токенів) - чат/агенти/підказки.
- Пакетна аналітика/доробок - нічні вікна, офлайн-метрики.
- Файнтюнінг/адаптація - періодично, з пріоритетом нижче онлайну.
2) GPU-пули і планування
Модель пулів
Пул «Сервінг»: короткі запити, високий батчинг, строгі SLO.
Пул «Тренінг/Файнтюнінг»: довгі джоби, розподілений тренінг (DDP).
Пул «R & D/Експерименти»: квоти/ліміти, preemption дозволена.
Пул «CPU/Pre-/Post-processing»: нормалізація, токенізація, rerank на CPU.
Планувальники
Kubernetes (+ device-plugin, NodeFeatureDiscovery, taints/tolerations, PriorityClass, PodPriority/Preemption).
Slurm (часто для HPC-тренінгу) - можна змішати зі K8s через окремих воркерів.
Фейр-шер і квоти: namespace-квоти по GPU, CPU, пам'яті; «банки» GPU-годин; ліміти по неймспейсу/проекту.
Партіонування GPU
MIG (Multi-Instance GPU): нарізка прискорювача на ізольовані слайси (для сервінгу/мульти-тенантності).
MPS: шарінг SM для дрібних завдань (стежити за інтерференцією).
NVLink/PCIe: враховувати топологію при пінінгу подів (Topology Aware Scheduling).
yaml apiVersion: v1 kind: Pod metadata:
annotations:
scheduling. k8s. io/group-name: "ai-serving"
spec:
nodeSelector: { gpu-pool: serving }
tolerations: [{ key: "gpu", operator: "Exists", effect: "NoSchedule" }]
priorityClassName: ai-serving-critical
3) Мережа та міжвузлова продуктивність
RDMA (RoCEv2) для NCCL-алл-редьюсів; ECN/PFC-налаштування, ізоляція класів трафіку.
Локалізація: тренінг всередині однієї «фабрики» (pod/host/оптика), сервінг - ближче до користувача (edge/регіон).
Конгест-контроль: tuned профілі, jumbo frames, pin-ning інтерфейсів.
4) Сховище та дані
Сховище ваг/артефактів: об'єктне (версіонування, immutability).
Датасети/фічі: Lakehouse (Delta/Iceberg/Hudi) + offline-фічестор; online-фічестор (мілісекундні SLA).
Векторні БД (ANN): Faiss/ScaNN/акселератори, або вендорні векторні рушії; шардування, HNSW/IVF, реплікації.
Локальний NVMe-кеш: прогрів ваг/ембеддингів для холодного старту.
5) Сервінг моделей
Фреймворки
Triton Inference Server (мультимодель, мультирунтайм, динамічний батчинг).
KServe (K8s-нативний, autoscaling HPA/KPA, канарі).
vLLM/TGI для LLM-токенізації та високопродуктивного декодингу (paged-attention, KV-кеш оффлоуд).
ONNX Runtime/TensorRT-LLM - для компіляції і прискорення.
Оптимізації
Квантування: INT8/FP8/INT4 (перцентілі/калібрування, AWQ/GPTQ) - в онлайні обережно, міряти якість.
Компіляція графа: TensorRT, TorchInductor/XLA, fused-kernels.
Батчинг/мікробатчинг: динамічний і статичний; для LLM — continuous batching.
KV-кеш: шарінг між запитами, офлоуд на CPU/NVMe при довгих контекстах.
Спекулятивний декодинг: драфт-модель + верифікатор для прискорення токен-произв.
Ліміти токенів/контексту, рання зупинка, стоп-слова, time-budget на запит.
Політики деплоя
A/B, канарі, shadow - порівняння латентності/якості/бізнес-метрик.
Блю-грін - без даунтайму.
Роллбек по SLO/помилкам.
6) Тренінг/файнтюнінг
DDP/FSDP/ZeRO: розподілена пам'ять/градієнти, облік NVLink/топології.
Чекпоінти: інкрементальні/повні, частота vs I/O.
Mixed Precision: bf16/fp16 + loss scaling; профілювати стабільність.
Датасет-шардинг: рівномірний ітератор, реплікація по вузлах.
Пріоритети: перериваються джоби (preemptible) на користь сервінгу.
Автономні пайплайни: data → train → eval → регістр → просування в PROD за gate-критеріями.
7) MLOps і платформа
Реєстр моделей: версії, підписи, залежності, ліцензії/право використання ваг.
CI/CD моделей: тести на сумісність, перформанс-регресії, quality-гейти, безпечний деплою.
Фічестор: offline/online консистентність (feature parity), TTL і backfill.
Data/Model Lineage: трасування від датасету до звіту/експерименту.
Каталог промптів/шаблонів для LLM (версіонування).
8) Спостережуваність і SLO
Онлайн-метрики:- Латентність p50/p95/p99, tokens/s, batch occupancy, queue wait, GPU-util/SM occupancy, пам'ять, помилки.
- LLM-специфіка: токени на введення/виведення, середня довжина відповіді, частка відмов по лімітах, кеш-hit KV.
- Якість: автоматичні регресійні тести (offline), онлайн-телеметрія (контент-прапори, токсичність, точність видачі на золотих вибірках).
- Бізнес-SLO: конверсія персоналізації, точність антифроду, утримання.
Алерти: ріст р99/черги, падіння tokens/s, деградація batch-fill, вичерпання VRAM/PCIe-throttle, зростання rate-limit відмов.
9) Безпека, комплаєнс і приватність
PII/фіндані: сегментація обчислень і даних по регіонах, шифрування в спокої/в транзиті, токенізація.
Секрети/ключі: KMS/Secrets Manager; виключити зберігання в образах/коді.
Політики виведення LLM: фільтри безпеки, red-teaming, журналювання промптів/відповідей (з анонімізацією).
Ліцензії: відповідність ліцензіям на датасети/ваги; «no-redistribute «/комерційні обмеження.
Ізоляція тенантів: namespace-RBAC, мережі, MIG-слайси, ліміти та квоти.
10) Вартість і фінопс
Капасіті-планування: профілі навантаження (RPS, токени/сек), «хвости» турнірів і кампаній.
Резерв/Spot: змішані пули (reserved + spot/preemptible) з повторною постановкою завдань і чекпоінтами.
Автоскейл: HPA/KPA по RPS/queue depth/GPU-util; «теплий старт» з прогрітими вагами.
Модельний зоопарк: скорочуйте кількість варіантів; використовуйте адаптацію (LoRA/PEFT) замість повного дублювання.
Кеш: ембеддинги/результати дорогих запитів, шарінг KV-кешу для LLM.
Оптимізація токенів: стиснення промптів, retrieval-augmented generation (RAG), rerank до генерації.
11) Мультирегіон, HA і DR
Active/Active сервінг ближче до користувача, глобальний роутинг (latency-based).
Реплікація ваг і фічів з перевіркою цілісності; прогрів кешів при релізах.
DR-план: втрата AZ/регіону, евакуація на резервний пул, контроль залежності від централізованого каталогу.
Chaos-дні: тести відмови GPU-нод/мережевих доменів/сховища.
12) Шаблони конфігурацій (концепти)
Triton - динамічний батчинг:text dynamic_batching {
preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000
}
instance_group { count: 2 kind: KIND_GPU }
KServe - канарі:
yaml spec:
predictor:
canaryTrafficPercent: 20 model:
modelFormat: { name: triton }
resources:
limits: { nvidia. com/gpu: "1" }
vLLM - запуск (ідеї):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
--enforce-eager
13) LLM-специфіка: RAG і пошуковий контур
Індексація: чанкінг, ембеддинги, ANN-шардування по'tenant/locale'.
Rerank: легка модель на CPU/GPU-слайсі для підвищення точності.
Кеш промптів/контекстів: дедуп, canonicalization.
Політики цитування/відповідальності для чутливих доменів (КУС/правила).
14) Чек-лист впровадження
1. Зафіксуйте SLO (p95 latency/tokens/s, доступність) і профілі навантажень.
2. Розбийте кластер на пули (serving/train/R & D), введіть квоти/пріоритети.
3. Увімкніть RDMA/NCCL і топологічно усвідомлене планування.
4. Налаштуйте сховища: ваг, датасетів, фічестор (online/offline), векторні БД.
5. Виберіть сервінг-стек (Triton/KServe/vLLM), додайте батчинг/KV-кеш/квантування.
6. Запустіть реєстр моделей, CI/CD, канарі/шадоу-деплою.
7. Поставте спостережуваність: системні + бізнес-метрики, якості, трасинг.
8. Введіть політики безпеки/PII, ліцензії, аудит.
9. Оптимізуйте TCO: reserved + spot, автоскейл, кеш, PEFT замість повних клонів.
10. Підготуйте HA/DR і проведіть game-day.
15) Антипатерни
«Один великий GPU на все» без пулів і пріоритетів.
Відсутність динамічного батчингу і KV-кешу для LLM → вибух p99 і вартості.
Тренінг і сервінг на одному пулі без preemption → SLO-інциденти.
Нульова телеметрія якості/безпеки → непомітні деградації і ризики.
Централізований моноліт без фічестора/реєстру моделей → відтворюваність відсутня.
Ігнорування ліцензій ваг/даних.
Підсумки
Успішна AI-інфраструктура - це пули GPU з розумним плануванням, висока мережа і правильні сховища, ефективний сервінг (батчинг, кеш, квантування, компіляція), зрілий MLOps і строгі SLO. У поєднанні з безпекою/PII, мультирегіональним HA/DR і продуманим фінопсом платформа дає стабільний p99, контрольований $/запит і швидке впровадження нових моделей - від антифрода до персоналізації і LLM-асистентів.