ai-infra-interview-305

第 53 题:分布式sampler如何保证每个epoch的数据不重复?

题目

分布式sampler如何保证每个epoch的数据不重复?


完整讲解

一、目标

多卡数据并行时,每张卡用不同的数据子集,且整个 epoch 内所有卡合起来正好把数据集覆盖一遍、不重不漏。DistributedSampler 就是按 rank、world_size 把样本划分到各卡,并可选打乱(shuffle)后每卡只取自己的那一段。


二、常见做法(PyTorch DistributedSampler)


三、不重复的保证


面试要点


记忆要点

  1. 划分:下标按 rank 交错,每卡一段,不重叠。
  2. Shuffle:全局同一 seed(set_epoch),再切分;每 epoch 换 seed。
  3. 不重不漏 = 划分不交 + shuffle 一致;set_epoch 必须调。
返回模块 返回总览