torchrun在验证集使用一个GPU时报NCCL超时:Watchdog caught collective operation timeout的解决方案
有时候在分布式训练时,可能会出现nccl通信超时的问题,出现的原因好像是在某些数据处理、加载等过程,多个进程一起完成,但是某些计算(比如loss具体不知道都有啥)需要rank0自己来做,但是由于默认的30分钟没算完,没完成不同rank之间的正常通信,导致报错。增加超时时间:你可以尝试增加NCCL操作的超时时间。在PyTorch中,你可以通过设置。
原创
2024-03-26 20:28:07 ·
3817 阅读 ·
0 评论