GH GambleHub

GPU-nods和ML計算

簡短摘要

GPU上成功的ML堆棧是鐵,軟件,計劃,數據和可觀察性解決方案的集合。群集應該能夠同樣好:

1.訓練模型(高回收率,快速檢查點,抗幹擾性),

2.服務地獄(高轉化率下的p95潛伏期),

3.值得可預測的錢(FinOps,配額,多重影響),

4.安全(絕緣、供應鏈、權重/數據控制)。

鐵和拓撲

GPU和內存

HBM容量和頻段比LLM/RecSys的「原始TFLOPS」更重要。
對於地獄,許多次要查詢是嵌入式內存優先級(KV-cache)和高clocks/power limit。

連通性

NVLink/NVSwitch-在節點內進行快速全重置。
InfiniBand/RoCE是DDP/FSDP(≥ 100-200 Gb/s)的節點間交換。
PCIe樹:試著讓NIC和GPU坐在一個NUMA節點上;避免「熱」PCIe-switch bottleneck。

BIOS/節點基本調音

性能模式,禁用C狀態(或提升最小值),NUMA awareness,在關鍵PCIe上關閉ASPM。
電源:穩定的配置文件,不積極的電源保存-否則,「顫抖」p99。

基本軟件堆棧

NVIDIA+CUDA+cuDNN/TensorRT驅動程序在兼容性矩陣上一致。
NVIDIA容器工具包,用於容器內的GPU。
NCCL(團隊),UCX(運輸),Apex/xFormers/Flash-Attention-用於速度。
可選地GDS (GPUDirect Storage)用於快速NVMe/IB-加快數據流。

用於GPU的Kubernetes

關鍵組件

NVIDIA GPU操作員(驅動程序,DCGM,設備插件)。

NVIDIA設備插件-導出'nvidia資源。com/gpu`.

MIG(A100/H100)-將單個物理GPU除以孤立的配置文件(例如'1g。10gb`).

時間滑動是GPU對次要地獄任務的邏輯時間分解。
Node Feature Discovery是GPU/拓撲類型的標簽。

規劃和隔離

Taints/Tolerations/NodeSelectors分離培訓/地獄/實驗。
用於NUMA對齊的Topology Manager和CPU Manager(靜態)。
Volcano/Slurm on K8s/Ray-大跳躍的隊列、優先級、預測。

Pod中的GPU查詢示例:
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
用於專用訓練池的taint/affinity示例:
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"

培訓: 規模和可持續性

並發

DDP是標準數據並發。
FSDP/ZeRO-參數/grads/Optimiser的散列,減少內存。
Tensor/Pipeline Parallel-用於非常大的LLM;需要NVLink/IB。
Gradient Accumulation-在不增長內存峰的情況下增加有效的擊球。

混合精度和內存優化

AMP (bf16/fp16) + loss scaling;對於H100/新-在可能的情況下FP8。
Activation/Gradient Checkpointing,用於長序列的Flash-Attention。
Paged/Chunked KV-cache為地獄做準備。

Checpoint和容錯性

對快速NVMe/重置對象頻繁進行增量檢查。
等效喬巴(可重復的傷口標識符)。
彈性:捕獲SIGTERM,快速排泄狀態;調度程序將joba返回隊列。

NCCL/網絡重要變量(示例)

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

地獄: 低潛伏率,高回報

伺服框架

Triton Inference Server是TensorRT/ONNX/TS/PyTorch的單個服務器。
vLLM/TGI/TensorRT-LLM-LLM專業人員(插頭,有效的KV-cache,連續擊球)。

加速技術

Quantization: INT8/FP8/quant。-aware (AWQ, GPTQ)-VRAM減少,TPS增長。
Batching/Continuous batching:在沒有p95增長的情況下提供一攬子請求。
HBM中的KV-cache pinning,上下文的減少;專用解碼(草稿模型)。
GPU上的串聯:MIG/時間段下的多個流/模型。

目標配置文件(示例SLO)

p95聊天模型響應的潛在性≤每個前綴/令牌為300毫秒;

Throughput ≥目標配置文件上的200 個電流/s/GPU;

P99尾巴控制著遊動(QoS類和上下文限制)。

Triton部署(片段)

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

數據和pipline

格式:Parquet/Arrow, webdataset (tar shards)用於流式讀取。

Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.

Feature Store for online fitch (antifrod/推薦)。
轉化:DVC/LakeFS/MLflow模型註冊;捕獲數據表、代碼和超參數。

可觀察性和SLO

DCGM/Prometheus度量(最低)

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

溫度/頻率和ECC錯誤(每升高的變量)。
成熟的占領和堅硬的理想(狹窄的核心層)。

服務指標

生成模型:令牌/秒,p50/p95/p99,queue depth,內存故障。
培訓:步驟/秒,時代時間,全效率,I/O的百分比時間。
SLO面板:合規性p95,「錯誤預算」(≥ 99。5%的「成功」地獄)。

🚨 Check Alerting(想法)

`fb_used / fb_total > 0.95` 5 мин → throttle/scale-out.

在相同的處置下,TPS下降N%-模型/代碼退化。
ECU/溫度升高 →鐵遷移率/事件。

安全與隔離

多重性:MIG配置文件或noda 「per-team」,namespaces/quotas。
IOMMU/PSP,cgroups,禁止特權容器,限制「CAP_」。
MPS(多過程服務)-整潔:處置更高,但分離比MIG弱。
供應鏈:容器簽名(cosign),工件驗證,模型上載控制。
數據/權重:磁盤加密,訪問控制(ABAC/RBAC),「水印」/哈希模型註冊表。

FinOps: 成本、配額、汽車軌道

節點池:「train」(點播/備份),「infer」(點播+點混合),「exp」(點播)。
點彈性:頻繁的checkpoint,快速的重新啟動邏輯,具有優先級的Volcano隊列。
儲備/RI/儲蓄計劃到穩定的基礎;自動關閉空的節點。
實例化模型:量化/LoRA適配器而不是「完整」模型;選擇SLA下的MIG配置文件。
預算大綱:按團隊計算的GPU時鐘配額,「1k查詢/令牌成本」。

YAML模板和工件

1) MIG Profile(概念)

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排隊訓練

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用於輪流深度自動地獄

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"

