溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用DC/OS構(gòu)建深度學習平臺

發(fā)布時間:2022-01-04 15:36:11 來源:億速云 閱讀:118 作者:柒染 欄目:大數(shù)據(jù)

如何利用DC/OS構(gòu)建深度學習平臺,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

以下是今年在北美MesosCon上Uber的Min Cai,Alex Sergeev,Paul Mikesell和Anne Holler發(fā)表的“利用 Apache Mesos (GPU資源調(diào)度與Gang調(diào)度器)構(gòu)建分布式深度學習平臺”的概要。 Uber團隊分享了他們?nèi)绾卧贏pache Mesos(底層核心技術(shù)是Mesosphere DC / OS)上構(gòu)建分布式學習平臺,用于自動駕駛的研究,預測搭車、共享車趨勢,并防止欺詐行為。Uber采用了名為Horovod的分布式深度學習平臺,該平臺優(yōu)化了使用GPU的運算模型,通過運用名為Peloton的自定義調(diào)度算法來對GPU資源進行調(diào)度,讓多個GPU像一個GPU一樣簡單運行。

分布式深度學習優(yōu)化Uber操作


Uber在很多關(guān)鍵領(lǐng)域成功的秘訣是對分布式深度學習技術(shù)的運用。 Uber的無人駕駛是公司未來業(yè)務的核心部分。計算集群在處理計算機視覺和深度感知的三維模型,區(qū)域地圖、天氣以及其他很多涉及導航的因素時,需要大量的數(shù)據(jù)處理和計算。這樣一個程序成功的一個關(guān)鍵指標是多快能通過深度學習集群來訓練完成一個新的計算模型。無人駕駛的研究是Uber未來的重要內(nèi)容,Uber同時也搭建了很多圍繞共享出行服務模型,它面臨著任何其他供應鏈模型相同的問題。在出行預測中,需求隨時間推移可預測,數(shù)據(jù)輸入由在線且可用的司機組成。 Uber會分析歷史數(shù)據(jù),結(jié)合天氣,即將發(fā)生的區(qū)域事件和其他數(shù)據(jù)來提醒Uber司機即將到來的出行需求高峰,以便他們應對。同樣的深度學習系統(tǒng)也被用來標記和防止顧客和司機的欺詐行為。

為速度和規(guī)模而生的分布式深度學習


Uber以相當大的規(guī)模來處理數(shù)據(jù)。Uber用于訓練模型的數(shù)據(jù)集和深度學習模型要比單個主機,單個GPU,單個任務能處理的規(guī)模大的多。通常使用的一個主進程,多個工作線程的單一線程模型無法擴展到能開發(fā)訓練基于大數(shù)據(jù),并能滿足Uber和其他硅谷領(lǐng)先公司緊張上市時間需求的深度學習模型。Uber工程師意識到,一個完全分布式的,多對多的模型會更具價值,因為它可以按照服務組來進行編排,優(yōu)先級定義,資源規(guī)劃并處理。通過在集群中進行數(shù)據(jù)分片以達到縮短網(wǎng)絡延時,進而最小化延時,在數(shù)百個GPU中產(chǎn)生訓練模型等方式提升模型訓練的效率。Uber分布式深度學習平臺核心是基于Apache Mesos, Peloton和Horovod來組合構(gòu)建的。

基于Apache Mesos的深入學習


在結(jié)合了社區(qū)的優(yōu)勢和平臺的特性,評估了許多解決方案之后,Uber最終選擇了Apache Mesos。該平臺被市場廣泛采納,并應用于傳統(tǒng)企業(yè)和互聯(lián)網(wǎng)公司,這引起了Uber的關(guān)注。 Mesos社區(qū)的成熟確保了上游社區(qū)代碼提交的及時性,相關(guān)性和穩(wěn)定性。 在甄選專注于分布式深度學習的調(diào)度平臺過程中,Uber同時考慮了經(jīng)過實際驗證的可擴展性,可靠性和高度定制化,以及諸如原生GPU支持,嵌套容器和Nvidia GPU隔離等特性。Apache Mesos提供了對GPU的原生支持,而對于其他容器框架,Uber可能需要自行提取上游代碼補丁,開發(fā)自己的代碼庫并在生產(chǎn)環(huán)境中自行支持。Apache Mesos還在其容器中嵌入了正確的CUDA版本,這簡化了分布式深度學習框架的部署。 Uber利用Apache Mesos獨特的功能來以容器化的方式運行分布式TensorFlow,將TensorFlow的管理代碼封裝到子容器或是嵌套容器中,使之獨立于開發(fā)人員的工作流。因此,Uber的開發(fā)人員變得更高效,他們可以專注于模型開發(fā)和訓練,而不用管理TensorFlow本身。

Uber Peloton批次調(diào)度


雖然Apache Mesos是一個非常好的任務調(diào)度,資源管理和任務故障恢復的工具,但Uber希望添加自己的功能,以便按照自己的方式來運行分布式深度學習工作流。 特別是,Uber為TensorFlow工作流管理和調(diào)度增加了更細的粒度。 出于這個原因,Uber研發(fā)團隊開發(fā)了Peloton,一個Uber自己的工作流管理器,側(cè)重于定制化的工作流/任務的生命周期管理,任務編排以及任務搶占?,F(xiàn)在,Uber可以以更好的粒度來管理任務,一次工作流的提交可以包含數(shù)百個任務,這數(shù)百個任務被認為是一個批次。批次在Peloton被視為單個原子單位,而其中每個任務都運行在獨立的容器中。

如何利用DC/OS構(gòu)建深度學習平臺

Uber Horovod提升了TensorFlow對多GPU的支持


在Uber解決了核心的資源管理和批次調(diào)度之后,研發(fā)團隊將注意力轉(zhuǎn)向開發(fā)一種對研發(fā)人員友好的多GPU任務調(diào)度的解決方案。 在Uber,他們使用TensorFlow作為深度學習模型,但是發(fā)現(xiàn)對于研發(fā)人員來說多GPU支持很麻煩和并容易出錯。 為了改善這一點,該團隊開發(fā)了Horovod,這是一個基于單一GPU模型作業(yè)而開發(fā)的多GPU工作流提交接口。 因此,他們大大減少了開發(fā)人員出錯的概率和工作完成的時間。 在MesosCon北美地區(qū)展示的一個實例中,有了Horovod,他們的GPU集群效率大約從56%提高到82%,提高了28%。

如何利用DC/OS構(gòu)建深度學習平臺

關(guān)于如何利用DC/OS構(gòu)建深度學習平臺問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI