Google推出支持分布式計算的TensorFlow?0.8

jopen 8年前發布 | 18K 次閱讀 分布式計算 TensorFlow

如今, Google 已將機器學習運用到了多種產品中,并推出了能夠加速機器學習模型改進與升級的 TensorFlow 開源系統。今天, Google 推出 TensorFlow  0.8 ,以滿足用戶對機器學習模型分布式訓練的需求。

支持分布式計算的 TensorFlow 0.8 能夠使用戶在自己的機器學習基礎結構中訓練分布式模型。該系統以高性能的 gRPC 數據庫為支撐( gRPC 數據庫支持同時對上百臺機器進行訓練),且與最近發布的 Google 云機器學習系統 互補,使用戶能夠利用 Google 云平臺,對其 TensorFlow 模型進行訓練并提供服務。  

配合 TensorFlow 0.8 的發布, Google 還在 TensorFlow 模型庫中發行了一款針對 Inception 圖像分類神經網絡的分布式訓練程序。利用該分布式訓練程序, Google 能夠使用 100 個 GPU ,在短短 65 小時內將 Inception 網絡的精確度提高至 78% 。隨著 GPU 數量的增加,系統的整體處理量可以得到提升,并且能夠更快地計算出精確的結果。因此,即使是小型集群或一組設備也能因分布式 TensorFlow 受益。

Google推出支持分布式計算的TensorFlow 0.8 ?TensorFlow利用100個GPU將Inception訓練的速度提高了56倍。

這個分散式訓練程序還可以讓用戶通過使用如 Kubernetes 等集群管理系統,擴大訓練規模。此外,用戶在訓練程序后,還可以通過在 Kubernetes 中使用 TensorFlow 服務,進行生產部署和推理加速。

除分布式 Inception 之外, TensorFlow 0.8 還包括便于用戶自行定義分布式模型的新型數據庫。由于集群內的每個程序都能處理各種通用計算,因此 TensorFlow 的分布式結構大大提高了用戶在定制模型時的靈活性。 Google 之前推出的 DistBelief 系統(與后續推出的很多系統類似)主要通過 “ 參數服務器 ” 管理共享模型的參數。該服務器的讀寫界面非常簡單,便于用戶獲取和更新共享的參數數據。

包括參數管理在內, TensorFlow 系統中所有的計算,均通過數據流圖表呈現。該系統還可以將這些數據傳輸到不同設備上(如多核 CPU 、通用 GPU 和移動處理器等)。為了讓 TensorFlow 系統便于使用, Google 還在系統中包含了 Python 數據庫,從而便于編寫那些可在單一程序中運行并且能通過多個副本進行訓練以擴大訓練規模的模型。

該結構便于用戶從運用單進程工作擴大到使用集群工作,還便于用戶使用新結構進行試驗,以完成分布式訓練。 Google 發現,將有備份功能的同步化 SGD 用在 TensorFlow 系統圖表中,能提高圖像模型訓練的準確性,并縮短耗時。

目前, TensorFlow 系統中的分布式計算支持尚處于初級階段。 Google 會繼續通過工程設計以及算法改進,來提高分布式訓練的性能,并將在 GitHub 中與廣大用戶分享 Google 所取得的成就。

來自: http://blog.sina.com.cn/s/blog_9c079b040102wv76.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!