AI硬體與軟體堆疊

關於以多顆GPU訓練的資料平行,下列說明何者正確?

  1. A各GPU持有整個模型的副本,將資料分開計算,把求得的梯度在所有GPU上取平均後再更新權重
  2. B將模型的層分開,由各GPU負責不同的層
  3. C只用一顆GPU計算,其餘的GPU作為備用
查看答案與解析

正確答案:A. 各GPU持有整個模型的副本,將資料分開計算,把求得的梯度在所有GPU上取平均後再更新權重

在資料平行中,所有GPU都持有相同的模型,將訓練資料的批次分開,各自進行順向傳播與反向傳播。由於各GPU的梯度不同,要進行將所有GPU的梯度加總並取平均的通訊(All-Reduce),讓大家以相同的梯度更新權重,使模型的副本保持一致。若模型能放進一顆GPU,這種方式簡單又有效,但GPU數量增加時通訊會變得沉重。

  • A. 正確。是最基本的平行方式。
  • B. 那是管線平行。
  • C. 那樣就不是平行了。
練習這個領域 前往領域頁面

AI硬體與軟體堆疊的其他題目

  1. 關於將無法放進單一GPU記憶體的大型層之矩陣相乘,分給多顆GPU計算的張量平行,下列說明何者正確?
  2. 在將模型的層依序分給多顆GPU負責的管線平行中,把批次分成較小的微批次(micro-batch)來傳遞,其理由下列何者正確?
  3. 關於分散式訓練中使用的All-Reduce通訊之作用,下列何者正確?
  4. 關於訓練中使用的梯度檢查點(重新計算啟動值),下列說明何者正確?
  5. AI加速器所使用的脈動陣列(systolic array)能有效率地計算矩陣相乘,其主要原因為下列何者?