分布式大模型训练_学习笔记

分布式大模型训练 · 学习笔记

学习地图

训练大模型的三重瓶颈(显存/算力/时间)决定了单卡不可行,分布式训练是唯一路径。整份材料围绕一条主线展开:

复制代码
为什么分布式 → 基础概念(拓扑/精度/量化) → 数据并行(DDP/ZeRO) → 张量并行(切权重) → 流水线并行(切层) → 3D 并行 + 框架 + 成本

三种并行策略各负责一个维度,组合成 3D 并行 = DP × TP × PP 即可扩展到数千张 GPU。最终以 DeepSeek-V3($557 万训练 671B 模型)作为高效训练标杆案例收尾。


第一部分 · 为什么需要分布式训练

1. 规模爆炸:参数量演进

年份 模型 参数量
2018 BERT-Large 340M
2019 GPT-2 1.5B
2020 GPT-3 175B
2021 Switch-C * 1.6T
2023 LLaMA-2 70B 70B
2024 LLaMA-3 405B 405B

*Switch-C 为 MoE 架构,激活参数仅约 34B(业界常引用数字,非总参数)。

关键数字速查:

  • 514× :BERT-Large(340M) → GPT-3(175B) 的参数增长倍数(约一年半时间)。⚠️ 课件原文写"5000×、三年增长",倍数有误(差 10 倍),时间也不准确,详见修正记录。
  • 15T+ token:LLaMA-3 训练使用超 15 万亿 token(Meta 官方公布)。
  • 80GB:H100 SXM 单卡显存上限,远不够存放 GPT-3(参数+梯度+优化器合计约 2.8TB)。

2. 单卡训练的三重瓶颈

瓶颈 说明 量化
显存 (MEM) 参数 BF16 存储需 350GB;含梯度+优化器合计约 2.8TB H100 仅 80GB,差约 35 倍
算力 (GPU) GPT-3 训练需约 3.14×10²³ FLOPs;H100 峰值 989 TFLOPS 单卡估算需 ~3700 天
时间 (TIME) 业务要求数周内完成 单卡即使显存足够也远超时限

⚠️ 课件原文写"含梯度+优化器超 1.4TB",与后文 slide 13 的"合计约 2800 GB"矛盾。按 GPT-3 175B + Adam + BF16 混合精度:参数 350GB + 梯度 350GB + 优化器 2100GB = 2800GB ≈ 2.8TB。1.4TB 疑为只算 FP32 参数+梯度的口径,但措辞含"优化器"则应为 2.8TB。详见修正记录。

结论:突破显存和算力瓶颈,分布式训练是训练大模型的唯一可行路径。

3. 分布式训练的两大核心目标与三种策略

两大目标:

  1. 突破显存上限:模型太大 → 切分放多卡(参数/梯度/优化器状态分散)
  2. 缩短训练时间:数据量大 → 多卡并行跑不同 mini-batch,吞吐线性扩展

三种主流并行策略:

策略 切分对象 通信 适用
DP 数据并行 数据(mini-batch) 梯度 AllReduce 任意规模,最外层扩展
TP 张量并行 权重矩阵维度 激活 AllReduce(每层 2 次) 节点内,需 NVLink 高带宽
PP 流水线并行 模型层数 层间激活(stage 边界) 跨节点,低带宽可用

三种策略可组合为 3D 并行(DP × TP × PP) 。选择简则:TP 限节点内(高带宽)· PP 跨节点(低通信量)· DP 最外层灵活扩展。


第二部分 · 基础概念

4. 训练拓扑与通信原语

两种训练拓扑:

  • 单机多卡(1 节点 8 GPU):节点内 NVLink 互联(900 GB/s),适合 TP=8、单机 DP
  • 多机多卡(多节点):节点间 InfiniBand / RoCE 互联,适合 PP、跨节点 DP

原则:TP 优先节点内、PP 跨节点------充分利用 NVLink 高带宽。

四种核心通信原语:

