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,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。