罗西的思考 这个大佬是原创,这篇只是为了方便我自己记忆和后期查找
基本上,流水线并行是一个小型数据并行的栈。当每个分区处理完一个微批次后,它可以将输出抛到下一个分区并立即开始下一个微批次的工作,这样分区就可以重叠。
通过选择较小尺寸的微批次,可以减少“bubble"。但通常,较大的批量可以更有效地利用GPU。
因此,如果选择的微批量太小,GPU可能未得到充分利用。另外,更快的分区应该等待相邻的较慢分区,分区之间的不平衡也可能导致GPU利用率不足。因此,总体性能由最慢的分区决定。
罗西的思考 这个大佬是原创,这篇只是为了方便我自己记忆和后期查找
基本上,流水线并行是一个小型数据并行的栈。当每个分区处理完一个微批次后,它可以将输出抛到下一个分区并立即开始下一个微批次的工作,这样分区就可以重叠。
通过选择较小尺寸的微批次,可以减少“bubble"。但通常,较大的批量可以更有效地利用GPU。
因此,如果选择的微批量太小,GPU可能未得到充分利用。另外,更快的分区应该等待相邻的较慢分区,分区之间的不平衡也可能导致GPU利用率不足。因此,总体性能由最慢的分区决定。