Nodi GPU e ML
Breve riepilogo
Il successo dello stack ML su GPU è un insieme di soluzioni per ferro, software, pianificazione, dati e osservabilità. Il cluster deve essere bravo allo stesso modo:1. formare modelli (elevato riciclaggio, rapido checkpoint, resistenza alle interruzioni),
2. servire l'inferance (bassa p95-latenza ad alta conversione),
3. costare denaro prevedibile (FinOps, quote, multi-tenenza),
4. essere sicuro (isolamento, supply chain, controllo pesi/dataset).
Ferro e topologia
GPU e memoria
Il volume e la banda HBM sono più importanti di quelli crudi del TFLOPS per il LLM/RecSys.
Per l'infertilità di molte piccole richieste, la priorità della memoria integrata (KV-cache) e l'alta clocks/power limit.
Connettività
NVLink/NVSwitch - all'interno di un sito per il rapido all-reuce.
Il InfiniBand/RoCE è uno scambio intersito per DMP/FSDP (≥ 100-200 Gb/s).
Albero PCIe: assicuratevi che NIC e GPU si siedano sullo stesso nodo NUMA; evitare «hot» PCIe-switch bottleneck.
Sintonizzazione base del BIOS/nodo
Modalità Performance, disattivazione C-states (o aumento minimo), NUMA awareness, ASPM off su PCIe critiche.
Alimentazione: profili stabili, non power-save aggressivo, altrimenti «trema» p99.
Software stack di base
Driver NVIDIA + CUDA + cuDNN/TensorRT coerenti con la matrice di compatibilità.
NVIDIA Container Toolkit per GPU all'interno dei contenitori.
NCCL, UCX, Apex/xFormers/Flash-Attention per la velocità.
GDS (GPUDirect Storage) opzionale su NVMe/IB veloci: accelera il flusso dei dati.
Kubernets per GPU
Componenti chiave
NVIDIA GPU Operator (driver, DCGM, device-plugin).
NVIDIA Device Plugin - Esporta risorse "nvidia. com/gpu`.
MIN (A100/H100) - Suddivide una GPU fisica in profili isolati (ad esempio, '1g. 10gb`).
Time-slicing è un frammento logico del tempo di GPU per piccole attività di infertilità.
Node Feature Discovery - Etichette per tipo di GPU/topologia.
Pianificazione e isolamento
Taints/Tolerations/NodeSelectors per separare formazione/inferance/esperimenti.
Topology Manager e CPU Manager (static) per l'allineamento NUMA.
Volcano/Slurm on K8s/Ray - code, priorità, preimpressione per i grandi.
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
Esempio di taint/affinity per il pool di allenamento selezionato:
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"
Formazione: scala e sostenibilità
Parallelismo
DDP è un parallelismo di data standard.
FSDP/ZeRO - Charding dei parametri/grani/ottimizzatori, riduce la memoria.
Tendor/Pipeline Parallel - per LLM molto grandi; richiede NVLink/IB.
Gradiente Accumulation - Aumenta l'efficienza batch senza la crescita dei picchi di memoria.
Precisione e ottimizzazione della memoria
AMP (bf16/fp16) + loss scaling; per N100/nuovi - FP8 dove possibile.
Action/Gradiente Checkpointing, Flash-Attention per sequenze lunghe.
Paged/Chunked KV-cache per preparare l'interferenza.
Checkpoint e disponibilità
Frequenti checkpoint incrementali su oggetti veloci NVME/retensivo.
Giubbotti Idempotent (identificatori RAN ripetuti).
Stabilità spot: cattura SIGTERM, fonde rapidamente lo state; il pianificatore restituisce il jobs in coda.
Importanti variabili NCCL/rete (esempio)
bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS
Bassa latitanza, alto rendimento
Cornici di cerving
Triton Inference Server è un unico server per il server.
vLLM/TGI/ TensorRT-LLM - Professionisti LLM (paged-attraction, efficace KV-cache, continuous batching).
Tecniche di accelerazione
Quantization: INT8/FP8/quantum. -aware (AWQ, GPTQ) - Riduzione del VRAM, crescita del TPS.
Batching/Continuous batching - Manutenzione di pacchetti di query senza altezza p95.
Pinning KV-cache in HBM, riduzione dei contesti; specialative decoding (modello draft).
Concurrency su GPU: più thread/modelli in MIGH/time-slice.
Profili di destinazione (SLO esempio)
p95 Latitudine della risposta del modello di chat da 300 ms al prefisso/token
Throughput 200 /s/GPU sul profilo di destinazione;
Le code p99 controllano lo sheduling (classi e limiti di contesto).
Triton deployment (sezione)
yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]
Dati e pipeline
Formati: Parket/Arrow, webdataset (tar-shard) per la lettura in streaming.
Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.
Feature Store per il fich online (antifrode/raccomandazioni).
Versioning: DVC/LakeFS/MLflow Model Registry; fissare dataset, codice e iperparametri.
Osservabilità e SLO
DCGM/Prometheus metriche (minimo)
`dcgm_sm_util`, `dcgm_fb_used`, `dcgm_power_usage`, `dcgm_pcie_rx/tx`, `dcgm_dram_bw`
Temperature/frequenze e ECC errors (alert per la crescita).
Achieved Occupancy e stall reasons (strato del nucleo stretto).
Metriche di assistenza
Modelli generali: token/sec, p50/p95/p99, queue depth, guasto di memoria.
Formazione: passi/secondi, tempo dell'epoca, efficacia all-reduce,% del tempo in I/O.
Pannello SLO p95, bilancio degli errori (≥ 99. 5% di inferenze «di successo»).
Alerting (idee)
`fb_used / fb_total > 0. 95` 5 мин → throttle/scale-out.
La riduzione del TPS del N% con lo stesso smaltimento è la degradazione del modello/codice.
L'aumento della temperatura/ESC è stato un evento di migrazione del ferro.
Sicurezza e isolamento
Multi-tenantezza: profili MIG o nodi per-team, namespace/quotas.
IOMMU/PSP, GP, disabilitazione dei contenitori privilegiati, vincolo «CAP _».
MPS (multi-process service) - Con attenzione: smaltimento più elevato, ma la divisione più debole di MIGH.
Supply chain - Firma contenitori (cosign), verifica manufatti, controllo caricamento modelli.
Dati/peso: crittografia su disco, controllo di accesso (ABAC/RBAC), filigrana/hash dei modelli.
FinOps: valore, quote, scale automatico
Pool di nodi: «treno» (on-demand/riserva), «infer» (mix on-demand + spot), «exp» (spot-heavy).
Stabilità spot: checkpoint frequenti, logica rapida di riavvio, code Volcano con priorità.
Riserve/RI/Savings Plans per una base stabile; Spegnere automaticamente i nodi vuoti.
I modelli Right-sizing sono quantificati/LoRA invece del modello «completo»; Seleziona i profili MIN sotto SLA.
Contorno budget: quote di orologi GPU per-team, «costo per 1k richieste/token».
Modelli YAML e manufatti
1) Profilo MIG (concettuale)
yaml apiVersion: nvidia. com/v1 kind: MigStrategy metadata: { name: mig-a100-1g10gb }
spec:
deviceFilter: "a100"
mode: single resources:
- profile: "1g. 10gb"
count: 7
2) Coda Volcano per la formazione
yaml apiVersion: scheduling. volcano. sh/v1beta1 kind: Queue metadata: { name: train-q }
spec:
weight: 100 reclaimable: true capability:
resources:
- name: nvidia. com/gpu quantity: 64
3) KEDA per lo screen automatico di inferance in profondità
yaml apiVersion: keda. sh/v1alpha1 kind: ScaledObject metadata: { name: llm-infer }
spec:
scaleTargetRef: { name: llm-deploy }
pollingInterval: 5 minReplicaCount: 2 maxReplicaCount: 80 triggers:
- type: rabbitmq metadata:
queueName: infer-queue mode: QueueLength value: "200"
Foglio di assegno di avvio del cluster GPU
- Scheda di topologia NVLink/IB; NIC/GPU su un singolo NUMA.
- Driver/CUDA concordati, Operator/Device-plugin installati.
- MIG/time-slicing profili e quote di neimspace.
- Il PDP/FSDP pipeline è avvolto su uno stejing; Gli checkpoint sono veloci.
- Triton/vLLM с continuous batching; obiettivi p95 e TPS impostati.
- DCGM/Prometheus/Grafana + alert ECC/temperatura/memoria/TPS.
- Criteri di sicurezza (PSP, cosign, rivestimento/controllo dei pesi).
- FinOps: pool spot/ri, rapporto «$/1k token», auto-shumdown idle.
Errori tipici
Miscelano il training e l'infertilità su un singolo nodo senza taints, si «segano» a vicenda GPU/IO.
Niente checkpoint e logica preemption, perdita di progresso su spot.
L'assenza di metriche DCGM si traduce in smaltimento e surriscaldamento ciechi.
Ignora NUMERA/PCIe topologia a bassa banda NCCL.
Profili MIG/time-slice non validi per p99 latitanza e Out of Memory.
HPA CPU al posto di TPS/Latitanza a scale tardivo.
Specifica iGaming/Fintech
Antifrod/screening: SLA infernale di 50 ms p95 su vie critiche (pagamenti/conclusioni); tenete un modello di fallback leggero.
Linee guida/personalizzazione: on-policy/off-policy formazione notturna, online-feures - bassa latitanza.
Chat-assistenti/RAF: cache dei contenuti, deduplicazione delle richieste, guardrail; scardinare gli indici di ricerca vettoriale.
Picchi (partite/tornei): pre-riscaldamento dei modelli/kv-cache, aumento del numero, QoS per VIP.
Totale
I calcoli GPU diventano effettivamente efficaci quando il ferro (HBM/NVLink/IB), la matrice soft (CUDA/NCCL), la pianificazione (MIG, coda, taints), i dati (veloce pipline/GDS), l'osservabilità (DD) CGM/SLO) e il costo (FinOps/quote) funzionano in modo coerente. Fissatelo con la politica dei cluster, e ottenete una velocità di apprendimento prevedibile, un'inerenza stabile a bassa latenza e un'economia GPU-ore trasparente.