您的位置:首頁(yè) > 軟件教程 > 教程 > 并行訓練-流水線(xiàn)

并行訓練-流水線(xiàn)

來(lái)源:好特整理 | 時(shí)間:2024-06-27 08:49:25 | 閱讀:82 |  標簽: S   | 分享到:

并行訓練-流水線(xiàn) 簡(jiǎn)述 并行訓練主要有三種策略: 數據并行訓練加速比最高,但要求每個(gè)設備上都備份一份模型,顯存占用比較高,但缺點(diǎn)是通信量大。 張量并行,通信量比較高,適合在機器內做模型并行。 流水線(xiàn)并行,訓練設備容易出現空閑狀態(tài),加速效率沒(méi)有DP高;但能減少通信邊界支持更多的層數,適合在機器間使用。

并行訓練主要有三種策略:

  1. 數據并行訓練加速比最高,但要求每個(gè)設備上都備份一份模型,顯存占用比較高,但缺點(diǎn)是通信量大。
  2. 張量并行,通信量比較高,適合在機器內做模型并行。
  3. 流水線(xiàn)并行,訓練設備容易出現空閑狀態(tài),加速效率沒(méi)有DP高;但能減少通信邊界支持更多的層數,適合在機器間使用。

流水線(xiàn)并行

Micro-batch(Gpipe)將網(wǎng)絡(luò )結構進(jìn)行縱向拆分, 每張卡訓練其中的幾層. 如果是按照純粹的mini-batch訓練, 每層之間是純串行的. 后面的卡會(huì )始終等待前面的卡. 所以引入了micro-batch的概念. 把mini-batch進(jìn)行更細粒度的拆分, 這樣在完成batch0的fp之后, 卡0可以進(jìn)行batch1的fp, 卡1就能開(kāi)始batch0的fp. 從而提高并行度.

并行訓練-流水線(xiàn)

存在的問(wèn)題:

  1. 存在bubble_time: 每張卡的空閑時(shí)間 = (stage_num - 1) * (fp_time + bp_time)

實(shí)際應用中 當mico-batch個(gè)數大于stageNum的4倍時(shí), 可以忽略bubble_time

  1. 顯存浪費: 當進(jìn)行stage3的micro-batch 3時(shí), 還需要保存前面所有mico-batch的fp中間結果用于bp.
  2. 在每個(gè)mini-batch之間無(wú)法并行. 因為下一個(gè)minibatch需要等當前所有的micro-batch更新完參數
小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認同期限觀(guān)點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權,請發(fā)郵件admin@haote.com

湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2024 haote.com 好特網(wǎng)