0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Uber一個跨多臺機器的分布式深度學習訓練框架引入開源項目LF深度學習基金會

高工智能汽車 ? 來源:lq ? 2018-12-19 15:50 ? 次閱讀

世界頂尖科技公司工程師常常發(fā)現(xiàn),為了滿足公司的獨特需求,他們不得不為現(xiàn)有軟件基礎上開發(fā)定制替代方案。

近日,Uber將自己的Horovod(一個跨多臺機器的分布式深度學習訓練框架)引入開源項目LF深度學習基金會。Uber利用Horovod支持自動駕駛汽車、欺詐檢測和出行預測,該項目的貢獻者包括Amazon、IBM、Intel和Nvidia。

Horovod是一個分布式的TensorFlow訓練框架,目標是使分布式深度學習快速且易于使用。在Uber內(nèi)部,他們發(fā)現(xiàn)MPI模型比帶參數(shù)服務器的分布式TensorFlow簡單得多,所需的代碼更改也少得多。

除了Uber,阿里巴巴、亞馬遜和Nvidia也在使用Horovod。Horovod項目可以與TensorFlow、Keras和PyTorch等流行框架一起使用。

Uber上個月加入了Linux基金會,并加入了AT&T和諾基亞等其他科技公司的行列,支持LF深度學習基金會的開源項目。LF深度學習基金會成立于3月,旨在支持針對深度學習和機器學習的開源項目,是Linux基金會的一部分。

自該基金會成立以來,其他項目還包括機器學習平臺Angel和彈性深度學習(Elastic Deep learning),這是一個幫助云服務提供商利用TensorFlow等框架制作云集群服務的項目。

根據(jù)Uber的說法,Horovod讓開發(fā)人員只需幾行代碼就可以完成任務。這不僅加快了初始修改過程,而且進一步簡化了調試。考慮到深度學習項目的高度迭代性,這同樣可以節(jié)省大量時間。

在過去的幾年里,深度學習的進步推動了圖像處理、語音識別和預測的巨大進步。在Uber,深度學習應用于整個業(yè)務,從自動駕駛研究到出行預測和欺詐預防,并為用戶創(chuàng)造更好的體驗。

由于種種原因,TensorFlow已經(jīng)成為Uber首選的深度學習庫。首先,該框架是用于深度學習的最廣泛使用的開源框架之一,這使得新用戶很容易上手。

它還結合了高性能和修補低級模型細節(jié)的能力——例如,可以同時使用高級api,如Keras,并使用NVIDIA的CUDA工具包實現(xiàn)自己的自定義操作符。

此外,TensorFlow還支持各種深度學習用例的端到端支持,從進行探索性研究到將模型部署到云服務器、移動應用程序甚至自動駕駛汽車上。

去年,Uber Engineering推出了米開朗基羅(Michelangelo),這是一個內(nèi)部的“mvc即服務”(mvc -as-a-service)平臺,它讓機器學習自主化,讓大規(guī)模構建和部署這些系統(tǒng)變得容易。

Horovod正是這個米開朗基羅復雜平臺的組成部分,Uber開發(fā)這個平臺是為了為其內(nèi)部的深度學習努力奠定基礎。該公司將該軟件描述為管理AI開發(fā)生命周期各個方面的端到端系統(tǒng)。

鑒于Uber此次宣布開放Horovod,它可能還會隨著時間的推移發(fā)布米開朗基羅其他組件的代碼。

Horovod的出現(xiàn),也反應不同企業(yè)在縱深涉及深度學習時遇到了不少問題。

隨著Uber使用越來越多的機器學習模型,它們的規(guī)模和數(shù)據(jù)消耗顯著增長。在大多數(shù)情況下,模型仍然足夠小,可以容納一個服務器中的一個或多個GPU,但是隨著數(shù)據(jù)集的增長,訓練時間也在增加,有時需要一周甚至更長時間。

此后,Uber轉向了分布式深度學習訓練。標準的分布式TensorFlow包引入了許多新概念:workers、參數(shù)服務器、tf.Server()、tf.ClusterSpec()、tf.train. syncreasoptimizer()和tf.train.replicas_device_setter()等等。雖然對某些場景有益,但這也引入了難以診斷的bug,從而減慢了訓練速度。

第二個問題是關于Uber規(guī)模計算的挑戰(zhàn)。在運行了一些基準測試之后,他們發(fā)現(xiàn)不能使標準的分布式TensorFlow按比例擴展,以及需要的服務。例如,在128個GPU上進行訓練時,由于效率低下,損失了大約一半的資源。