原语 作用 典型场景
AllReduce 每卡一份数据→所有卡得聚合值 数据并行聚合梯度
AllGather 每卡一个分片→所有卡得完整数据 ZeRO-3 gather 参数
ReduceScatter 聚合后按分片分发到各卡 ZeRO-2 梯度分片
Broadcast 一张卡的数据广播给所有卡 参数初始化/广播

关系:AllReduce = ReduceScatter + AllGather|Ring-AllReduce 是 DP 核心。

5. 浮点数与精度格式

浮点数 = 二进制的科学计数法:值 = (-1)^S × 1.M × 2^(E-bias)

为何神经网络必须用浮点:权重/梯度极小(1e-4~1e-7),整数无法精确表示;激活值动态范围大(近 0 到数千);反向传播经数百层,舍入误差不断叠加。

常用精度格式对比:

格式 总 bit 指数 尾数 最大值
FP32 32 8 23 ~3.4e38
BF16 16 8 7 ~3.4e38
FP16 16 5 10 ~6.5e4
FP8 8 4 3 ~448
INT8 8 --- --- 127

关键理解:BF16 指数位与 FP32 相同→范围一致;尾数少→精度略低但训练稳定。这是大模型训练选 BF16 而非 FP16 的原因(FP16 范围太小易溢出)。

6. 量化:真实的向量量化实例

线性量化公式:

复制代码
q = round(w / scale) + zp
w' = (q - zp) × scale     # 反量化

实例(5 维 FP32 向量 → INT8,已逐行验算正确):

复制代码
w = [0.52, -1.31, 0.89, 2.14, -0.47]
scale = (wmax - wmin)/255 = (2.14-(-1.31))/255 = 0.01353
zp = round(-wmin/scale) = 97
q = [135, 0, 163, 255, 62]           # INT8
w' = [0.514, -1.312, 0.893, 2.138, -0.474]  # 反量化
误差 = [0.006, 0.002, -0.003, 0.002, 0.004]  # 量级 1e-3

INT8 仅 256 个格点,相邻浮点值映射为同一整数------精度永久丢失。

量化模型为何难以继续训练:

  1. 梯度无法反传:round() 处处不可导,反向传播梯度为 0,优化器失效
  2. 精度信息已损失:权重离散到格点上,强行更新只在格点间跳动,无法收敛
  3. 优化器状态丢失:推理版只留 INT 权重,无 FP32 主副本和 Adam 动量

QLoRA 绕过限制:冻结量化权重,只训练少量 FP16 适配层(LoRA)。

7. 混合精度:高精度存、低精度算

用 BF16 做计算(快、省显存),用 FP32 存关键状态(准):

分工 精度 内容
存 FP32 权重主副本、Adam 动量与方差、Loss Scaling 主副本
算 BF16 前向激活、反向梯度------吞吐高、显存省一半
防 Loss Scaling 梯度乘放大系数防下溢;BF16 指数位同 FP32,更稳定

效果:显存省 50% · 速度提升 2-3× · 已成大模型训练行业标准。


第三部分 · 数据并行

8. 数据并行基本原理

最直观的分布式策略:每张 GPU 保有完整模型,不同 GPU 处理不同数据批次。

四步循环:

  1. 前向传播:本地 batch 前向得 loss
  2. 反向传播:计算本地梯度 ∂L/∂W
  3. 梯度同步:AllReduce 梯度取全局均值
  4. 参数更新:相同梯度更新,副本同步

9. 训练显存组成分析(GPT-3 175B 为例)

以 GPT-3 175B 参数、Adam 优化器、BF16 混合精度为例(N 张卡):

组成 显存 说明
模型参数 350 GB 175B × 2B(BF16)
梯度 350 GB 与参数等大,BF16
优化器状态 2100 GB Adam:FP32 参数副本+动量+方差 = 175B × 12B
激活值 可变 与 batch size 和序列长度正相关
合计 ~2800 GB 不含激活,单卡 80GB H100 根本放不下

各项占比(模型+优化器):优化器状态 75% · 参数 13% · 梯度 13%。

优化器状态占大头(75%),这是 ZeRO 优先分片优化器状态的原因。

10. ZeRO:通过分片消除 N 倍显存冗余

