国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

利用Mesosphere DC/OS在任意基礎設施之上實現TensorFlow分布

hightopo / 3355人閱讀

摘要:與其它可用于的軟件包一樣,新的軟件包亦可利用來加速各類機器學習與深度學習應用。數據科學家們必須首先構建起機器學習模型,確保其適合分布式計算特性,而后將其映射至深層神經網絡當中,最終編寫代碼以為這套新模型提供支持。

今天,我們興奮地宣布在Mesosphere DC/OS服務目錄當中發布TensorFlow的beta測試版本。只需要一條命令,您現在即可將分布式TensorFlow部署在任意裸機、虛擬或者公有云基礎設施當中。與其它可用于DC/OS的軟件包一樣,新的TensorFlow軟件包亦可利用GPU來加速各類機器學習與深度學習應用。

01.gif

在由深度學習技術掀起的新一輪軍備競賽當中,專注于嘗試學習的數據科學家已經成為人才市場上的新寵。而有效的數據科學基礎設施將幫助您吸引更多頂尖數據科學家,并獲得由他們傾力構建起的工作成果,最終為您的企業帶來遠超競爭對手的戰略優勢。向DC/OS當中引入分布式TensorFlow的作法,也進一步鞏固了Mesosphere長久以來作出的支持開發人員、運營人員以及數據科學家群體的承諾。

在今天的文章當中,我們將對TensorFlow作出簡要介紹,探討分布式設置場景下的TensorFlow運行挑戰,同時聊聊我們的全新DC/OS TensorFlow軟件包如何解決這些挑戰。在DC/OS之上運行分布式TensorFlow——盡管目前尚處于beta測試階段,已經足以為如今的市場上提供一套簡單且易行的分布式TensorFlow運行體驗。

TensorFlow快速介紹

TensorFlow是一套極具人氣的開源庫,由谷歌Brain團隊所打造,專門面向機器學習類場景。事實上,TensorFlow為2015年GitHub上的頭號fork項目,且在之后的兩年當中一直雄踞fork活躍度榜前十位名次。TensorFlow的高人氣主要源自其利用一套基于數據流圖形的計算模型實現深層神經網絡開發與訓練簡化的強大能力。

02.png

在以上示例當中,輸入層負責尋找局部對比模式,隱藏層1負責利用這些對比結果發現個人面部特征,隱藏層2則基于這些面部特征進行整體面部識別。資料來源:https://www.edureka.co/blog/what-is-deep-learning。

一般來講,深層神經網絡的生命周期需要經歷兩個不同的階段:訓練與推理。在我們的示例當中,訓練階段需要為神經網絡提供成千上萬圖像,幫助其訓練面部識別能力。這一訓練過程可能需要數個小時、數天甚至數周時間才能完成,具體取決于數據集規模、模型復雜度以及硬件性能等各類因素。一旦訓練工作完成,該神經網絡即可用于“瞬時”識別圖像中的面部要素。

下圖所示為訓練與推理過程的細節判斷:

03.png

