您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Tensorflow分布式并行策略的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
tensorFlow中主要包括了三種不同的并行策略,其分別是數據并行、模型并行、模型計算流水線并行,具體參考Tenssorflow白皮書,在接下來分別簡單介紹三種并行策略的原理。
數據并行
一個簡單的加速訓練的技術是并行地計算梯度,然后更新相應的參數。數據并行又可以根據其更新參數的方式分為同步數據并行和異步數據并行,同步的數據并行方式如圖所示,tensorflow圖有著很多的部分圖模型計算副本,單一的客戶端線程驅動整個訓練圖,來自不同的設備的數據需要進行同步更新。這種方式在實現時,主要的限制就是每一次更新都是同步的,其整體計算時間取決于性能最差的那個設備。
數據并行還有異步的實現方式,如圖所示,與同步方式不同的是,在處理來自不同設備的數據更新時進行異步更新,不同設備之間互不影響,對于每一個圖副本都有一個單獨的客戶端線程與其對應。在這樣的實現方式下,即使有部分設備性能特別差甚至中途退出訓練,對訓練結果和訓練效率都不會造成太大影響。但是由于設備間互不影響,所以在更新參數時可能其他設備已經更好的更新過了,所以會造成參數的抖動,但是整體的趨勢是向著最好的結果進行的。所以說這種方式更適用于數據量大,更新次數多的情況。
模型并行
一個模型并行訓練的例子如圖所示,其針對的訓練對象是同一批樣本數據,但是將不同的模型計算部分分布在不同的計算設備上同時執行。
模型計算流水線并行
此并行方式主要針對在同一個設備中并發實現模型的計算,如圖是其并發計算步驟,可以發現它實際上與異步數據并行有些相似,但是唯一不同的是此方式的并行發生在同一個設備上,而不是在不同的設備之間。并且在計算一批簡單的樣例時,允許進行“填充間隙”,這可以充分利用空閑的設備資源。
感謝各位的閱讀!關于“Tensorflow分布式并行策略的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。