ai-infra-interview-305

第 46 题:DDP的gradient bucketing机制是什么?bucket size如何调优?

题目

DDP的gradient bucketing机制是什么?bucket size如何调优?


完整讲解

一、Gradient bucketing 在做什么?

DDP 在 backward 结束后要对所有参数的梯度做 all-reduce(或 reduce-scatter 等)以同步。若每个参数张量单独一次通信,小张量会产生大量小消息,通信效率差(延迟主导)。Gradient bucketing 的做法是:按参数在模型中的顺序(或按 size)把多个小梯度打包进一个 bucket,凑满一定大小(如 25MB)或到 bucket 数量上限后,整桶做一次 all-reduce,从而减少通信次数、提高带宽利用率。


二、机制要点


三、bucket size(bucket_cap_mb)如何调优?


面试要点


记忆要点

  1. 目的:小梯度打包成桶,按桶 all-reduce,减少次数、提高带宽。
  2. 桶满即发、与 backward 顺序一致,实现通信与计算重叠。
  3. 调优:默认 25MB;高带宽可略大,小模型可略小;用 profiler 看时间线。
返回模块 返回总览