Stage 每卡保存 节省比例 每卡约占(64 卡)
基础 DP P + G + O 0% 2800 GB
ZeRO-1 P + G + O/N ≈75% ~700 GB
ZeRO-2 P + G/N + O/N ≈87% ~350 GB
ZeRO-3 P/N + G/N + O/N ≈97% ~44 GB

⚠️ 课件原文写 ZeRO-3 每卡 ~29 GB,与按 slide 自己的数字 (2800GB, 64卡) 计算结果不符:2800/64 = 43.75 GB ≈ 44 GB。29 GB 对应 N≈96(恰为 GPT-3 层数,疑为概念混淆)。详见修正记录。

ZeRO Stage 1:分片优化器状态(Adam 动量+方差+FP32 参数副本),每卡只存 1/N。显存节省约 75%(N=64 时优化器状态仅 1/64)。

ZeRO Stage 2:+ 分片梯度。梯度不再广播给所有卡,ReduceScatter 后每卡只保留自己分片。

ZeRO Stage 3:+ 分片参数。每卡仅持有 1/N 参数,前向时 AllGather 聚全,用完即释放。

11. ZeRO-Offload:CPU 卸载训练大模型

将优化器状态和梯度卸载到 CPU 内存,单卡 24GB 也能微调大模型。

变体 基础 卸载内容 单卡需求
ZeRO-Offload Stage 2 梯度+优化器状态→CPU ~16GB
ZeRO-Infinity Stage 3 参数也可卸载到 CPU/NVMe 理论无下限

注意:PCIe 带宽瓶颈会降低训练速度,Offload 适合显存不足场景,而非追求速度。


第四部分 · 张量并行

12. 张量并行核心思想

数据并行每卡存完整模型,当单层权重本身就超过单卡显存时,需要把层内权重矩阵本身切分到多卡。

矩阵乘法天然可切分:Y = X · W,权重 W 可按列或按行切分到多卡。

13. Attention 层的张量并行

多头注意力的头数可以均分到各卡,每卡负责若干个头:

  • Q/K/V 投影 → 列并行(按 head 分):每卡负责 heads/N 个头,无通信
  • 输出投影 W_O → 行并行:局部输出 AllReduce 聚合得完整注意力输出

注意事项:

  • 头数须能被 N 整除
  • 每卡 Q/K/V 维度:d_head × heads/N
  • Dropout 仅本卡内操作,无跨卡 attention 依赖

通信:1 次 AllReduce / 前向(MHA:Q/K/V 无通信,输出 AllReduce 1 次)。

14. FFN 层的张量并行

FFN = Linear₁ → GeLU → Linear₂,采用列并行 + 行并行串联,前向整体只通信 1 次:

步骤 切分 通信
Linear₁ 列并行(W₁ 按列切) 0 次
GeLU 本地激活 0 次
Linear₂ 行并行(W₂ 按行切) 1 次 AllReduce

TP 切分总结:

层 切分方式 通信
MHA Q/K/V 按 head 分,列并行 0 次
MHA Output 行并行 1 次 AR
FFN Linear₁ 列并行 0 次
FFN Linear₂ 行并行 1 次 AR

每 Transformer 层:前向 2 次 AllReduce,反向 2 次 AllReduce。

15. 张量并行通信量与局限性

通信量估算(N 卡):

  • 每次 AllReduce:2(N-1)/N × tensor_size(N=8 时约 1.75× 张量大小)
  • 每层 Transformer:4 × 2(N-1)/N × [b,s,d](前向 2 次 + 反向 2 次)
  • 总通信量(L 层):L × 4 × 2(N-1)/N × b×s×d

GPT-3 示例:96 层 × 4 × ... ≈ 175TB(示意值)。⚠️ 该数字未给出 batch size 和序列长度,无法独立验证,应视为量级示意。

张量并行的局限性:

  1. 通信频繁,带宽敏感:每层 4 次 AllReduce,NVLink(900 GB/s)能承受,IB(200 Gb/s)则成瓶颈
  2. 扩展性受限于节点规模:单节点 8 张 GPU,TP=8 是常见上限;跨节点 TP 受 IB 带宽限制效率急剧下降
  3. 并非所有层都适合:Embedding、LayerNorm 等无法简单切分,需特殊处理(Sequence Parallelism)