當Uber在128個NVIDIA Pascal GPU上運行標準的TensorFlow基準測試套件時,他們發(fā)現(xiàn)Inception V3和ResNet-101模型都無法利用將近一半的GPU資源。

標準的分布式TensorFlow包使用參數(shù)服務器方法來平均梯度。在這種方法中,每個流程都有兩個潛在角色之一:Worker或參數(shù)服務器。Worker用于處理訓練數(shù)據(jù),計算梯度,并將它們發(fā)送到參數(shù)服務器進行平均。

Uber認為,雖然這種方法提高了性能,但遇到了兩個挑戰(zhàn):確定Worker與參數(shù)服務器的正確比例。

如果使用一個參數(shù)服務器,它可能會成為網(wǎng)絡或計算瓶頸。如果使用多個參數(shù)服務器,通信模式將變成“all-to-all”,這可能會使網(wǎng)絡互連飽和。

處理增加TensorFlow程序復雜性:在測試中,每個用戶的分布式TensorFlow必須顯式啟動每個Worker和參數(shù)服務器,通過服務發(fā)現(xiàn)周圍信息,如所有的Worker和參數(shù)服務器的主機和端口,并修改培訓計劃構建tf.Server()和一個適當?shù)膖f.ClusterSpec()。

此外,用戶必須確保使用tf.train.device_replica_setter()適當?shù)胤胖盟胁僮?,并修改代碼以使用towers來利用服務器中的多個GPU。這通常會導致陡峭的學習曲線和大量的代碼重構,從而占用實際建模的時間。

2017年初,百度發(fā)表了一篇文章《將HPC技術深度學習》,涉及到不同的算法平均梯度和溝通這些梯度(上面的第2步和第3步),該算法基于Patarasuk和Yuan在2009年的論文《工作站集群帶寬最優(yōu)全約算法》中引入的方法。

在環(huán)約簡算法中,每個N個節(jié)點與兩個節(jié)點通信2*(N-1)次。在此通信過程中,節(jié)點發(fā)送和接收數(shù)據(jù)緩沖區(qū)的塊。在前N-1次迭代中,接收到的值被添加到節(jié)點緩沖區(qū)的值中。在第二次N-1迭代中,接收到的值替換節(jié)點緩沖區(qū)中保存的值。

百度的論文認為,該算法是帶寬最優(yōu)的,這意味著如果緩沖區(qū)足夠大,它將最優(yōu)地利用可用網(wǎng)絡。

Uber也意識到,采用環(huán)減少(ring-allreduce)方法可以提高可用性和性能,這促使我們自己開發(fā)實現(xiàn),以滿足Uber的TensorFlow需求。隨后,Uber采用了百度的TensorFlow ring-allreduce算法,并在此基礎上進行了構建。

Uber將代碼轉換為一個名為Horovod的獨立Python包,這個包是以俄羅斯傳統(tǒng)的民間舞蹈命名的,在這種舞蹈中,表演者挽著手臂繞圈跳舞,就像分布式TensorFlow進程使用Horovod彼此通信一樣。

Uber目前的不同團隊都可能使用不同版本的TensorFlow,但他們希望所有團隊都能夠利用ring-allreduce算法,而不需要升級到TensorFlow的最新版本,對自己的版本應用補丁,甚至不需要花時間構建框架。

有了一個獨立的包,Uber表示就可以根據(jù)硬件的不同,將安裝Horovod所需的時間從大約1小時縮短到幾分鐘。Horovod在Inception V3和ResNet-101中都達到了90%的縮放效率,在VGG-16中達到了79%的縮放效率。

此外,Uber用NCCL替換了百度ring-allreduce實現(xiàn),NCCL是NVIDIA的集合通信庫,它提供了高度優(yōu)化的ring-allreduce版本。NCCL 2引入了跨多臺機器運行ring-allreduce的能力,能夠利用它的許多性能提升優(yōu)化。

Uber還在此基礎上增加了對適合單個服務器模型的支持,可能是在多個GPU上,而原來的版本只支持適合單個GPU的模型。

Horovod項目負責人亞歷克斯?瑟蓋夫(Alex Sergeev)表示,Horovod是為了讓各行各業(yè)的人工智能研究人員能夠更快、更直觀地進行深度學習模型訓練。后續(xù)隨著Horovod在功能和應用方面的不斷成熟,加入LF將使我們能夠進一步擴大它在開源生態(tài)系統(tǒng)中的影響。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像處理
    +關注

    關注

    27

    文章

    1292

    瀏覽量

    56764
  • 自動駕駛
    +關注

    關注

    784

    文章

    13826

    瀏覽量

    166503
  • 深度學習
    +關注

    關注

    73

    文章

    5503

    瀏覽量

    121207

