GH GambleHub

Nodes GPU et calcul ML

Résumé succinct

La pile ML réussie sur GPU est un ensemble de solutions de fer, de logiciels, de planification, de données et d'observation. Le cluster doit être aussi bon :

1. former des modèles (recyclage élevé, raccourcis rapides, résistance aux interruptions),

2. servir l'inference (faible p95-latence à conversion élevée),

3. coûter de l'argent prévisible (FinOps, quotas, multitenance),

4. être sûr (isolation, chaîne d'approvisionnement, contrôle des balances/datacets).

Fer et topologie

GPU et mémoire

Le volume et la bande HBM sont plus importants que les « TFLOPS crus » pour LLM/RecSys.
Pour l'inference, beaucoup de petites requêtes sont la priorité de la mémoire intégrée (KV-cache) et le haut clocks/power limit.

Connectivité

NVLink/NVSwitch - à l'intérieur d'un nœud pour un all-reduce rapide.
InfiniBand/RoCE est un échange entre nœuds pour DDP/FSDP (≥ 100-200 Gb/s).
Arbre PCIe : s'assurer que NIC et GPU sont assis sur un seul nœud NUMA ; évitez les bottleneck PCIe-switch « chauds ».

Tuning de base du BIOS/nœud

Modes Performance, désactivation des C-states (ou augmentation minimale), NUMA awareness, ASPM off sur les PCIe critiques.
Nutrition : profils stables, pas agressif power-save - sinon « tremble » p99.

Base de la pile de logiciels

Pilotes NVIDIA + CUDA + cuDNN/TensorRT cohérents sur la matrice de compatibilité.
NVIDIA Container Toolkit pour GPU à l'intérieur des conteneurs.
NCCL (collectifs), UCX (transports), Apex/xFormers/Flash-Attraction - pour la vitesse.
En option, GDS (GPUDirect Storage) sur NVMe/IB rapide - accélère le flux de données.

Kubernetes pour GPU

Composants clés

NVIDIA GPU Operator (pilotes, DCGM, device-plugin).
NVIDIA Device Plugin - Export des ressources 'nvidia. com/gpu`.
MIG (A100/H100) : Division d'un GPU physique en profils isolés (par exemple, '1g. 10gb`).
Time-slicing est l'écrasement logique du GPU dans le temps pour les petites tâches d'infériorité.
Node Feature Discovery - étiquettes par type de GPU/topologie.

Planification et isolation

Taints/Tolerations/NodeSelectors pour séparer formation/inference/expériences.
Topology Manager et CPU Manager (statique) pour l'alignement NUMA.
Volcano/Slurm on K8s/Ray - files d'attente, priorités, préemption pour les gros job.

Exemple de requête GPU dans Pod :
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
Exemple de taint/affinity pour un pool d'entraînement dédié :
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"

Formation : Échelle et durabilité

Parallélisme

DDP est un parallélisme de date standard.
FSDP/ZeRO - Chardonnez les paramètres/grades/optimiseurs, réduit la mémoire.
Tensor/Pipeline Parallèle - pour les très grands LLM ; nécessite NVLink/IB.
L'accumulation gradiente - augmente l'efficacité de batch sans la croissance des pics de mémoire.

Précision mixte et optimisation de la mémoire

AMP (bf16/fp16) + loss scaling; pour les H100/nouveaux - FP8 si possible.
Activation/Gradient Checkpointing, Flash-Attraction pour les séquences longues.
Paged/Chunked KV-cache pour se préparer à l'inference.

Tchekpoint et tolérance aux pannes

Checkpoint incrémental fréquent sur NVMe rapide/objet avec rétention.
Jobs idempotent (identificateurs de blessures répétés).
Résistance au spot : Attraper SIGTERM, fusionner rapidement l'état ; le planificateur remet le job dans la file.

Variables importantes NCCL/réseaux (exemple)

bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS

Inference : faible latence, rendement élevé

Cadre Serving

Triton Inference Server est un serveur unique pour TensorRT/ONNX/TS/PyTorch.
vLLM/TGI/TensorRT-LLM - Spécialistes LLM (paged-attraction, KV-cache efficace, batching continu).

Réceptions d'accélération

Quantification : INT8/FP8/quant. -aware (AWQ, GPTQ) - réduction VRAM, croissance TPS.
Batching/Continuous batching : servir des paquets de demandes sans croissance p95.
KV-cache pinning dans HBM, réduction des contextes ; décodage speculatif (modèle draft).
Concurrence sur GPU : plusieurs threads/modèles sous MIG/time-slice.

Profils de cible (exemple SLO)

p95 latence de réponse du modèle de chat ≤ 300 ms par préfixe/token ;

Throughput ≥ 200 courants/s/GPU sur le profil cible ;

Les résidus p99 sont contrôlés par le sheduling (classes QoS et limites contextuelles).

Triton deployment (fragment)

yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]

Données et pipelines

Formats : Parquet/Arrow, webdataset (tar-chards) pour la lecture en continu.
Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.
Feature Store pour la fiche en ligne (antifrod/recommandations).
Versioning : DVC/LakeFS/MLflow Model Registry ; enregistrer les datasettes, le code et les hyperparamètres.

Observabilité et SLO

Métriques DCGM/Prometheus (minimum)

`dcgm_sm_util`, `dcgm_fb_used`, `dcgm_power_usage`, `dcgm_pcie_rx/tx`, `dcgm_dram_bw`

Températures/fréquences et errors ECC (alert par croissance).
Achieved Occupancy et stall reasons (couche étroite du noyau).

Métriques de service

Modèles générateurs : Tokens/s, p50/p95/p99, queue depth, panne de mémoire.
Formation : étapes/secondes, temps de l'ère, efficacité all-reduce, % du temps en I/O.
SLO panel : conformité p95, « budget des erreurs » (≥ 99. 5 % d'inferences « réussies »).

Alerte (idées)

`fb_used / fb_total > 0. 95` 5 мин → throttle/scale-out.
La baisse du TPS de N % avec le même recyclage est la dégradation du modèle/code.
L'augmentation de l'ESS/température → la migration du job/incident du fer.

Sécurité et isolation

Multi-tenance : profils MIG ou noeuds « per-team », namespaces/quotas.
IOMMU/PSP, cgroups, interdiction des conteneurs privilégiés, restriction « CAP _ ».
MPS (multi-process service) - soigneusement : élimination plus élevée, mais la séparation est plus faible que MIG.
Chaîne d'approvisionnement : signatures de conteneurs (cosign), vérification des artefacts, contrôle des décharges de modèles.
Données/poids : cryptage sur disque, contrôle d'accès (ABAC/RBAC), filigranes/registres de hash des modèles.

FinOps : coût, quotas, auto-ski

Pools de nœuds : 'train' (on-demand/réserves), 'infer' (mélange on-demand + spot), 'bou' (spot-heavy).
Résilience des spot : checkpoints fréquents, logique de redémarrage rapide, files d'attente Volcano avec priorités.
Réserves/RI/Plans d'épargne pour une base stable ; auto-désactivation des nœuds vides.
Modèles right-sizing : Quantification/adaptateurs LoRA au lieu d'un modèle « complet » ; sélection des profils MIG sous SLA.
Contour des budgets : quotas GPU-heures par équipe, « coût pour 1k requêtes/tokens ».

Modèles YAML et artefacts

1) Profil MIG (conceptuel)

yaml apiVersion: nvidia. com/v1 kind: MigStrategy metadata: { name: mig-a100-1g10gb }
spec:
deviceFilter: "a100"
mode: single resources:
- profile: "1g. 10gb"
count: 7

2) Volcano file d'attente pour la formation

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 pour Auto Skale Inference à tour de rôle

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"

Chèque de démarrage du cluster GPU

  • Carte de topologie NVLink/IB ; NIC/GPU sur un seul NUMA.
  • Pilotes/CUDA harmonisés, Operator/Device-plugin installé.
  • Profils MIG/time-slicing et quotas de neimspace.
  • DDP/FSDP pipeline obkatan sur le stajing ; les tchekpoints sont rapides.
  • Triton/vLLM с continuous batching; les cibles p95 et TPS sont données.
  • DCGM/Prometheus/Grafana + alerts ECC/température/mémoire/TPS.
  • Politiques de sécurité (PSP, cosign, obstruction/contrôle des poids).
  • FinOps : pools spot/ri, rapport « $/1k tokens », auto-jokdown idle.

Erreurs typiques

L'entraînement et l'inference sont mélangés sur des noeuds sans taints → des « scies » entre eux GPU/IO.
Il n'y a pas de checkpoint et de préemption-logique → perte de progrès sur spot.
L'absence de métriques DCGM → l'élimination « aveugle » et la surchauffe.
Ignorer la topologie NUMA/PCIe → la bande NCCL basse.
Profils MIG/time-slice incorrects → p99 latence et « Out of Memory ».
HPA par CPU au lieu de TPS/latence → skale tardif.

Spécificités iGaming/fintech

Antifrod's/scoring : SLA inference ≤ 50 ms p95 sur les voies critiques (paiements/conclusions) ; tenez le modèle léger « fallback ».
Recommandations/personnalisation : on-policy/off-policy learning la nuit, online-features - faible latence.
Assistants de chat/RAG : cache de contenu, déduplication des requêtes, guardrails ; Chardonnez les index de recherche vectorielle.
Pics (matchs/tournois) : préchauffage des modèles/kv-cache, augmentation des minReplicas, cours QoS pour VIP.

Résultat

La pile de calcul GPU devient vraiment efficace lorsque le fer (HBM/NVLink/IB), la matrice de soft (CUDA/NCCL), la planification (MIG, file d'attente, taints), les données (piapline rapide/GDS), l'observation (DCCCL D D D D D GM/SLO) et le coût (FinOps/quotas) fonctionnent de manière cohérente. Intégrez cela dans l'IaC et la politique des clusters - et vous obtiendrez un taux d'apprentissage prévisible, un inference stable avec une faible p95-latence et une économie transparente de l'horloge GPU.

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.