实践:TP 限制在单节点内(NVLink 域),跨节点扩展用 PP 或 DP。


第五部分 · 流水线并行

16. 流水线并行核心思想

将模型按层划分为多个 Stage,不同 Stage 在不同设备上顺序执行,形成流水线。

复制代码
Stage 0 (Layer 0-5, GPU 0) → Stage 1 (Layer 6-11, GPU 1) → Stage 2 (Layer 12-17, GPU 2) → Stage 3 (Layer 18-23, GPU 3)
  • 前向:激活值依次从 Stage 0 传到 Stage 3
  • 反向:梯度逆向传回

特点 :模型按层纵向切分,每卡只存 1/p 层参数;Stage 间通信量小(只传激活值),适合跨节点;核心挑战:GPU 空闲(Bubble)。

17. 朴素流水线的 Bubble 问题

每次只有 1 个 micro-batch 在流水线中流动,导致大量 GPU 空闲。

  • 上例:4 个 GPU,每步只有 1 卡在工作 → GPU 利用率仅 25%
  • 通用结论:p 个 stage,bubble 占比 = (p-1)/p

解决方向:将一个大 batch 拆分为多个 micro-batch,让多个 micro-batch 同时在流水线中流动,填满空闲时间。

18. GPipe:Micro-Batch 减小 Bubble

Google 提出 GPipe:将 mini-batch 拆成 m 个 micro-batch,流水线并行处理。

所有 micro-batch 先前向完,再整体反向(逆序 B7→B0),形成两个三角 Bubble。

Bubble ratio 公式:

复制代码
bubble ratio = (p-1) / (m + p - 1)

m 越大 bubble 越小。本图 m=8, p=4:bubble = 3/11 ≈ 27%。

数值示例(p=4,已按公式验算):

m bubble
4 3/7 = 43%
8 3/11 = 27%
16 3/19 = 16%
32 3/35 = 9%

GPipe 峰值显存高:需同时保留全部 micro-batch 激活,显存 O(m×p)。

19. 1F1B 调度:同步低 Bubble

1F1B(One Forward One Backward):最后一个 Stage 率先交替执行前向/反向,显著降低峰值显存。

调度分三阶段:Warmup → Steady (1F1B) → Cooldown。

GPipe vs 1F1B 对比:

指标 GPipe 1F1B 1F1B 优势
Bubble ratio (p-1)/(m+p-1) (p-1)/(m+p-1) 相同
峰值显存 O(m×p) 高 O§ 低 低 m 倍
调度复杂度 简单 需跟踪 mb 顺序 稍复杂
实现框架 GPipe (Google) Megatron-LM 工业标准

1F1B 核心优势:steady state 中完成前向后立刻反向,无需保留所有激活,显存需求 O§ 而非 O(m×p)。

20. 激活重计算(Activation Checkpointing)

流水线并行中需保留激活以计算梯度,激活重计算用时间换显存。

策略 显存 额外计算
不重计算 O(layers) +0%
完全重计算 O(1) +33%
选择性重计算 O(√n) +15%

完全重计算 +33% 的来源:反向计算量约为前向 2 倍,不重计算 1+2=3 单位,完全重计算 2+2=4 单位,增加 1/3 ≈ 33%。

实践推荐:使用完全激活重计算,仅当训练速度严重受限时改用选择性策略。激活重计算是大模型训练标配,节省 60-80% 激活显存。

21. 流水线并行配置要点与 Bubble 汇总

实践配置要点:

  • 层数:模型层数应能被 p 整除,确保各 stage 负载均衡
  • 批大小 :m(micro-batch 数)越大 bubble 越小,建议 m >= 4p
  • 激活:开启激活重计算,显存峰值可降 60-80%
  • 与 TP 组合:TP 在节点内,PP 跨节点,降低通信开销

Bubble Ratio 公式:

复制代码
标准:  bubble = (p-1) / (m + p - 1)
交错:  bubble = (p-1) / (v·m + p - 1)    # v 为交错度

