# 1. 数据并行(Data Parallel, DP)、模型并行(Tensor/Pipeline Parallel, TP/PP)、专家并行(Expert Parallel, EP)的工程取舍? A PP 会产生大量层内通信 B TP 用于跨节点,通信量最小 C DP 切数据、TP 切层内权重、PP 切层、EP 切 expert,各策略在显存与通信上各有取舍 ✓ 正确答案 D EP 适用于非 MoE 模型
# 2. ZeRO-1/2/3(DeepSpeed)与 FSDP(Fully Sharded Data Parallel, PyTorch)的显存优化原理与适用规模? A ZeRO-1/2/3 依次分片优化器状态、梯度、参数,FSDP 与 ZeRO-3 类似,用通信换显存,适合超大规模模型 ✓ 正确答案 B ZeRO-3 不分片参数,显存节省最小 C FSDP 不进行参数分片 D ZeRO 分片不引入通信开销
# 3. All-Reduce 的 Ring 算法通信量推导,与 Tree/PS 方案对比? A PS 方案无单点瓶颈 B Ring 算法通信量随 N 无限增长 C Ring 算法分 ReduceScatter 与 AllGather 两阶段,通信量约 2(N-1)/N*D,无单点瓶颈,优于依赖根节点的 PS/树形 ✓ 正确答案 D Ring 算法每个节点只传输一次数据
# 4. 流水线并行的 bubble 占比,为什么 P 段流水线的 bubble 约为 (P-1)/(3P-1),1F1B 调度如何降低内存峰值? A 1F1B 会增加内存峰值 B P 越大 bubble 越小 C P 段流水线 bubble 约为 (P-1)/(3P-1),1F1B 交错前向与反向以降低激活内存峰值 ✓ 正确答案 D bubble 与设备数无关
# 5. NCCL 的集合通信原语,AllReduce、AllGather、ReduceScatter、Ring/Tree 算法与跨节点带宽优化如何实现? A NCCL 不区分 Ring 与 Tree 算法 B AllGather 只把数据留在本节点 C Ring 算法只适合单节点 D AllReduce 可由 ReduceScatter+AllGather 组合实现,Ring 带宽均衡、Tree 层次化,跨节点优化需拓扑感知与通信计算重叠 ✓ 正确答案
# 6. 3D 并行(DP+TP+PP)在大模型(>100B)训练中的组合与 Pipeline Bubble 优化? A TP 用于跨节点通信 B TP 在节点内切层内、PP 跨层、DP 复制数据,增加微批数与用 1F1B 调度可减小 bubble ✓ 正确答案 C PP 段数越多 bubble 越小 D 3D 并行不支持 DP
# 7. 张量并行/流水线并行/数据并行/专家并行的显存与通信特征对比? A EP 只适用非 MoE 模型 B DP 能分摊权重显存 C PP 通信量最大 D TP 分摊权重但通信频繁,PP 分摊层显存但通信量小,DP 不省显存、EP 适合 MoE 且依赖 all-to-all ✓ 正确答案
# 8. NCCL 的通信拓扑(环形/树形)、NVLINK/IB 带宽与通信计算重叠如何配置? A 通信无法与计算重叠 B Ring 适合大规模集群、Tree 适合层级,梯度分桶让通信与反向计算重叠以隐藏通信时间 ✓ 正确答案 C Ring 算法只适合单节点 D NVLink 用于跨节点通信
# 9. 分布式训练的通信原语,All-Reduce 的 Ring 与 Tree 实现有何差异? A 两者实现完全相同 B Ring 有单点瓶颈 C Tree 通信量不受根节点影响 D Ring 分 ReduceScatter 与 AllGather 两阶段、带宽均衡,Tree 逐层归约、根节点可能成瓶颈 ✓ 正确答案
# 10. All-Reduce 的实现,Ring-AllReduce 的通信量如何分析? A Ring 通信量恒为 D B Ring 通信量随 N 线性爆炸 C Ring 每节点只传输 D/N 数据 D Ring 分 ReduceScatter 与 AllGather 阶段,每节点通信量约 2(N-1)/N*D,随 N 增大趋近 2D,无单点瓶颈 ✓ 正确答案
# 11. 梯度分桶(gradient bucketing)如何实现通信与反向计算重叠,桶大小对带宽利用率的影响? A 桶越小带宽利用率越高 B 梯度分桶让每个桶反向完成即发起通信,与反向计算重叠,桶大小需在带宽利用与重叠及时性间平衡 ✓ 正确答案 C 分桶无法实现通信计算重叠 D 桶大小与性能无关
# 12. 张量并行的列/行切分,为什么列并行加 AllReduce、行并行加 AllGather,MoE 专家并行的 all-to-all 通信如何运作? A 列并行各设备的部分输出需 AllReduce 求和,行并行各设备的部分输出需 AllGather 拼接,MoE 用 all-to-all 路由 token 到 expert ✓ 正确答案 B 列并行需要 AllGather C 行并行需要 AllReduce 求和 D MoE 不需要跨设备通信
# 13. Megatron-LM、DeepSpeed、ColossalAI 的并行策略实现差异? A Megatron 强在 TP/PP 性能,DeepSpeed 强在 ZeRO 显存优化,ColossalAI 强在自动化多并行整合 ✓ 正确答案 B 三者并行能力完全相同 C DeepSpeed 不提供 ZeRO D Megatron 无张量并行
# 14. ZeRO 系列优化(ZeRO-1/2/3)与混合并行的组合使用场景? A ZeRO-3 通信开销最小 B ZeRO-1 分片参数,显存节省最大 C ZeRO 与 TP/PP 不能组合 D ZeRO-1/2/3 依次分片更多状态、显存越省通信越多,与 TP/PP 组合可解决超大规模模型训练 ✓ 正确答案
# 15. ZeRO 与模型并行/流水线并行中显存优化的思路如何? A ZeRO 分片训练状态用通信按需收集,TP/PP 切分权重或层,两者互补共同降低单卡显存 ✓ 正确答案 B ZeRO 切分计算,TP 分片状态 C ZeRO 与 TP/PP 思路完全相同 D TP 解决状态显存问题
# 16. 梯度压缩与异步训练如何缓解通信瓶颈? A 异步训练总能加速且不损失收敛 B 梯度压缩不会引入误差 C 梯度压缩减少通信量但引入误差需补偿,异步训练减少同步等待但可能影响收敛,二者需权衡使用 ✓ 正确答案 D 两者都无副作用
# 17. 梯度同步的同步/异步模式,收敛与通信如何权衡? A 同步收敛稳定但受最慢设备拖累、通信等待多,异步吞吐高但可能用 stale 梯度影响收敛 ✓ 正确答案 B 同步模式吞吐更高 C 异步模式收敛更稳定 D 两者无差异
# 18. 通信与计算重叠,pipeline 并行与梯度异步如何结合? A pipeline 并行的阶段间通信可与当前计算重叠,梯度分桶让通信与反向计算重叠,从而隐藏通信开销 ✓ 正确答案 B 通信与计算无法重叠 C 重叠只适用于单卡 D 重叠会增大训练时间
# 19. GPU CUDA ROCm SYCL interoperability 的多 GPU 通信(NCCL、RCXL、RCCL)在 NVLink、Infinity Fabric、RoCE 上的差异? A RoCE 用于 NVLink 机内通信 B NCCL 是 AMD 的通信库 C NVLink 是 AMD 机内互联 D NCCL 配合 NVLink/IB 属 NVIDIA 生态,RCCL/RCXL 配合 Infinity Fabric 属 AMD 生态,RoCE 用于以太网机间通信 ✓ 正确答案