分布式AI系统-七-
分布式AI系统(七)
译者:飞龙
-
每月免费获得一本电子书或视频
-
支持全文搜索,方便获取关键信息
-
可复制、粘贴、打印内容并添加书签
在www.packtpub.com上,您还可以阅读一系列免费技术文章,订阅多种免费电子报,并获得Packt图书和电子书的专属折扣和优惠。
其他您可能喜欢的图书
如果您喜欢这本书,您可能会对Packt的以下其他图书感兴趣:
使用C++和CUDA进行GPU编程
Paulo Motta
ISBN:9781805124542
-
管理GPU设备并加速您的应用程序
-
使用CUDA和C++有效应用并行性
-
在现有库和自定义GPU解决方案之间做出选择
-
将GPU代码打包为库以供Python使用
-
探索CUDA流等高级主题
-
实施优化策略以实现资源高效执行
Python实战软件工程
Brian Allbee
ISBN:9781835888018
-
区分软件工程与通用编程
-
分解SDLC的每个阶段并将其应用于Python系统
-
在编写代码前创建系统模型以规划架构
-
应用敏捷、Scrum和其他现代开发方法论
-
使用dataclasses、pydantic和schemas进行稳健的数据建模
-
使用GitHub Actions和云构建工具设置CI/CD流水线
-
编写并组织单元测试、集成测试和端到端测试
-
评估并集成Poetry、pytest和Docker等工具
Python图解
Maaike van Putten, Imke van Putten
ISBN:9781836646334
-
配置Python并编写您的第一个程序
-
理解变量、数据类型和条件语句
-
使用循环、列表、字典和元组高效处理数据
-
编写并使用函数创建可复用的代码
-
管理文件并理解面向对象编程和继承
-
调试您的Python代码以确保其完美运行
-
探索如何在这本书之外继续学习和构建
Packt正在寻找像您这样的作者
如果您有兴趣成为Packt的作者,请访问authors.packt.com并立即申请。我们与成千上万的开发人员和技术专业人士(像您一样)合作,帮助他们与全球技术社区分享见解。您可以进行一般性申请,申请我们正在招募作者的特定热门主题,或提交您自己的想法。
分享您的想法
现在您已经读完了分布式AI系统,我们很想听听您的想法!扫描下方二维码直接进入本书的Amazon评论页面,分享您的反馈,或者在您购买本书的网站上留下评论。
https://packt.link/r/1807301710
您的评论对我们和技术社区都很重要,将帮助我们确保提供优质内容。
订阅 Deep Engineering
加入成千上万的开发者和架构师,一起了解软件正如何变化、深化自身专业能力,并构建经久耐用的系统。
Deep Engineering 是一份由专家主笔的每周通讯,面向经验丰富的从业者,提供原创分析、技术访谈,以及关于架构、系统设计和现代编程实践的精选洞见。
扫描二维码或访问下方链接,即可免费订阅。
https://packt.link/deep-engineering-newsletter
索引
符号
| 索引项 | 页码 |
| --- | --- |
| 1F1B(一次前向一次后向) | 232 |
| 2D 环形拓扑 | 73 |
| 3D 环形拓扑 | 73, 74 |
A
| 索引项 | 页码 |
| --- | --- |
| A/B 测试 | 413 |
| A/B 流量拆分 | 412 |
| AI 核心 | 76 |
| AI 集群 | 73 |
| AI 集群 > 推理需求 | 60 |
| AI 集群 > 训练需求 | 60 |
| AMD GPU | 85 |
| 昇腾 | 336 |
| AWS Trainium | 76 |
| AllGather | 37, 38, 86 |
| AllReduce | 36, 37, 85, 115, 116, 460 |
| AlltoAll | 46, 47 |
| 昇腾 SuperPoD | 79 |
| 准确度基准测试 | 464 |
| 激活检查点 | 193 |
| 激活检查点 > 使用 | 193, 194 |
| 激活内存 > 优化 | 197 |
| 激活输出 | 8–13 |
| 激活表 > 约定 | 11 |
| DDP 高级特性 > 通信钩子 | 156, 157 |
| DDP 高级特性 > 梯度钩子 | 156 |
| DDP 高级特性 > 使用 join() 处理不均匀输入 | 157, 158 |
| SLURM 高级特性 > 检查点 | 389 |
| SLURM 高级特性 > 作业数组,用于超参数调优 | 387, 388 |
| SLURM 高级特性 > 作业依赖 | 388 |
| SLURM 高级特性 > 作业恢复 | 389 |
| SLURM 高级特性 > salloc,用于交互式作业 | 388 |
| 智能体 AI | 486 |
| 智能体 AI > 分布式工具执行 | 487 |
| 智能体 AI > 推理智能体 | 488 |
| 智能体 > 对分布式的需求 | 486 |
| 聚合顺序读取 | 66 |
| 算法带宽 | 101 |
| all-gather | 172, 173, 294 |
| all-reduce | 294 |
| all-to-all 通信 | 236 |
| 原子检查点 | 155 |
| 自动扩缩容 | 415 |
| 可用性 | 63, 71 |
B
| 索引项 | 页码 |
| --- | --- |
| B200 | 71 |
| 全程 BF16 | 15 |
| Blackwell(2024) | 69 |
| Broadcast | 39 |
| 总线带宽 | 101 |
| 背压 | 415 |
| 反向预取 | 192 |
| 带宽测试 | 97 |
| 带宽最优 | 116 |
| 基准测试 | 452–454 |
| 基准测试 > 分析结果 | 452 |
| 基准测试 > 效率 | 453 |
| 基准测试 > 推理基准测试 | 461 |
| 基准测试 > 百分位延迟 | 453 |
| 基准测试 > 训练基准测试 | 454 |
| 块 | 82 |
| 缓冲区 | 117 |
C
| 索引项 | 页码 |
| --- | --- |
| CPU 核心 | 66 |
| CPU 卸载 | 194, 195 |
| CPU-GPU 交互 | 65 |
| CUDA > 内存层次结构 | 84 |
| CUDA > 线程索引 | 83 |
| CUDA > 使用 | 84, 85 |
| 寒武纪 MLU | 77 |
| 中央处理器(CPU) | 75, 64 |
| 中央处理器(CPU) > 架构 | 64 |
| 中央处理器(CPU) > NUMA 拓扑 | 65 |
| 中央处理器(CPU) > 分布式训练需求 | 66 |
| Colossal-AI | 242 |
| 上下文并行 | 89, 95, 233, 234 |
| c10d 后端 | 161 |
| 缓存感知策略 | 344 |
| 金丝雀部署 | 413 |
| 检查点 > 最佳实践 | 155 |
| 检查点 > 挑战 | 480 |
| 检查点 > 加载 | 153 |
| 检查点 > 保存 | 153 |
| 芯片编程系统 | 81 |
| 分布式连续批处理? | 292 |
| 集群吞吐量 | 62 |
| 集群 +113 | 59, 60 |
| 集群 > 用于 HPC 和 AI 训练 | 365 |
| 冷启动缓解 | 415 |
| 集合通信操作 | 36 |
| 集合通信操作 > AllGather | 37, 38 |
| 集合通信操作 > AllReduce | 36, 37 |
| 集合通信操作 > AlltoAll | 46, 47 |
| 集合通信操作 > Broadcast | 39 |
| 集合通信操作 > Gather | 42 |
| 集合通信操作 > Reduce | 40, 41 |
| 集合通信操作 > ReduceScatter | 45 |
| 集合通信操作 > Scatter | 43 |
| 集合通信操作 > 选择 | 48 |
| 列并行 | 294 |
| 列并行线性层 | 229 |
| 通信 > 优化 | 196 |
| 通信效率 | 62 |
| 通信钩子 | 156, 157 |
| 通信延迟 | 63 |
| 计算分片 > 与状态分片对比 | 228, 229 |
| 算力 | 57, 58 |
| 连续批处理 | 292 |
| 成本优化 | 416 |
| 每个词元/样本的成本 | 454 |
| 跨模态 | 481 |
D
| 索引项 | 页码 |
| --- | --- |
| DCP API | 187 |
| DDP 性能 > 桶大小调优 | 151 |
| DDP 性能 > 通信重叠优化 | 150 |
| DDP 性能 > 分析计算-通信重叠 | 145, 146 |
| DDP 性能 > 梯度累积 | 149 |
| DDP 性能 > 混合精度训练 | 148, 149 |
| DDP 性能 > 性能分析 | 141 |
| DDP 性能 > 静态图优化 | 152 |
| DDP 性能 > 使用 torch.profiler.profile | 141–143 |
| DDP 性能 > 查找未使用参数 | 151 |
| DDP 训练 > 调试与故障排除 | 133–141 |
| DGX(Deep GPU Xceleration) | 70 |
| 数据并行(DP)与分布式数据并行(DDP) | 113 |
| 数据并行注意力(DP Attention) | 348 |
| 数据并行 | 339, 340 |
| 数据并行(DP) | 85, 113, 295, 337 |
| 数据并行(DP) > 优势 | 297 |
| 数据并行(DP) > 与其他策略结合 | 296 |
| 数据并行(DP) > 复制式数据并行(DDP) | 89 |
| 数据并行(DP) > 分片数据并行(FSDP/ZeRO) | 89 |
| 数据并行(DP) > 权衡 | 297 |
| DataLoader > 单进程与多进程 | 124 |
| 仅解码器 Transformer 架构 | 277, 278 |
| DeepSpeed | 218 |
| DeepSpeed > 与 SLURM 配合使用 | 380–383 |
| DeepSpeed-Ulysses | 236–238 |
| 去分词器 | 325 |
| 差分隐私 | 484 |
| 分布式数据并行(DDP) | 48, 49, 202 |
| 分布式数据并行(DDP) > AllReduce 操作 | 115, 116 |
| 分布式数据并行(DDP) > 最佳实践 | 158, 159 |
| 分布式数据并行(DDP) > 缓冲区同步 | 117 |
| 分布式数据并行(DDP) > 常见模式 | 158, 159 |
| 分布式数据并行(DDP) > 通信-计算重叠 | 114, 115 |
| 分布式数据并行(DDP) > 计算-通信重叠实现 | 118 |
| 分布式数据并行(DDP) > 设备选择 | 125 |
| 分布式数据并行(DDP) > 前向传播实现 | 117 |
| 分布式数据并行(DDP) > 梯度分桶 | 114 |
| 分布式数据并行(DDP) > 梯度缩放 | 116 |
| 分布式数据并行(DDP) > 内部工作原理 | 111, 112 |
| 分布式数据并行(DDP) > 混合精度 | 116 |
| 分布式数据并行(DDP) > 单节点示例 | 126–128 |
| 分布式数据并行(DDP) > 与 Transformer 结合使用 | 162 |
| 分布式数据并行(DDP) > 与 SLURM 配合使用 | 377–379 |
| 分布式数据并行(DDP)工作流 > 反向传播 | 112 |
| 分布式数据并行(DDP)工作流 > 前向传播 | 112 |
| 分布式数据并行(DDP)工作流 > 梯度同步 | 112 |
| 分布式数据并行(DDP)工作流 > 参数更新 | 113 |
| DistributedSampler | 49, 125 |
| DistributedSampler > 使用 | 121–123 |
| 决策树 | 22 |
| 分布式 AI > 瓶颈 | 474 |
| 分布式 AI > 现状 | 473 |
| 分布式 AI > 新兴趋势 | 474 |
| 分布式 AI > 演进 | 473 |
| 分布式 AI 技术栈 | 31–33 |
| 分布式通信 | 85, 86 |
| 分布式推理 | 319 |
| 分布式作业 > 启动 | 50 |
| 分布式优化器 | 243 |
| 分布式系统 | 1 |
| 分布式训练 > 环境搭建 | 24, 25 |
| 分布式训练 > 扩展训练 | 28, 29 |
| 分布式训练 > 多 GPU 分布式训练 | 26 |
| 分布式训练 > 单 GPU 基线 | 25 |
| 分布式训练 > 吞吐量扩展 | 30 |
| 分布式训练框架 > 与 SLURM 配合使用 | 376 |
| 动态模型选择 | 412 |
E
| 索引项 | 页码 |
| --- | --- |
| Edge TPU | 77–79 |
| 弹性 MoE | 475 |
| 端到端请求延迟(e2e_latency) | 462 |
| 以太网 | 80 |
| 执行器 | 292 |
| 专家并行(EP) | 90–92, 95, 238–240, 293, 299, 337, 341 |
| 专家并行(EP) > 修改行为 | 303 |
| 边缘 AI | 476 |
| 支持边缘部署的模型 | 476 |
| 边缘云 | 477 |
| 效率 | 453 |
| 弹性 | 160 |
| 弹性代理 | 161 |
| 弹性数据并行 | 160 |
| 弹性训练 | 480 |
| 弹性训练 > 启动 | 161 |
| 弹性训练 > 使用 | 162 |
| 弹性训练 > 工作原理 | 160 |
| 能效 | 63 |
| 环境变量 | 121 |
F
| 索引项 | 页码 |
| --- | --- |
| 每瓦 FLOPS | 63 |
| FP8 训练 | 244 |
| FSDP 问题 > 死锁 | 201 |
| FSDP 问题 > 调试 | 201 |
| FSDP 问题 > 结果不正确 | 202 |
| FSDP 问题 > 内存不足(OOM) | 201 |
| FSDP 问题 > 训练缓慢 | 201 |
| FSDP 训练 > 性能分析 | 195, 196 |
| 通过 SPMD 的 FSDP | 172 |
| FSDP1 | 171, 176, 182 |
| FSDP1 > 策略 | 184 |
| FSDP1 > 与 FSDP2 对比 | 174, 175 |
| FSDP1 > 包装器 | 184 |
| FSDP2 | 172, 175–177, 182, 203, 240 |
| FSDP2 > 编译器集成 | 205 |
| FSDP2 > 设备网格 | 178 |
| FSDP2 > 分层分片 | 181 |
| FSDP2 > 混合精度策略 | 185 |
| FSDP2 > 其他集成 | 205 |
| FSDP2 > 参数 | 179, 180 |
| FashionMNIST | 26 |
| FedProx | 484 |
| 全分片数据并行(FSDP) | 171 |
| 全分片数据并行(FSDP) > 数据加载 | 204 |
| 全分片数据并行(FSDP) > 调试工具 | 202 |
| 全分片数据并行(FSDP) > 梯度裁剪 | 204 |
| 全分片数据并行(FSDP) > 初始化最佳实践 | 204 |
| 全分片数据并行(FSDP) > 混合精度 | 204 |
| 全分片数据并行(FSDP) > 实用技巧 | 203 |
| 全分片数据并行(FSDP) > 渐进式优化 | 204 |
| 全分片数据并行(FSDP) > 通过 SPMD 用于 TPU/XLA | 205 |
| 全分片数据并行(FSDP) > 与 SLURM 配合使用 | 379, 380 |
| 全分片数据并行(FSDP) > 工作原理 | 173 |
| 故障检测 | 480 |
| 容错 | 415 |
| 容错 | 160 |
| 基于特征的路由 | 412 |
| 联邦学习 | 482, 483, 486 |
| 联邦学习 > 用于 LLM | 485 |
| 联邦技术 | 484 |
| 细粒度多线程(FGMT) | 83 |
| 扁平参数设计 | 174 |
| 每秒浮点运算次数(FLOPS) | 57, 58 |
| 前向预取 | 191 |
| 基础模型 | 18 |
| 完整状态字典 | 190 |
G
| 索引项 | 页码 |
| --- | --- |
| GCP/Google 渠道 | 75 |
| GPU 工作节点 | 325 |
| GPU 硬件 > 检查 | 97, 98 |
| GPU 利用率 | 62 |
| GPUDirect RDMA | 80 |
| GPipe 调度 | 232 |
| Gather | 42 |
| Gemini | 242 |
| GenAI-Bench | 464 |
| 图形处理器(GPU) | 75, 64 |
| 图形处理器(GPU) > 架构特性 | 71, 72 |
| 图形处理器(GPU) > 架构里程碑 | 69 |
| 图形处理器(GPU) > 计算架构 | 66–68 |
| 图形处理器(GPU) > 分布式训练考量 | 69 |
| 图形处理器(GPU) > 内存架构 | 66–68 |
| 图形处理器(GPU) > 产品系列 | 70 |
| 图形处理器(GPU) > 选择 | 71 |
| 图形处理器(GPU) > 与神经网络处理器(NPU)对比 | 78 |
| 图形处理器(GPU) > 与张量处理单元(TPU)对比 | 74, 75 |
| 梯度累积 | 16 |
| 梯度分桶 | 114 |
| 梯度压缩 | 490 |
| 梯度钩子 | 156 |
| 梯度缩放 | 116 |
- 网格 — 82
H
-
H100 — 71
-
H200 — 71
-
HGX(超大规模 GPU 交换) — 70
-
Hopper(2022) — 69
-
华为昇腾 — 76
-
混合并行 — 241, 249, 341
-
配置模式 — 252
-
选择配置 — 250, 251
-
构建混合配置 — 250
-
实际运营情况 — 251
-
性能优化最佳实践 — 251
-
双轴视图 — 249, 250
-
-
硬件检查 — 97
-
硬件拓扑
- 检查 — 98
-
异构性
- 挑战 — 484
-
层次并行 — 478
-
层次分区(hpZ) — 226
-
高速互连 — 79–81
-
混合分片(HSDP) — 205
-
超大规模云技术栈 — 79
I
-
InfiniBand — 80, 198
-
智能推理调度 — 431, 435
-
节点间(InfiniBand) — 63
-
Token 间延迟(ITL) — 463
-
节点内(NVLink) — 63
-
推理 — 20, 267
-
推理 NPU
- 与训练 NPU 的对比 — 77
-
推理基准测试 — 461
-
冷启动与热性能对比 — 465
-
自定义推理基准 — 465
-
验证推理精度 — 466, 467
-
关键推理指标 — 461–464
-
多步模型 — 466
-
推理 — 466
-
工具 — 464
-
-
推理策略决策树 — 94, 95
- 考量 — 96
-
GPU 间通信
- 基准测试 — 100–102
-
交错流水线 — 232
J
- JAX — 73
K
-
KServe — 431
-
KV 缓存 — 267, 276
- 解决方案 — 283–285
-
KV 缓存碎片问题 — 287, 288
-
KubeAI — 431
-
Kubernetes — 416
-
部署 LLM 服务 — 417, 418
-
URL — 416
-
-
k3d — 419
-
用于本地开发 — 419–421
-
URL — 419
-
与 llm-d 对比 — 440, 441
-
在 vLLM 上进行部署 — 421–423
-
L
-
LLM 服务
- 部署,在 Kubernetes 上 — 417, 418
-
LatentMoE — 475
-
学习阶段 — 20
-
最少连接 — 412
-
线性扩展 — 61
-
llm-d — 431, 434
-
部署架构 — 433, 434
-
分离式前缀缓存 — 432
-
硬件支持 — 432
-
智能推理调度 — 431
-
监控与可观测性 — 436
-
多模型服务 — 436–439
-
路径选择 — 436
-
预填充/解码分离 — 432, 435
-
变体自动伸缩 — 432
-
与 k3d 对比 — 440, 441
-
清晰路径 — 435
-
宽专家并行 — 435
-
-
负载均衡 — 412
-
最少连接 — 412
-
轮询 — 412
-
加权均衡 — 412
-
M
-
MIG(多实例 GPU) — 72
-
MTBF(平均故障间隔时间) — 63
-
MTTR(平均恢复时间) — 63
-
MXFP8 — 5
-
矩阵乘法单元(MXU) — 73
-
Megatron — 217, 228
-
完整训练示例 — 248
-
上下文并行 — 234
-
分布式优化器 — 243
-
流水线并行 — 231, 232
-
实际训练配置 — 245–248
-
序列并行 — 233
-
张量并行(TP) — 229, 230
-
-
Megatron Core — 242
-
Megatron-FSDP — 242
-
Megatron-LM
- 与 SLURM 结合 — 383–387
-
MoE 架构 — 300
-
解码器层结构 — 301
-
专家结构 — 302
-
路由机制 — 302, 303
-
-
MoSE(可精简专家混合) — 475
-
模型 FLOPS 利用率(MFU) — 61
-
Mooncake — 336
- PD 分离 — 350, 351
-
多引擎路由 — 427–430
-
多模型路由 — 424–427
-
多节点 FSDP
-
检查点 — 199
-
网络配置 — 198
-
扩展考量 — 200
-
设置 — 198
-
SLURM 集成 — 199, 200
-
-
手动分片检查点 — 188, 189
-
内存 — 66
-
内存效率 — 454
-
内存碎片 — 286
-
内存剖析 — 197
-
指标收集 — 415
-
微批次 — 231
-
混合精度 — 15, 116, 184
-
专家混合 — 475
-
模态 — 482
-
模型并行 — 85, 89, 113
-
上下文并行 — 89
-
专家并行(EP) — 90
-
流水线并行(PP) — 90
-
序列并行 — 89
-
张量并行(TP) — 89
-
-
模型资源需求
-
估算 — 5
-
GPU — 17
-
推理 — 16, 17
-
内存 — 6–16
-
实际考量 — 17
-
-
模型选择 — 416
-
现代 AI
-
分布 — 2
-
规模挑战 — 4
-
-
现代 AI 模型生命周期 — 19, 20
-
推理 — 20
-
服务 — 21
-
训练 — 20
-
-
多智能体模式 — 487
-
层次化处理 — 487
-
并行处理 — 487
-
顺序处理 — 487
-
-
多节点 DDP — 128
-
架构 — 129
-
环境变量 — 132
-
示例 — 132
-
网络配置 — 131
-
剖析 — 146–148
-
使用 SLURM — 130
-
训练 — 129, 130
-
-
多节点 SGLang 部署 — 342
-
缓存局部性 — 345
-
容错 — 345
-
负载均衡 — 344
-
路由策略 — 344
-
基于路由器的多节点部署 — 343, 344
-
会话亲和性 — 345
-
与张量并行结合 — 342
-
-
多节点训练 — 233
-
多进程数据加载
- 工作原理 — 125
-
多租户 GPU 共享 — 489
N
-
NCCL — 85
-
NIXL — 336
-
NVFP4 — 5
-
NVIDIA Nsight Systems — 456
-
NVLink — 79
-
NVLink-C2C — 72
-
NVMe 存储 — 66
-
NVSwitch — 80
-
神经处理单元(NPU) — 76
-
架构 — 77
-
推理 — 77
-
互连 — 78
-
发展现状 — 79
-
扩展 — 78
-
意义 — 76
-
软件栈 — 78
-
训练 — 77
-
与图形处理单元(GPU)的对比 — 78
-
O
-
可观测性 — 415
-
分布式追踪 — 415
-
指标收集 — 415
-
结构化日志 — 415
-
-
不透明的 XLA 编译错误 — 75
-
算子融合 — 326, 331
-
光路交换(OCS) — 73, 74
-
优化器状态 — 6, 7
-
原始 FSDP — 175
-
内存不足问题 — 291
P
-
P99 延迟 — 63
-
PCIe — 79
-
PCIe 通道 — 66
-
PUE(电源使用效率) — 63
-
PagedAttention — 287
-
与分布式推理的关联 — 291
-
消除填充 FLOPS — 289–291
-
工作原理 — 288, 289
-
-
流水线并行(PP) — 90–92, 95, 231, 232, 293, 298, 337–341
-
PyTorch profiler — 456
-
并行 — 86, 478
-
通信革命 — 478
-
组合模式 — 90, 91
-
数据并行 — 89
-
确定 — 88
-
层次并行 — 478
-
模型并行 — 89
-
选择正确策略 — 252–254
-
环形注意力 — 479
-
序列并行 — 479
-
组合策略 — 90, 304–306
-
分类表 — 87
-
-
每 GPU 吞吐量 — 62
-
逐参数分片 — 175
-
百分位延迟 — 453
-
性能基准测试 — 464
-
流水线气泡问题 — 298
-
策略 — 184
-
二选一策略 — 345
-
预测/生成阶段 — 20
-
预取 — 191, 192
-
反向预取 — 192
-
前向预取 — 191
-
-
预填充/解码(PD)分离 — 334, 335
-
架构 — 335
-
设置 — 336
-
传输引擎 — 336
-
-
进程组 — 34
- 初始化 — 34, 35
-
生产级 LLM 服务系统
- 结构 — 407–411
-
生产部署模式 — 348
-
生产服务栈
-
API 网关 — 408
-
Model Runner — 408
-
监控与可观测性 — 408
-
分词器服务(可选) — 408
-
-
生产系统 — 21
-
编程模型 — 81
Q
-
量化 — 291, 490
-
量化梯度(qgZ) — 227
-
量化权重(qwZ) — 226
R
-
RDMA(远程直接内存访问) — 80
-
RNG 状态
- 保存 — 154
-
ROCm — 85
-
RadixAttention — 319, 326–328
-
ReMoE — 475
-
Reduce — 40, 41
-
ReduceScatter — 45, 85
-
复制式数据并行(DDP) — 89–91
-
请求队列 — 324
-
每秒请求数(RPS) — 462
-
ResNet18 — 26
-
RoCE(基于融合以太网的 RDMA) — 80
-
Router — 325
-
ranks — 34
-
归约-散播 — 172, 173
-
可靠性指标 — 63, 415
-
会合 — 160
-
会合后端 — 161
-
请求级并行 — 94
-
请求级路由 — 320
-
资源管理 — 489
-
资源利用率 — 62
-
环形 AllReduce — 115
-
环形注意力 — 234, 479
-
环形拓扑 — 115
-
轮询 — 344, 412
-
基于路由器的 DP — 341
-
路由
-
A/B 流量拆分 — 412
-
动态模型选择 — 412
-
基于特征的路由 — 412
-
-
行并行 — 294
-
行并行线性层 — 229
S
-
SGLang — 319, 320
-
架构 — 324, 325
-
基本多节点部署 — 349
-
数据并行注意力(DP Attention) — 348
-
数据并行 — 339, 340
-
Docker 设置 — 320–323
-
MoE 模型的专家 — 346, 347
-
混合并行 — 341
-
安装 — 320
-
MoE 模型,结合 EP+TP — 352
-
-
算子融合 — 331
-
并行策略 — 337
-
PD 分离,基于 Mooncake — 350, 351
-
流水线并行 — 339
-
预填充/解码(PD)分离 — 334, 335
-
前置条件 — 320
-
RadixAttention — 326 – 328
-
基于路由器的分布式架构 — 332, 333
-
会话亲和性,测试 — 351, 352
-
投机解码 — 347
-
张量并行 — 338
-
XGrammar — 329, 330
-
零开销调度器 — 331, 332
-
SGLang 运行时(SRT) — 324
-
SGLang 模型网关
- 架构 — 333
-
SIMD 执行单元 — 85
-
SIMT(单指令多线程) — 82
-
SIMT 与 SIMD 对比
-
分支发散 — 83
-
数据对齐 — 83
-
动态分组 — 83
-
编程模型 — 83
-
-
SLURM
-
架构 — 367
-
常见问题排查 — 394, 395
-
分布式训练性能分析 — 392, 393
-
环境变量 — 373 – 375
-
用于 AI 训练 — 366
-
作业监控 — 390
-
日志记录与输出 — 391
-
多节点集群模拟 — 369
-
多 GPU 训练环境搭建 — 368
-
安装与验证 — 370
-
实用链接 — 396
-
与 DDP 配合使用 — 377 – 379
-
与 DeepSpeed 配合使用 — 380 – 383
-
与 FSDP 配合使用 — 379, 380
-
与 Megatron-LM 配合使用 — 383 – 387
-
-
SLURM 最佳实践
-
检查点策略 — 393
-
故障处理 — 394
-
资源分配 — 393
-
-
SPMD(单程序多数据) — 81, 82, 294
- 在分布式训练中 — 85
-
Scaffold — 484
-
Scatter — 43
-
调度器 — 292, 325
-
序列并行 — 89, 92, 231 – 233, 479
-
分片数据并行(FSDP/ZeRO) — 89 – 91
-
稀疏核心 — 73 – 75
-
SuperPOD — 70, 76
-
salloc 命令 — 388
-
sbatch
- 批量提交 — 372, 373
-
扩展计算能力 — 59
-
扩展内存 — 59
-
扩展存储 — 59
-
扩展效率 — 454
-
调度器-执行器-工作节点模式 — 292
-
序列长度 — 233
-
服务部署 — 21
-
最短队列策略 — 345
-
单 GPU 基线 — 182
-
单 GPU 内存带宽
- 测量 — 99, 100
-
单节点 DDP
- 环境搭建 — 118
-
slurmctld — 367
-
slurmd — 367
-
slurmdbd — 367
-
投机解码 — 347
-
竞价实例 — 416
-
squeue — 390
-
srun
- 交互式执行 — 371, 372
-
状态分片 — 217, 228
- 与计算分片的对比 — 228, 229
-
结构化日志 — 415
-
脉动阵列 — 73
索引 — 519
T
-
T5(FLAN-T5) — 182
-
TPU 8t 工作负载 — 75
-
TPU 8t/8i — 73
-
TPU Pod
- 架构 — 73
-
TPU7x/Ironwood — 73
-
张量核心 — 71
-
张量并行(TP) — 89, 92, 95, 228 – 230, 293, 294, 337, 338, 341
-
优势 — 294
-
使用方法 — 295
-
-
张量处理单元(TPU) — 72
-
架构 — 73
-
产品代际 — 73
-
编程模型 — 75
-
重要意义 — 72
-
稀疏核心 — 75
-
与图形处理单元(GPU)对比 — 74, 75
-
-
通过 XLA 使用 TensorFlow — 73
-
帕斯卡架构(2016) — 69
-
首 Token 延迟(TTFT) — 462
-
分词器 — 324
-
每秒 Token 数(TPS) — 462
-
Torch 分布式弹性(TDE) — 160
-
Torchcomms — 478
-
Trainium — 79
-
Trainium2 — 76
-
Transformer 引擎 — 71
-
Trillium — 73
-
文本生成过程 — 279
-
解码 — 281 – 283
-
预填充 — 280
-
-
线程 — 82
-
吞吐量 — 62
-
top-k 稀疏化 — 490
-
torch.profiler.profile
- 用于 DDP 分析 — 141 – 143
-
torchrun — 126
- 使用方法 — 118 – 120
-
流量切换 — 413
-
训练 — 20, 267
-
训练专用 NPU
- 与推理专用 NPU 对比 — 77
-
训练基准测试 — 454
-
扩展瓶颈分析 — 460
-
自定义训练基准 — 457
-
分布式训练
- 精度验证 — 458, 459
-
关键训练指标 — 455
-
网络与通信性能分析 — 459, 460
-
扩展效率测量 — 458
-
-
训练阶段 — 13 – 16
-
训练策略
-
决策树 — 91, 92
-
考量因素 — 94
-
-
树形 AllReduce — 115, 116
索引 — 520
- 冯·诺依曼架构 — 64
W
-
Wan2.2 — 176
-
线程束(warp) — 82
-
线程束执行 — 82
-
加权负载均衡 — 412
-
清晰路径 — 435
-
工作节点 — 293
-
工作负载分配 — 489
-
封装策略 — 184
X
-
XGrammar — 326, 329
- 结构化输出解码 — 329, 330
-
XLA(加速线性代数) — 75
Z
-
ZeRO — 202
-
ZeRO++ — 226 – 228
-
ZeRO-1 — 218 – 220
-
ZeRO-2 — 220, 221
-
ZeRO-3 — 221
-
ZeRO-Infinity — 223 – 225
-
ZeRO-Offload — 222
-
零开销调度器 — 319, 326, 331
索引 — 521

浙公网安备 33010602011771号