Bubble Ratio 对比表(按标准公式验算修正后):

p \ m m=4 m=8 m=16 m=32
p=4 43% 27% 16% 9%
p=8 64% 47% 30% 18%
p=16 79% 65% 48% 32%

⚠️ 课件原文此表多处数字与公式 (p-1)/(m+p-1) 不符(p=4 行 m=8/16/32 写 30%/19%/10%,p=8 行 m=16/32 写 33%/20%),且与本课件前文 slide 25 的数值示例(27%/15%/8%)矛盾。上表为按公式修正后的正确值。详见修正记录。

推荐配置 :1F1B + 激活重计算,m >= 4p 确保 bubble < 30%。

框架支持:Megatron-LM(交错 1F1B)、DeepSpeed(PipeDream-Flush)。


第六部分 · 策略 · 框架 · 成本

22. 3D 并行速查

三种并行策略各负责一个维度,组合成 3D 并行即可扩展到数千张 GPU:

复制代码
总 GPU 数 = DP × PP × TP
策略 切分 通信 适用
DP 切数据 梯度 AllReduce(每步 1 次) 任意规模,最外层扩展
TP 切权重矩阵 激活 AllReduce(每层 2 次) 节点内,需 NVLink
PP 切层数 层间激活(stage 边界) 跨节点,低带宽可用

23. 主流训练框架横向对比

框架 DP/ZeRO TP PP 适用规模 易用性 硬件依赖
DeepSpeed ZeRO 1/2/3 需 Megatron 内置 ~1T 高 通用
Megatron-LM DDP+ZeRO 原生 原生 ~1T+ 低 NVIDIA
Torch FSDP ZeRO-3 不支持 不支持 ~100B 高 通用
Megatron+DS ZeRO 1/2/3 原生 原生 >1T 低 NVIDIA

启动方式:

bash 复制代码
torchrun --nproc_per_node=8 train.py
deepspeed --num_gpus=8 train.py --deepspeed cfg.json

24. 训练成本实例:DeepSeek-V3

DeepSeek-V3(2024.12)公开了目前最完整的训练成本记录,是高效训练的标杆案例。

概况:

  • 模型:671B 总参(37B 激活 MoE)
  • 数据:14.8T tokens
  • 硬件:2,048 张 H800 SXM5
  • 时长:< 2 个月(约 1.8 月)
  • 关键技术:FP8 混合精度 + 优化 PP + MTP

训练成本明细(技术报告 Table 1,已验算合计正确):

阶段 GPU·小时 美元
预训练 2,664K $5.328M
上下文扩展 119K $0.238M
后训练 5K $0.01M
合计 2,788K $5.576M

按 $2/GPU·h 估算;每万亿 token 约 180K H800 GPU·h(≈3.7 天)。验算:2664+119+5=2788 ✓;5.328+0.238+0.01=5.576 ✓。

成本对比:

  • GPT-3 ≈ $460 万(2020 年第三方估计,非 OpenAI 官方)
  • LLaMA-3 405B ≈ $5500 万(业界估计,Meta 未官方公布)
  • DeepSeek-V3 ≈ $557 万(官方技术报告)

25. 训练效率与可靠性

核心优化技术:

技术 效果 说明
FlashAttention v2/v3 2-4× IO-aware,避免 HBM 往返,注意力 O(n²)→O(n)
梯度累积 显存 累积 K 步再更新,等效扩大 global batch
算子融合 +20% LayerNorm/SiLU 等融合,减少 kernel 启动
梯度检查点 显存 以重算换显存,激活峰值 O(n)→O(√n)

故障恢复与可靠性:

  • 硬件故障不可避免:LLaMA-3 405B 54 天训练发生 419 次中断(Meta 官方报告),GPU 硬件故障最常见,其次 NaN/Inf 梯度
  • 保存频率:每 1000~2000 步;大模型单次约 15 分钟
  • 异步保存:Async Checkpoint 不阻塞训练,PyTorch 2.x 原生
  • 滚动保留:留最近 N 份 + 里程碑;防单份 ~2TB 爆盘

