1. 程式人生 > 其它 >動手學深度學習 | 單機多卡並行 | 32

動手學深度學習 | 單機多卡並行 | 32

目錄

單機多卡並行

這裡圖片是4張980,但是因為GPU靠的太近了,一個月後就燒了一塊GPU。這是沐神第一次裝多GPU犯的錯誤。

一般都是進行資料並行。

什麼使用使用模型並行呢?就batch_size=1的時候,一個GPU都不能計算的話,那麼就會考慮進行模型並行,將模型分割到多個GPU來做,比如transformer的模型直接有100個G。

QA

  1. 我在4塊GPU訓練,後來我有兩塊更大視訊記憶體的GPU,那我什麼都不變,換成2塊視訊記憶體的GPU訓練,會有什麼影響嗎?

你可以每次分配多點資料給效能更好的GPU,一般框架也是允許這個操作的。

  1. 小批量分到多GPU計算後,模型結果怎麼合到一塊?

一般是說把梯度給加起來,梯度加起來之後就會得到完整梯度,在模型更新的時候,其實模型就只有一份,模型基本可以把保證是一致的。

  1. 資料並行的時候,不同gpu也是拷貝了同一個模型嗎?那是不是資料並行才是真正的並行,模型並行只是模型切塊,本質上還是序列。可以這麼理解嗎?

資料並行確實是在每張卡中拷貝同一個模型。

模型並行實際上也是並行,只不過並行的程度會低一些。