Infrastruktura AI i baseny GPU
(Sekcja: Technologia i infrastruktura)
Krótkie podsumowanie
Produkcja-AI nie jest „jednym modelem na jednym serwerze”, ale klastrem węzłów GPU, współdzielonymi pulami akceleratorów, jednolitą obsługą, danymi/funkcją, obserwowalnością i zarządzaniem kosztami. Dla iGaming, jest to krytyczne w czasie rzeczywistym: przeciwdziałanie oszustwom, personalizacja, chatbots, asystenci LLM, zalecenia gry/magazynu. Podstawowe cegły: Kubernetes/Slurm do planowania, izolacji obciążeń roboczych, sieci dużych prędkości (100/200/400G z RDMA), szybkiego przechowywania, dojrzałych MLOp i „żelbetowych” SLO.
1) Mapa architektoniczna
Warstwy:1. Klaster obliczeniowy: węzły GPU (klasy A/H, AMD/ROCm, Intel Gaudi itp.), węzły procesora do wstępnego przetwarzania/funkcji.
2. Sieć: 100G + Ethernet/IB, RDMA (RoCEv2), topologie NCCL, QoS.
3. Przechowywanie: obiekt (S3-shared), rozproszony POSIX (Ceph/grid), lokalny NVMe-scratch.
4. Dane/funkcje: fichester (online/offline), wektorowe bazy danych (ANN), cache (Redis), kolejki.
5. ML-platform: rejestr artefaktów i modeli, rurociągi (CI/CD), kontrola wersji, funkcje jako kod.
6. Warstwa serwisowa: Triton/KServe/vLLM/text-generation-inference (TGI), A/V/canary-deploy, autoresize.
7. Zarządzanie i bezpieczeństwo: PII, Tajemnice, Audyt, Polityka eksportowa, Waga/Datacet Licencje.
Typowe obciążenia:- Ocena online (p95 ≤ 50-150 ms) - zwalczanie oszustw, zalecenia, ranking.
- LLM-serving (p95 ≤ 200-800 ms dla 128-512 żetonów) - czat/środki/instrukcje.
- Analiza partii/szkolenie dodatkowe - okna nocne, mierniki offline.
- Walka/adaptacja - okresowo, z priorytetem niższym niż online.
2) Puli GPU i harmonogram
Model puli
Basen serwowy: krótkie życzenia, wysokie butching, surowe SLO.
Pool treningowy/finetuning: długie miejsca pracy, szkolenie rozproszone (DDP).
Pula „B + R/Eksperymenty”: kontyngenty/limity, przewidywanie dozwolone.
CPU/Pre-/Post-processing pool: normalizacja, tokenizacja, rerank na procesor.
Harmonogramy
Kubernetes (+ device-plugin, NodeFeاDiscovery, taints/tolerances, Class, PodPriority/Preemption).
Slurm (często na szkolenia HPC) - można mieszać z K8s przez oddzielnych pracowników.
sprawiedliwy udział i kontyngenty: kwoty dla obszaru nazw dla GPU, procesora, pamięci; „banki” GPU-hours; granice przestrzeni nazw/projektu.
partycjonowanie GPU
MIG (Multi-Instance GPU): cięcie akceleratora na pojedyncze plasterki (do surfingu/wielozadaniowości).
MPS: udostępnianie SM dla małych zadań (zakłócenia monitora).
NVLink/PCIe: rozważyć planowanie topologii świadomej.
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) Wydajność sieciowa i wewnętrzna
RDMA (RoCEv2) dla allrudges NCCL; Ustawienia ECN/PFC, izolacja klas ruchu.
Lokalizacja: szkolenie wewnątrz jednej „fabryki” (pod/hosta/optyka), obsługa - bliżej użytkownika (krawędź/region).
Kontrola Congest: profile tuned, ramki jumbo, interfejsy pin-ning.
4) Przechowywanie i dane
Przechowywanie wagi/artefaktu: obiekt (wersioning, immutability).
Zbiory danych/funkcje: Lakehouse (Delta/Iceberg/Hudi) + offline fichester; online-fichestor (milisekundowe SLA).
Bazy danych wektorów (ANN): Fajzy/ScaNN/akceleratory lub silniki wektorowe sprzedawcy; shardiness, HNSW/IVF, replikacja.
Lokalny pamięć podręczna NVMe: ogrzewanie wagi/osadów na zimny start.
5) Obsługa modeli
Ramy ramowe
Triton Inference Server (multimodel, wielokrotne, dynamiczne maskowanie).
KServe (K8s-native, autoskalowanie HPA/KPA, kanarka).
vLLM/TGI do tokenizacji LLM i dekodowania o wysokiej wydajności (uwaga przywoławcza, odciążenie pamięci podręcznej KV).
ONNX Czas trwania/TensorRT-LLM - do kompilacji i przyspieszenia.
Optymalizacja
Kwantyzacja: INT8/FP8/INT4 (percentyle/kalibracja, AWQ/GPTQ) - starannie online, zmierz jakość.
Kompilacja wykresu: TensorRT, TorchInductor/XLA, fused-kernels.
Butching/mikrobatching: dynamiczny i statyczny; мла LLM - ciągłe łączenie.
Pamięć podręczna KV: udostępnianie między żądaniami, offline na procesorze/NVMe z długimi kontekstami.
Dekodowanie spekulacyjne: projekt modelu + weryfikator, aby przyspieszyć produkcję żetonu.
Token/limity kontekstowe, wczesne zatrzymanie, przystanki, czas-budżet na żądanie.
Wdrażanie zasad
A/B, kanaryjski, cień - porównanie opóźnień/jakości/mierników biznesowych.
Niebieski zielony - bez przestojów.
Rollback na SLO/błędy.
6) Szkolenia/Walki
DDP/FSDP/ZeRO: pamięć rozproszona/gradienty, księgowość NVLink/topologia.
Punkty kontrolne: przyrostowe/pełne, częstotliwość vs I/O.
Precyzja mieszana: bf16/fp16 + skalowanie strat; stabilność profilu.
Sharding zbioru danych: jednolity iterator, replikacja w węzłach.
Priorytety: przerwane miejsca pracy (przedwczesne) na rzecz surfingu.
Rurociągi autonomiczne: dane → pociąg → eval → zarejestrować → postęp w PROD zgodnie z kryteriami bramy.
7) MLOp i platforma
Rejestr modeli: wersje, podpisy, zależności, licencje/prawo do używania wagi.
Modele CI/CD: testy kompatybilności, regresje wydajności, bramy jakości, bezpieczne wdrożenie.
Fichestor: konsystencja offline/online (parytet funkcji), TTL i backfill.
Data/Model Lineage: ślad od zbioru danych do raportu/eksperymentu.
Katalog wierszy/szablonów dla LLM (versioning).
8) Obserwowalność i SLO
Metryki online:- Latency p50/p95/p99, żetony/s, liczba partii, kolejka, GPU-util/SM obłożenie, pamięć, błędy.
- Dane LLM: żetony I/O, średnia długość odpowiedzi, procent awarii według limitów, trafienie pamięci podręcznej KV.
- Jakość: automatyczne testy regresyjne (offline), telemetria online (flagi treści, toksyczność, dokładność emisji na próbkach złota).
- Business SLO: personalizacja konwersji, anti-fraud dokładność, retencja.
Ostrzeżenia: wzrost p99/kolejki, spadek żetonów/s, degradacja napełniania partii, wyczerpanie przepustnicy VRAM/PCIe, wzrost awarii ograniczonej szybkością.
9) Bezpieczeństwo, zgodność i prywatność
Dane PII/finansowe: segmentacja obliczeń i danych według regionów, szyfrowanie podczas odpoczynku/tranzytu, tokenizacja.
Sekrety/klucze: KMS/Secrets Manager; wyłączenie przechowywania obrazów/kodu.
Zasady wyjściowe LLM: filtry zabezpieczeń, red-teaming, rejestrowanie wierszy/odpowiedzi (z anonimizacją).
Licencje: zgodność z licencjami na zestawy danych/wagi; „bez redystrybucji „/ograniczenia handlowe.
Izolacja najemcy: przestrzeń nazw-RBAC, sieci, plastry MIG, limity i kwoty.
10) Koszty i Finops
Planowanie przepustowości: profile obciążenia (RPS, tokeny/sek), „ogony” turniejów i kampanii.
Rezerwacja/Miejsce: mieszane puli (zarezerwowane + miejsce/przedwczesne) z powtórnym ustawieniem zadań i punktów kontrolnych.
Autoskale: HPA/KPA według głębokości RPS/kolejki/GPU-util; „ciepły początek” z rozgrzewanymi łuskami.
Model Zoo: Zmniejszyć opcje; Użyj adaptacji (LoRA/PEFT) zamiast pełnego powielania.
Pamięć podręczna: osadzanie/wyniki drogich zapytań, udostępnianie pamięci podręcznej KV dla LLM.
Optymalizacja żetonów: kompresja prompts, generacja powiększona o odzyskiwanie (RAG), rerank przed generacją.
11) Wielobranżowe, HA i DR
Active/Active surfing jest bliżej użytkownika, globalnego routingu (latency-based).
Replikacja wagi i funkcji z kontroli integralności; nagrzewanie buforów podczas zwolnień.
Plan DR: utrata AZ/region, ewakuacja do rezerwowej puli, kontrola zależności od scentralizowanego katalogu.
Dni chaosu: testy awarii węzła/domeny sieci GPU/pamięci masowej.
12) Szablony konfiguracji (koncepcje)
Tryton - dynamiczne masowanie:text dynamic_batching {
preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000
}
instance_group { count: 2 kind: KIND_GPU }
KServe - Kanarka:
yaml spec:
predictor:
canaryTrafficPercent: 20 model:
modelFormat: { name: triton }
resources:
limits: { nvidia. com/gpu: "1" }
vLLM - Launch (Ideas):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
--enforce-eager
13) Specyfika LLM: RAG i pętla wyszukiwania
Indeksowanie: chanking, osadzanie, ANN-shading przez 'lokator/locale'.
Rerank: Lekki model cięcia CPU/GPU w celu poprawy dokładności.
Wiersze/konteksty pamięci podręcznej: dedup, canonicalization.
Zasady cytowania/odpowiedzialności w odniesieniu do domen wrażliwych (CCP/zasady).
14) Lista kontrolna wdrażania
1. Przechwytywanie SLO (p95 latency/tokens/s, dostępność) i profile obciążenia.
2. Podziel klaster na puli (obsługa/pociąg/B + R), wprowadź kwoty/priorytety.
3. Włącz planowanie RDMA/NCCL i uświadomienie topologiczne.
4. Konfiguracja magazynów: wagi, zbiory danych, fichester (online/offline), bazy danych wektorów.
5. Wybierz stos serwujący (Triton/KServe/vLLM), dodaj buforowanie/KV/kwantyzację.
6. Uruchom rejestr modelu, CI/CD, canary/shadow.
7. Umieść obserwowalność: system + metryki biznesowe, jakość, odwzorowanie.
8. Wprowadź zasady bezpieczeństwa/PII, licencje, audyt.
9. Optymalizacja TCO: zarezerwowane + miejsce, autoskale, pamięć podręczna, PEFT zamiast pełnych klonów.
10. Przygotuj HA/DR i mieć dzień gry.
15) Antypattery
„Jeden wielki GPU dla wszystkich” bez basenów i priorytetów.
Brak dynamicznego masła i pamięci podręcznej KV dla LLM → eksplozja p99 i koszt.
Trening i obsługa na tym samym basenie bez uprzedzenia → incydenty SLO.
Zero jakości/bezpieczeństwa telemetrii → subtelna degradacja i zagrożenia.
Scentralizowany monolit bez rejestru fichester/model → brak odtwarzalności.
Ignorowanie licencji skali/danych.
Podsumowanie
Udana infrastruktura AI obejmuje inteligentne rozkłady basenów GPU, wysoką sieć i prawidłowe przechowywanie, wydajną obsługę (butching, cache, kwantyzacja, kompilacja), dojrzałe MLOp i ścisłe SLO. W połączeniu z bezpieczeństwem/PII, wieloregionalnym HA/DR i przemyślanym Finops, platforma daje stabilny p99, kontrolowane $/żądanie i szybkie wdrożenie nowych modeli - od zwalczania oszustw do personalizacji i asystentów LLM.