优化优先级:FlashAttention > 通信重叠 > 算子融合;故障设计弹性恢复而非追求零故障。


实践清单

分布式训练配置检查清单

  • 模型层数能被 PP 的 stage 数 p 整除?
  • Attention 头数能被 TP 并行度 N 整除?
  • micro-batch 数 m >= 4p(确保 bubble < 30%)?
  • 开启激活重计算(降 60-80% 激活显存)?
  • 混合精度用 BF16 而非 FP16(范围一致更稳定)?
  • TP 限制在节点内(NVLink 域),跨节点用 PP/DP?
  • 总 GPU 数 = DP × PP × TP 已规划?
  • FlashAttention 已开启?
  • 异步 checkpoint 已配置(防 419 次级中断)?

关键数字速查

数字 含义
2800 GB GPT-3 175B 参数+梯度+优化器合计(BF16+Adam FP32)
75/13/13% 优化器/参数/梯度占显存比
900 GB/s H100 NVLink 节点内带宽
989 TFLOPS H100 BF16 峰值算力
(p-1)/(m+p-1) 流水线 Bubble ratio(标准 1F1B)
m >= 4p 确保 bubble < 30% 的 micro-batch 下限
$5.576M DeepSeek-V3 官方训练成本
419 次 LLaMA-3 405B 54 天训练中断次数

常见误区速查表

误区 正确理解
ZeRO-3 每卡 ~29GB(64卡) 应为 ~44GB(2800/64=43.75)
BERT→GPT-3 增长 5000× 应为 514×(175B/340M)
含梯度+优化器 1.4TB 应为 2.8TB(350+350+2100)
TP 跨节点扩展 TP 限节点内,跨节点用 PP/DP
FP16 训练大模型 用 BF16(范围同 FP32,更稳定)
量化后继续训练 round() 不可导,梯度为 0;用 QLoRA 绕过

附录 · 修正记录

以下为本 skill 在核查阶段发现并修正的问题。保留原文存疑处已注明。

A 类 · 事实错误

A1. 参数增长倍数 "5000×"(slide 3)

  • 原文:"5000× 参数增长倍数,BERT → GPT-3,三年增长约 5000 倍"
  • 问题 :BERT-Large 340M → GPT-3 175B,增长倍数 = 175B/340M = 514×,非 5000×(差 10 倍)。时间跨度 2018.10→2020.05 约一年半,非三年。
  • 修正:倍数改为 514×;时间改为约一年半。推测原文把 340M 误算为 34M(少一个 0),或把 Switch-C 1.6T 的增长误标为 GPT-3。
  • 依据:本课件 slide 3 自己给出的 BERT-Large 340M 与 GPT-3 175B 数字。

B 类 · 内部矛盾

B1. 显存合计 "1.4TB" vs "2800GB"(slide 4 vs slide 13)

  • 原文:slide 4 写"含梯度+优化器超 1.4TB";slide 13 写"合计约 2800 GB"。
  • 问题 :1.4TB 与 2.8TB 差一倍。按 GPT-3 175B + Adam + BF16 混合精度:参数 350GB(BF16) + 梯度 350GB(BF16) + 优化器 2100GB(FP32×3) = 2800GB = 2.8TB。
  • 修正:slide 4 的 1.4TB 改为 2.8TB。推测 1.4TB 是只算 FP32 参数+梯度(175B×4×2=1400GB)的口径,但措辞含"优化器"则应为 2.8TB。
  • 依据:slide 13 的逐项分解(350+350+2100=2800)。

B2. ZeRO-3 每卡显存 "~29 GB"(slide 15)

  • 原文:ZeRO-3 每卡约占 ~29 GB(64 卡)。
  • 问题 :按 slide 自己的数字(合计 2800GB,64 卡),ZeRO-3 每卡 = 2800/64 = 43.75 GB ≈ 44 GB,非 29 GB。29 GB 对应 N≈96(恰为 GPT-3 层数,疑为概念混淆,把层数当卡数)。
  • 修正:~29 GB 改为 ~44 GB。
  • 依据:slide 13 的 2800GB 与 slide 15 的 64 卡口径。ZeRO-3 节省 ≈97%→每卡 2800×0.0156=43.75GB。