雖然TensorFlow適用于上述分類網絡的設計與實現,但其強大的能力并不僅限于此。TensorFlow還能夠在對象追蹤(https://github.com/akosiorek/hart)、文本到語音生成(https://github.com/ibab/tensorflow-wavenet)甚至自動駕駛車輛(https://github.com/udacity/self-driving-car/)領域有所建樹。

TensorFlow通過提供可直接集成至代碼當中的基礎機器學習原語以簡化深層神經網絡的開發工作。TensorFlow以庫的形式提供此類原語,并將其綁定至多種高人氣語言(例如C/C++、Go、Java以及Python等)當中。此外,TensorFlow還能夠自動計算出運行代碼的較佳處理單元(CPU、GPU或者TPU等)。

04.png

在Python當中開發TensorFlow應用程序,且此應用將CPU與GPU相結合以完成運行。

感興趣的朋友可以點擊https://www.tensorflow.org/get_started/mnist/mechanics參閱TensorFlow 101教程,從而了解更多與利用TensorFlow構建您首套神經網絡相關的細節信息。

單節點對分布式TensorFlow

深度神經網絡的設計與實現(即使是在TensorFlow的幫助之下)并非小事。數據科學家們必須首先構建起機器學習模型,確保其適合分布式計算特性,而后將其映射至深層神經網絡當中,最終編寫代碼以為這套新模型提供支持。另外,他們還必須決定是否有必要以分布式方式定義并實現自己的深層神經網絡,抑或直接將其設計為可在單一工作站之上運行。

為單節點計算設計深層神經網絡在難度上往往遠低于分布式計算場景,但前者在訓練耗時方面則處于劣勢。在另一方面,為分布式計算環境設計深層神經網絡更加復雜,但卻能夠將工作負載分發至多臺設備之上,從而將訓練時長由原本的數個月縮短至數天甚至是數小時。

部署分布式TensorFlow的挑戰所在

各類組織機構在部署分布式TensorFlow應用程序時,可通過在DC/OS上運行該服務的方式解決眾多常見的挑戰。

在TensorFlow當中運行分布式計算時,要求大家理解不同組件之間的復雜交互方式;其中Parameter Server負責將值交付至Worker處,而后者則負責執行具體計算;此外,Master則協調并同步以上一切分布式處理工作。

開發人員與數據科學家們承擔著設計模型并編寫適合的分布式TensorFlow應用程序,從而達成最終目標的艱巨任務——但這還僅僅只是開始。在實際集群部署工作當中,分布式TensorFlow代碼的運行與維護如果缺少DC/OS的幫助,則將成為一項勞動密集型任務。

05.png

TensorFlow提供的原語有助于在大型設備集群之上進行工作負載分發。

開發人員的工作是為每套部署體系定義一個惟一的ClusterSpec,這些部署體系必須為不同的工作節點與參數服務器啟動IP地址與端口列表。此后,開發人員必須手動配置各設備以確保其與ClusterSpec當中的定義內容保持一致;最終,代碼才能被部署到這些設備上并開始運行。即使是在基于云的動態環境當中,ClusterSpec仍然必須在基礎設施發生變化時進行手動更新。

然而,傳統的TensorFlow實現方案會交ClusterSpec嵌入至深度學習模型代碼當中。如此一來,管理人員必須熟知ClusterSpec的編輯周期并針對每個工作節點進行重啟以逐一進行修改測試,方可實現操作參數的配置與微調。DC/OS則能夠自動實現ClusterSpec更新,幫助數據科學團隊擺脫這種枯燥且極易出錯的負擔。

06.png

除此之外,分布式TensorFlow一旦發生故障,恢復工作也相當令人頭痛。如果主節點或者任意參數服務器乃至工作節點因某種原因而無法工作,那么除了人為介入,再無其它辦法令其恢復正常。DC/OS則能夠自動完成這項任務,意味著管理人員不必反復對每臺設備進行運行狀態檢查,從而確保分布式TensorFlow部署體系的正常工作。

在DC/OS上運行分布式TensorFlow的好處

DC/OS上發布的全新TensorFlow beta測試版本能夠解決以上所有難題。具體來講,其有助于:

簡化分布式TensorFlow的部署:將分布式TensorFlow集群中的全部組件部署在任意基礎設施之上——包括裸機、虛擬或者公有云——將變得異常簡單,具體操作類似于將JSON文件傳遞至一條CLI命令。參數的更新與調整亦可輕松實現,意味著微調與優化不再令人困擾。

在不同團隊間共享基礎設施:DC/OS允許多個團隊共享同一基礎設施并啟動多項不同TensorFlow任務,同時始終保持資源隔離。一旦TensorFlow任務完成,相關容量即被釋放并可供其它團隊使用。

在同一集群之上部署不同TensorFlow版本:與眾多其它DC/OS服務一樣,您同樣可以在同一集群之上輕松部署同一服務的多個實例,并保證其采用不同的版本。這意味著當TensorFlow發布新版本時,您的一支團隊可以使用其功能與特性,但又不必對其它團隊的代碼作出變更。

動態分配GPU資源:GPU能夠顯著提升深度學習模型的執行速度,特別是在訓練階段。然而,GPU是一種寶貴的資源,因為必須得到有效利用。由于DC/OS能夠自動檢測集群上的所有GPU,所以其將實現基于GPU的資源調度,允許TensorFlow基于各項任務請求全部或者部分GPU資源(類似于請求CPU、內存以及磁盤等其它常規資源)。一旦任務完成,GPU資源將被釋放并可供其它任務使用。

專注于模型開發,而非部署:DC/OS 將模型開發從集群配置工作當中剝離出來,從而消除了以手動方式將ClusterSpec引入模型代碼的難題。相反,用戶在部署TensorFlow軟件包時只需要指定其希望模型在運行中使用的各工作節點以及參數服務器屬性,而后軟件包自身會在部署時為此生成一個獨特的ClusterSpec。從實現層面來講,該軟件包會找到一組作為各工作節點/參數服務器運行基礎的設備,使用合適的值填充CLusterSpec,啟動各參數服務器與工作節點任務,并傳遞其生成的ClusterSpec。開發人員只需要編寫出需要填充的代碼,該軟件包即可自行完成剩余任務。

下圖所示為一條JSON片段,其可用于將來自DC/OS CLI的TensorFlow軟件包部署至一組CPU與GPU工作節點當中。

07.png

此命令將使用以上配置啟動TensorFlow:

dcos package install beta-tensorflow --options=

該軟件包亦可通過在UI中指定參數的方式立足DC/OS服務目錄進行部署。

自動完成故障恢復:TensorFlow軟件包利用DC/OS SDK編寫而成,并使用了自動重啟等內置彈性功能,因此能夠順利且高效地實現任務自我修復。

在運行時中安全部署任務配置參數:DC/OS秘密服務在運行時會為每個TensorFlow實例動態部署憑證與秘密配置選項。操作人員可以輕松添加憑證以訪問秘密信息或者特定配置URL,從而確保其不會暴露在模型代碼當中。

原文鏈接:https://mesosphere.com/blog/tensorflow-gpu-support-deep-learning/

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/3522.html

相關文章

  • 利用Mesosphere DC/OS在任基礎設施之上實現TensorFlow分布

    摘要:與其它可用于的軟件包一樣,新的軟件包亦可利用來加速各類機器學習與深度學習應用。數據科學家們必須首先構建起機器學習模型,確保其適合分布式計算特性,而后將其映射至深層神經網絡當中,最終編寫代碼以為這套新模型提供支持。 今天,我們興奮地宣布在Mesosphere DC/OS服務目錄當中發布TensorFlow的beta測試版本。只需要一條命令,您現在即可將分布式TensorFlow部署在任意裸機、...

    Integ 評論0 收藏0
  • 新視界 | 也許這才是大規模分發容器鏡像的正確姿勢

    摘要:負責承載操作系統的分布式文件系統只需要使用必要的文件,而且事實上只需要下載并在本地緩存這部分必要數據。而第二項原則在于元數據即與文件存在相關的信息,而非文件內容被優先對待。這套鏡像隨后可進行任意分發,并被用于啟動該項任務。 隨著Docker技術的日漸火熱,一些容器相關的問題也浮出水面。本文就容器數量激增后造成的分發效率低下問題進行了探討,并提出了一種新的解決方法。發現問題,解決問題,正...

    hufeng 評論0 收藏0
  • Docker 與 Mesos 的前生今世 | 數人云CTO肖德時@KVM分享實錄

    摘要:今天小數給大家帶來一篇技術正能量滿滿的分享來自社區線上群分享的實錄,分享嘉賓是數人云肖德時。第二級調度由被稱作的組件組成。它們是最小的部署單元,由統一創建調度管理。 今天小數給大家帶來一篇技術正能量滿滿的分享——來自KVM社區線上群分享的實錄,分享嘉賓是數人云CTO肖德時。 嘉賓介紹: 肖德時,數人云CTO 十五年計算機行業從業經驗,曾為紅帽 Engineering Service ...

    0x584a 評論0 收藏0
  • 飛馳在Mesos的渦輪引擎上

    摘要:方案二和也運行在中。新增刪除節點變更配置均需要手工介入。公司已有的大多都是容器形式部署在各個服務器上。目前我們在每個節點上部署了傳統的。在接下來的階段團隊也會對此做進一步的探索。 回想起第一次接觸Mesos, 當時有很多困惑: 這到底是用來做啥的?跟YARN比有什么優勢?有哪些大公司在使用么?。 然而現在技術日新月異地發展, Mesos這個生態圈也開始被越來越多的團隊熟悉關注, 像k8...

    xorpay 評論0 收藏0
  • Docker和rkt快別爭了,k8s才是容器生態的中心

    摘要:在這一假設之下,是一個新奇的觀點編排才是容器生態的中心,而引擎就我們所知,只是一個開發工具。是特有的概念,但容器生態系統必須采用這個概念。 showImg(https://segmentfault.com/img/remote/1460000007157260?w=640&h=480); 開源項目 CRI-O ,其前身為 OCID ,官方簡介是 OCI-based implementa...

    NSFish 評論0 收藏0

發表評論

0條評論

hightopo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<