原文標題:Horovod ? Tensor flow ? Uber開源分布式深度學習模型 | GGAI海外

文章出處:【微信號:ilove-ev,微信公眾號:高工智能汽車】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開放原子開源基金會與三開源項目舉行捐贈簽約儀式

    近日,在2024開放原子開發(fā)者大會暨首屆開源技術學術大會開幕上,開放原子開源基金會秘書長助理李博與openKylin、EasyAda、KWDB開源
    的頭像 發(fā)表于 12-23 11:29 ?256次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發(fā)表于 10-28 14:05 ?218次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學習</b><b class='flag-5'>訓練</b>的方法

    GPU深度學習應用案例

    能力,可以顯著提高圖像識別模型的訓練速度和準確性。例如,在人臉識別、自動駕駛等領域,GPU被廣泛應用于加速深度學習模型的訓練和推理過程。 二、自然語言處理 自然語言處理(NLP)是
    的頭像 發(fā)表于 10-27 11:13 ?399次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現(xiàn)場可編程門陣列)加速深度學習模型是當前硬件加速領域的熱門研究方向。以下是些FPGA加速
    的頭像 發(fā)表于 10-25 09:22 ?237次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 深度學習是AI大模型的基礎 技術支撐 :
    的頭像 發(fā)表于 10-23 15:25 ?788次閱讀

    迅龍軟件OrangePi?5 Plus順利通過開放原子開源基金會XTS認證

    公益事業(yè)的非營利性獨立法人機構,是我國在開源領域的首個基金會。OpenHarmony是由開放原子開源基金會孵化及運營的開源
    的頭像 發(fā)表于 09-09 15:36 ?547次閱讀
    迅龍軟件OrangePi?5 Plus順利通過開放原子<b class='flag-5'>開源</b><b class='flag-5'>基金會</b>XTS認證

    NVIDIA推出全新深度學習框架fVDB

    在 SIGGRAPH 上推出的全新深度學習框架可用于打造自動駕駛汽車、氣候科學和智慧城市的 AI 就緒型虛擬表示。
    的頭像 發(fā)表于 08-01 14:31 ?619次閱讀

    深度學習算法在嵌入平臺上的部署

    隨著人工智能技術的飛速發(fā)展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入平臺上,仍然是
    的頭像 發(fā)表于 07-15 10:03 ?1425次閱讀

    深度學習中的無監(jiān)督學習方法綜述

    深度學習作為機器學習領域的重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音
    的頭像 發(fā)表于 07-09 10:50 ?762次閱讀

    深度學習與nlp的區(qū)別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩非常重要的研究方向。它們之間既有聯(lián)系,也有區(qū)別。本文將介紹深度學習與NLP的區(qū)別。
    的頭像 發(fā)表于 07-05 09:47 ?943次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度
    的頭像 發(fā)表于 07-02 14:04 ?976次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練復雜且關鍵的過程,它涉及大量的數(shù)據(jù)、計算資源和精心設計的算法。訓練
    的頭像 發(fā)表于 07-01 16:13 ?1290次閱讀

    深度學習與傳統(tǒng)機器學習的對比

    在人工智能的浪潮中,機器學習深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于
    的頭像 發(fā)表于 07-01 11:40 ?1407次閱讀

    迅龍軟件加入開放原子開源基金會和OpenHarmony?項目,共建開源新生態(tài)

    近日,迅龍軟件與“開放原子開源基金會”簽署協(xié)議,加入“開放原子開源基金會”(以下簡稱“開源基金會
    的頭像 發(fā)表于 04-30 17:50 ?1047次閱讀
    迅龍軟件加入開放原子<b class='flag-5'>開源</b><b class='flag-5'>基金會</b>和OpenHarmony?<b class='flag-5'>項目</b>,共建<b class='flag-5'>開源</b>新生態(tài)

    FPGA在深度學習應用中或將取代GPU

    上漲,因為事實表明,它們的 GPU 在訓練和運行 深度學習模型 方面效果明顯。實際上,英偉達也已經(jīng)對自己的業(yè)務進行了轉型,之前它是家純粹做 GPU 和游戲的公司,現(xiàn)在除了作為
    發(fā)表于 03-21 15:19