GPU群集啟動清單

  • NVLink/IB拓撲圖;單個NUMA上的NIC/GPU。
  • 驅動程序/CUDA是一致的,操作員/設備插件已安裝。
  • MIG/time-slicing配置文件和neimspace配額。
  • DDP/FSDP管道在站臺上繞行;快速的支票。
[] Triton/vLLM с continuous batching;設定了p95和TPS目標。
  • DCGM/Prometheus/Grafana+alerta ECC/溫度/內存/TPS。
  • 安全政策(PSP、cosign、混淆/權重控制)。
  • FinOps: spot/ri池,報告「$/1k令牌」,auto-shootdown idle.

典型錯誤

在沒有觸摸的情況下將訓練和地獄混合在一起→ GPU/IO彼此「鋸」。
沒有Checkpoints和Preemption邏輯→在現場失去進展。
缺乏DCGM度量→「盲目」處置和過熱。
NUMA/PCIe拓撲忽略→低NCCL帶。
錯誤的MIG/time-slice → p99潛伏期和「Out of Memory」配置文件。
CPU下的HPA代替TPS/潛伏期 →後期滑行。

iGaming/fintech的細節

反親和力/得分:地獄的SLA ≤關鍵路徑上的50 ms p95(付款/結論);保持輕型「fallback」模型。
建議/個性化:夜間在線/非策略性學習,在線功能-低潛伏。
聊天助理/RAG:內容緩存,請求重復,guardrails;分隔矢量搜索索引。
高峰(比賽/錦標賽):預熱模型/kv-cache,minReplicas的增加,VIP的QoS類。

底線

當鐵(HBM/NVLink/IB),軟矩陣(CUDA/NCCL),調度(MIG,隊列,taints),數據(快速管道線/GDS),可觀察性(DD)時,GPU計算堆棧變得非常有效。CGM/SLO)和成本(FinOps/配額)協同工作。將此固定在IaC和集群政策中-並且您將獲得可預測的學習速度,穩定的p95潛伏期低地獄和GPU時鐘的透明經濟性。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。