前面聊了网卡、DMA和RDMA,接下来把视角拉到多机训练。

假设每台服务器上都有两张RDMA网卡,分别接到两个网络平面。网卡单独测都没问题,但放到NCCL里,数据到底会走哪张卡?两个平面能不能同时用?如果平面之间根本不通,又该怎么办?

这时候经常会碰到一个环境变量:NCCL_CROSS_NIC。名字里有个CROSS,很容易把它当成“多网卡开关”。但真按这个思路去配置,可能从第一步就理解偏了。

这篇就围绕这个参数展开,把0、1、2的区别,以及容易想当然的几个地方说清楚。

阅读全文 »

场景假设:你要在 IDC 里落地一套 1024 卡(128 节点 × 8 卡) 的 NVIDIA GPU 集群,
跑大模型训练(DP/TP/PP/EP 混合并行)+ 推理。本文讲清楚:交换机怎么选、多轨(rail)
怎么布、网络容量怎么算、以及 K8s/调度要配合什么
。

数字基于 DGX/HGX 形态 + H100(NVLink 900GB/s、400G NIC),代际差异会注明。


阅读全文 »

对应路线图 Phase 2(W6-W9)的通信部分 + Phase 4(W17 nccl-tests)。
这一份回答三个问题:多卡之间的数据到底怎么传?NCCL 在链路里扮演什么角色?
为什么 NCCL 一挂,整个训练就卡死?

读完你应该能看懂:NCCL_DEBUG=INFO 日志、nvidia-smi topo -m 拓扑图、
以及为什么 IB(InfiniBand)比普通以太网快一个数量级。


阅读全文 »

对应路线图 Phase 4(W16-18)。这份是”硬件层”词鉴:
之前三份讲模型在算什么、训练怎么并行、推理怎么服务——这一份讲这些计算到底跑在什么硬件上,
以及为什么某些数字(算力/TFLOPS、带宽/TB/s)会卡住你的训练和推理。

读完你应该能回答:CUDA Core 和 Tensor Core 的区别、为什么 H100 比 A100 快那么多、
为什么 decode 受带宽限制、nvidia-smi 里每个数字在说什么。


阅读全文 »

这一页把四份词汇图鉴的所有概念串成一张总图,配两种形式:

  • 本文件的 mermaid 图(GitHub / VS Code + Mermaid 插件 可直接渲染)
  • diagrams/glossary-00-overview.svg(已渲染好的图片,任何编辑器/浏览器可看)
    阅读全文 »

本周目标

用1周时间建立全局认知地图,知道每个术语属于训练/推理/RL哪一层,避免后面”学了后面忘前面”。

⭐ 先读:四份词汇图鉴(本仓库内,配图详解)

按顺序精读,这是本周的最主要内容:

  1. glossary-01-foundations.md — 模型在算什么:
    Tokenizer → Embedding → 位置编码 → Attention(QKV/causal mask) → GQA/MLA → MLP →
    LayerNorm → Loss → Forward/Backward → Gradient → Optimizer State(16B/参数) → 显存总账
  2. glossary-02-scaling.md — 训练怎么铺到多卡:
    通信原语(AllReduce/AllGather/ReduceScatter/Ring) → DP/TP/PP/EP/SP → 3D组合 →
    ZeRO-1/2/3 与 FSDP → Checkpoint 与容错
  3. glossary-03-inference-rl.md — 推理+RL:
    Prefill/Decode → KV Cache → FlashAttention → PagedAttention → Continuous Batching →
    量化 → 投机解码 → PD分离 → 前缀缓存/网关 → RL(Rollout⇄Policy Update, PPO/GRPO/DPO)
  4. glossary-04-gpu-hardware.md — GPU 底层架构:
    SM/CUDA Core/Tensor Core → 精度阶梯(FP32/TF32/FP16/BF16/FP8/FP4) → 内存金字塔(HBM/L2/共享内存) →
    GPU代际(V100→A100→H100→B200) → NVLink → 稀疏2:4 → Triton/CUDA Graphs → nvidia-smi排障

说明:glossary-04 属于 Phase 4(W16-18)的正式内容,但建议 W1 通读建立硬件直觉,
后续学到 MFU、带宽瓶颈、TP拓扑时能直接对应上。

每节结构:一句话 → 内部机制(mermaid/ASCII图)→ 系统管理员类比 → 要记住的数字。
读完合上文件把图示默画一遍再继续下一节。

学习材料(外部)

  • pacoxu/ai-infra README — 重点看 “AI Infra Definition” 三分法
    (Training: DP/TP/EP/SP/PP | Inference: KVCache/PD disaggregation | RL: 训练推理一致性)
  • learninfra.dev 目录 过一遍标题和摘要(不用细读)
  • docs/training/parallelism.md, docs/inference/pd-disaggregation.md(pacoxu/ai-infra repo 内)

动手实验

无需GPU。花3-4小时做一张可视化脑图,建议用 draw.io / Excalidraw / 纯 Markdown 表格:

1
2
3
4
5
6
7
8
9
纵轴:Training层级 vs Inference层级 vs RL层级
横轴:从"模型计算" -> "单卡" -> "多卡" -> "多机" -> "生产服务"

示例节点:
Tokenizer -> Embedding -> Attention(QKV) -> MLP -> LayerNorm
-> Forward/Backward -> Gradient -> Optimizer State
-> [训练] DP/TP/PP/EP/SP -> ZeRO/FSDP -> AllReduce/AllGather -> Checkpoint
-> [推理] KVCache -> PagedAttention -> Continuous Batching -> PD分离 -> 量化
-> [RL] Rollout(推理) -> Reward -> Policy Update(训练) -> PPO/GRPO

对每个节点标注:

  • ✅ 已经懂
  • 🟡 听过但说不清楚
  • ❌ 完全没概念

验收产出

  • 用三份图鉴里的图,画出你自己的合并版总图(见 glossary-03 第11节的串连总图)
  • week-01/README.md:脑图截图/文件 + 一段文字自评:”我现在最大的知识盲区是____,
    因为____”(这段话决定你后面该在哪个阶段多花时间)
  • 对图鉴中的每张图,合上文档徒手画一遍(画不出来的地方就是你没吃透的地方,标记回去重读)
  • 额外:列出你们集群里曾经跑过的3个典型任务(1个训练job,1个推理服务,1个如果有的话RL/post-training job),
    写下你目前能解释清楚的部分和说不清楚的部分。这份清单在Phase 2/3/5会反复用到。
0%