您的位置:首頁 > 軟件教程 > 教程 > 并行訓(xùn)練-流水線

并行訓(xùn)練-流水線

來源:好特整理 | 時(shí)間:2024-06-27 08:49:25 | 閱讀:196 |  標(biāo)簽: S   | 分享到:

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

并行訓(xùn)練主要有三種策略:

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

流水線并行

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

并行訓(xùn)練-流水線

存在的問題:

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

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

  1. 顯存浪費(fèi): 當(dāng)進(jìn)行stage3的micro-batch 3時(shí), 還需要保存前面所有mico-batch的fp中間結(jié)果用于bp.
  2. 在每個(gè)mini-batch之間無法并行. 因?yàn)橄乱粋(gè)minibatch需要等當(dāng)前所有的micro-batch更新完參數(shù)
小編推薦閱讀

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

相關(guān)視頻攻略

更多

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

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

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

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