關于Tensorflow分布式并行策略

發布時間:2020-02-07 11:44 來源:互聯網 當前欄目:網站服務器

tensorFlow中主要包括了三種不同的并行策略,其分別是數據并行、模型并行、模型計算流水線并行,具體參考Tenssorflow白皮書,在接下來分別簡單介紹三種并行策略的原理。

數據并行

一個簡單的加速訓練的技術是并行地計算梯度,然后更新相應的參數。數據并行又可以根據其更新參數的方式分為同步數據并行和異步數據并行,同步的數據并行方式如圖所示,tensorflow圖有著很多的部分圖模型計算副本,單一的客戶端線程驅動整個訓練圖,來自不同的設備的數據需要進行同步更新。這種方式在實現時,主要的限制就是每一次更新都是同步的,其整體計算時間取決于性能最差的那個設備。

數據并行還有異步的實現方式,如圖所示,與同步方式不同的是,在處理來自不同設備的數據更新時進行異步更新,不同設備之間互不影響,對于每一個圖副本都有一個單獨的客戶端線程與其對應。在這樣的實現方式下,即使有部分設備性能特別差甚至中途退出訓練,對訓練結果和訓練效率都不會造成太大影響。但是由于設備間互不影響,所以在更新參數時可能其他設備已經更好的更新過了,所以會造成參數的抖動,但是整體的趨勢是向著最好的結果進行的。所以說這種方式更適用于數據量大,更新次數多的情況。

模型并行

一個模型并行訓練的例子如圖所示,其針對的訓練對象是同一批樣本數據,但是將不同的模型計算部分分布在不同的計算設備上同時執行。

模型計算流水線并行

此并行方式主要針對在同一個設備中并發實現模型的計算,如圖是其并發計算步驟,可以發現它實際上與異步數據并行有些相似,但是唯一不同的是此方式的并行發生在同一個設備上,而不是在不同的設備之間。并且在計算一批簡單的樣例時,允許進行“填充間隙”,這可以充分利用空閑的設備資源。

以上這篇關于Tensorflow分布式并行策略就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持IIS7站長之家。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、