B3. Bubble Ratio 表格多处数字错误(slide 28 vs slide 25 vs 公式)

  • 原文:slide 28 表格 p=4 行写 43%/30%/19%/10%,p=8 行写 64%/47%/33%/20%。
  • 问题 :按公式 bubble=(p-1)/(m+p-1) 及本课件 slide 25 自己的数值示例:
    • p=4, m=8:3/11=27%(slide 28 写 30%,slide 25 写 27%)→ slide 28 错
    • p=4, m=16:3/19=16%(slide 28 写 19%,slide 25 写 15%)→ slide 28 错
    • p=4, m=32:3/35=9%(slide 28 写 10%,slide 25 写 8%)→ slide 28 错
    • p=8, m=16:7/23=30%(slide 28 写 33%)→ slide 28 错
    • p=8, m=32:7/39=18%(slide 28 写 20%)→ slide 28 错
  • 修正:上表(第 21 节)已给出按公式修正后的正确值。slide 25 的数值示例基本正确(m=16 写 15% 为向下取整,应为 16%;m=32 写 8% 为向下取整,应为 9%,可接受)。
  • 依据:GPipe 论文公式 + 本课件 slide 25 自洽。

C 类 · 概念/方法(示意值标注)

C1. 张量并行总通信量 "175TB"(slide 21)

  • 原文:"GPT-3:96层 × 4 × ≈175TB"
  • 问题:未给出 batch size b 和序列长度 s,无法独立验证。175TB 取决于 b×s 的取值。
  • 处理 :标为示意值,量级合理但不可复现。按 b=512, s≈20480, d=12288 估算约 175TB,但课件未给这些参数。

C2. Switch-C 激活参数 "约 34B"(slide 3)

  • 原文:"Switch-C 为 MoE 架构,激活参数仅约 34B"
  • 处理:34B 为业界常引用数字,Switch Transformer 1.6T 总参 / 专家数的激活参数。保留,标为"业界引用"。

参考资料

  • ZeRO:Rajbhandari et al. "ZeRO: Memory Optimizations Toward Training Trillion Parameter Models" (SC 2020)
  • GPipe:Huang et al. "GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism" (NeurIPS 2019)
  • 1F1B:Narayanan et al. "PipeDream: Generalized Pipeline Parallelism for DNN Training" (SOSP 2019);Megatron-LM 后续实现交错 1F1B
  • DeepSeek-V3:DeepSeek-AI "DeepSeek-V3 Technical Report" (2024.12)
  • LLaMA-3:Meta "The Llama 3 Herd of Models" (2024.07)
  • FlashAttention:Dao et al. "FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness" (NeurIPS 2022)
  • QLoRA:Dettmers et al. "QLoRA: Efficient Finetuning of Quantized LLMs" (NeurIPS 2023)
相关推荐
我的愿望是成为富婆1 小时前
2027校招准备:AI能生成SQL,数据分析该学到什么程度?
人工智能·sql·数据分析
服务器硬件项目经理1 小时前
第3章GPU vs CPU:为什么AI训练要用GPU
服务器·人工智能·嵌入式硬件·gru·硬件工程·硬件
嘟哩DuliDuli1 小时前
剧本节点输入归一化:文本来源、版本与下游引用
android·人工智能·安全·ai·软件工程
小小AK1 小时前
仓库调拨单同步实战:从营销云调拨出库到金蝶云星辰调拨单的一次完整落地
人工智能
电子元件小说家1 小时前
2026年秋季开关与编码器行业观察:应用趋势与选型验证建议
人工智能
小瓜6691 小时前
2026 科普:企业级 Work Agent 的基础能力框架
人工智能
星夜孤帆1 小时前
Redis缓存击穿与分布式锁实战:专栏目录、源码与实验说明
redis·分布式·缓存
Mr Robot1 小时前
AI 赋能光伏发电量预测:从特征工程到 LSTM/XGboost 双基线实战
人工智能·能源