代码拉取完成,页面将自动刷新
同步操作将从 Ascend/MindSpeed 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Pipedream流水线并行切分粒度过大,运行过程中仍然有许多空泡
将计算进一步细分
在设备数量不变的情况下,分出更多的流水线阶段,以更多的通信量,换取空泡比率降低。
为了方便理解,举一个例子:假设模型层数为16,张量并行大小为1,流水线并行大小为4,虚拟流水线并行大小为2。模型会被分为 4 * 2 = 8 个阶段,每个阶段 16 / 8 = 2 个层。
NPU 0: [1, 2] [9, 10]
NPU 1: [3, 4] [11, 12]
NPU 2: [5, 6] [13, 14]
NPU 3: [7, 8] [15, 16]
前向的顺序为 NPU 0 -> NPU 1 -> NPU 2 -> NPU 3 -> NPU 0 -> NPU 1 -> NPU 2 -> NPU 3
想要进一步减小空泡比率,提升性能
设置--num-layers-per-virtual-pipeline-stage N
。表示每个阶段的层数。要求模型的总层数 L % N == 0。要求 --pipeline-model-parallel-size
> 2。
空泡比率进一步减小
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。