Infrastructură AI și bazine GPU
(Secțiunea: Tehnologie și infrastructură)
Scurt rezumat
Production-AI nu este „un singur model pe un singur server”, ci un grup de noduri GPU, piscine de accelerație partajate, servire unificată, date/caracteristică, observabilitate și gestionarea costurilor. Pentru iGaming, acest lucru este esențial în timp real: anti-fraudă, personalizare, chatbots, asistenți LLM, recomandări de joc/stoc. Cărămizi de bază: Kubernetes/Slurm pentru planificare, izolarea volumelor de lucru, rețea de mare viteză (100/200/400G cu RDMA), stocare rapidă, MLOps mature și SLO „beton armat”.
1) Harta arhitecturală
Straturi:1. Cluster de calcul: noduri GPU (clase A/H, AMD/ROCm, Intel Gaudi etc.), noduri CPU pentru preprocesare/caracteristică.
2. Reţea: 100G + Ethernet/IB, RDMA (RoCEv2), topologii NCCL, QoS.
3. Stocare: obiect (S3-shared), distribuit POSIX (Ceph/grid), local NVMe-zero.
4. Date/caracteristici: fichester (online/offline), baze de date vectoriale (ANN), cache (Redis), cozi.
5. ML-platformă: registru de artefacte și modele, conducte (CI/CD), controlul versiunii, caracteristici ca cod.
6. Strat de service: Triton/KServe/vLLM/text-generation-inference (TGI), A/V/canare-implementa, autoresize.
7. Guvernanță și securitate: PII, secrete, audit, politici de export, greutate/licențe Datacet.
Sarcini tipice:- Scor online (p95 ≤ 50-150 ms) - anti-fraudă, recomandări, clasament.
- Servire LLM (p95 ≤ 200-800 ms pentru 128-512 jetoane) - chat/agenți/solicitări.
- Analiza loturilor/instruire suplimentară - ferestre de noapte, valori offline.
- Luptă/adaptare - periodic, cu o prioritate mai mică decât online.
2) GPU piscine și programare
Model de piscină
Servirea piscinei: cereri scurte, butching ridicat, SLO-uri stricte.
Training/Finetuning Pool: Locuri de muncă lungi, Instruire distribuită (DDP).
Pool „R & D/Experimente”: cote/limite, preempțiune permisă.
CPU/Pre-/Post-procesare pool: normalizare, tokenizare, rang pe CPU.
Programatori
Kubernetes (+ plugin-ul de dispozitiv, NodeFeatureDiscovery, paturile/toleranțele, PriorityClass, PodPriority/Preemption).
Slurm (adesea pentru formarea HPC) - poate fi amestecat cu K8s prin lucrători separați.
Cote și cote echitabile: cote namespace pentru GPU, CPU, memorie; „bănci” GPU-ore; limitele spațiului de nume/proiectului.
Partiționarea GPU
MIG (Multi-Instance GPU): tăierea acceleratorului în felii izolate (pentru surfing/multi-chirie).
MPS: partajare SM pentru sarcini mici (interferențe monitor).
NVLink/PCIe: luați în considerare programarea conștientă de topologie.
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) Performanță de rețea și inter-site
RDMA (RoCEv2) pentru allrudges NCCL; Setări ECN/PFC, izolarea claselor de trafic.
Localizare: instruire în interiorul unei „fabrici” (pod/gazdă/optică), servire - mai aproape de utilizator (margine/regiune).
Control combinat: profile reglate, cadre jumbo, interfețe pin-ning.
4) Stocare și date
Greutate/depozitare artefact: obiect (versioning, imutabilitate).
Seturi de date/caracteristici: Lakehouse (Delta/Iceberg/Hudi) + fichester offline; online-fichestor (milisecunde SLA).
Baze de date vectoriale (ANN): Faiss/ScaNN/acceleratoare, sau motoare vectoriale furnizor; timiditate, HNSW/FIV, replicare.
Memorie cache locală NVMe: încălzirea cântarelor/încorporărilor pentru un început rece.
5) Modele de servire
Cadre
Triton Inference Server (multimodel, multi-time, butching dinamic).
KServe (K8s-native, autoscaling HPA/KPA, canar).
vLLM/TGI pentru tokenizarea LLM și decodarea de înaltă performanță (atenție paginat, descărcare cache KV).
ONNX Runtime/TensorRT-LLM - pentru compilare și accelerare.
Optimizări
Cantitate: INT8/FP8/INT4 (percentile/calibrare, AWQ/GPTQ) - online cu atenție, măsoară calitatea.
Compilare grafic: TensorRT, TorchInductor/XLA, nuclee topite.
Butching/microbatching: dinamic și static; для LLM - batare continuă.
KV cache: partajarea între cereri, offline pe CPU/NVMe cu contexte lungi.
Decodare speculativă: model de proiect + verificator pentru a accelera producția de token.
Limite token/context, oprire timpurie, stopwords, buget de timp pe cerere.
Implementarea politicilor
A/B, canar, umbră - compararea măsurătorilor de latență/calitate/business.
Albastru verde - nici un timp de nefuncționare.
Rollback pe SLO/erori.
6) Antrenament/Luptă
DDP/FSDP/ZeRO: memorie/degradeuri distribuite, contabilitate NVLink/topologie.
Puncte de control: incremental/full, frecvență vs I/O.
Precizie mixtă: bf16/fp16 + scalare pierdere; stabilitatea profilului.
Seturi de date: iterator uniform, replicare între noduri.
Priorități: locuri de muncă întreruptibile (preventibile) în favoarea navigării.
Conducte independente: date → tren → eval → registru → progres în PROD în conformitate cu criteriile porții.
7) MLOps și platforma
Înregistrarea modelelor: versiuni, semnături, dependențe, licențe/dreptul de utilizare a cântarelor.
Modele CI/CD: teste de compatibilitate, regresii de performanță, porți de calitate, implementare în condiții de siguranță.
Fichestor: consistență offline/online (paritate caracteristică), TTL și backfill.
Data/Model Lineage: urme de la set de date la raport/experiment.
Director de solicitări/șabloane pentru LLM (versioning).
8) Observabilitate și SLO
Măsurători online:- Latență p50/p95/p99, jetoane/s, ocuparea lotului, așteptare coadă, ocupare GPU-util/SM, memorie, erori.
- Specificul LLM: token-uri I/O, lungimea medie de răspuns, procentul de defecțiuni după limite, KV cache lovit.
- Calitate: teste automate de regresie (offline), telemetrie online (steaguri de conținut, toxicitate, precizia emiterii pe eșantioane de aur).
- Business SLO: conversie de personalizare, precizie anti-fraudă, retenție.
Alerte: creștere p99/coadă, scădere jetoane/s, degradare lot-umplere, VRAM/PCIe-accelerație epuizare, rata-limită de creștere eșec.
9) Securitate, conformitate și confidențialitate
PII/date financiare: segmentarea calculelor și a datelor pe regiuni, criptarea în repaus/tranzit, tokenizarea.
Secretele/Cheile: KMS/Secrets Manager; exclude stocarea în imagini/cod.
Politici de ieșire LLM: filtre de securitate, echipa roșie, înregistrarea solicitărilor/răspunsurilor (cu anonimizare).
Licențe: respectarea licențelor pentru seturi de date/greutăți; „fără redistribuire „/restricții comerciale.
Izolarea chiriașilor: namespace-RBAC, rețele, felii MIG, limite și cote.
10) Costul și Finops
Planificarea capacității: profile de încărcare (RPS, jetoane/sec), „cozi” de turnee și campanii.
Rezerva/Spot: piscine mixte (rezervate + spot/preemptibile) cu sarcini de re-setare și puncte de control.
Autoscale: HPA/KPA prin RPS/coadă adâncime/GPU-util; "start cald' cu cântare încălzite.
Model Zoo: Reduceți opțiunile; Utilizați adaptarea (LoRA/PEFT) în loc de duplicare completă.
Cache: încorporări/rezultate ale cererilor scumpe, partajarea cache-urilor KV pentru LLM.
Optimizarea tokenurilor: comprimarea solicitărilor, generarea augmentată de recuperare (RAG), rang înainte de generare.
11) Multi-regiune, HA și DR
Navigarea activă/activă este mai aproape de utilizator, rutarea globală (bazată pe latență).
Replicarea cântarelor și a caracteristicilor cu verificarea integrității; încălzirea cache-urilor în timpul eliberărilor.
Planul DR: pierderea AZ/regiune, evacuarea în bazinul de rezervă, controlul dependenței de directorul centralizat.
Zile de haos: GPU node/network domain/storage failure tests.
12) Șabloane de configurare (concepte)
Triton - butching dinamic:text dynamic_batching {
preferred_batch_size: [4, 8, 16, 32]
max_queue_delay_microseconds: 2000
}
instance_group { count: 2 kind: KIND_GPU }
KServe - Canare:
yaml spec:
predictor:
canaryTrafficPercent: 20 model:
modelFormat: { name: triton }
resources:
limits: { nvidia. com/gpu: "1" }
vLLM - Lansare (Idei):
--tensor-parallel-size 2
--max-num-seqs 512
--gpu-memory-utilization 0. 9
--enforce-eager
13) Specificitatea LLM: RAG și bucla de căutare
Indexare: scandare, încorporare, ANN-sharding prin „chiriaș/local”.
Clasament: Model ușor de felie CPU/GPU pentru a îmbunătăți precizia.
Solicitări/contexte cache: dedup, canonicalizare.
Politici de citare/răspundere pentru domenii sensibile (CPC/reguli).
14) Lista de verificare a implementării
1. Capturați SLO-uri (p95 latență/jetoane/s, disponibilitate) și profile de încărcare.
2. Împărțiți clusterul în bazine (servire/tren/R & D), introduceți cote/priorități.
3. Activați RDMA/NCCL și programarea topologică.
4. Configurați stocaje: scale, seturi de date, fichester (online/offline), baze de date vectoriale.
5. Selectați stiva de servire (Triton/KServe/vLLM), adăugați butching/KV cache/cuantificare.
6. Rulați registrul de model, CI/CD, canar/umbra implementa.
7. Puneți observabilitatea: sistem + măsurători de afaceri, calitate, urmărire.
8. Introduceți politici de securitate/PII, licențe, audit.
9. Optimizați TCO: rezervat + spot, autoscale, cache, PEFT în loc de clone complete.
10. Pregătiți HA/DR și au o zi de joc.
15) Antipattern
„Un GPU mare pentru toți” fără piscine și priorități.
Lipsa de butching dinamic și cache KV pentru LLM → explozie de p99 și cost.
Instruirea și servirea pe același bazin fără preempțiune → incidentelor SLO.
Telemetrie de zero calitate/siguranță → degradare subtilă și riscuri.
Monolit centralizat fără phichester/model → fără reproductibilitate.
Ignorarea licențelor de scară/date.
Rezumat
Infrastructura AI de succes include programarea inteligentă a bazinelor GPU, rețeaua înaltă și stocarea corectă, servirea eficientă (butching, cache, cuantizare, compilare), MLOps mature și SLO-uri stricte. Combinată cu securitate/PII, HA/DR multiregional și Finops atent, platforma oferă un p99 stabil, controlat $/cerere și implementarea rapidă a noilor modele - de la anti-fraudă la personalizare și asistenți LLM.