【導讀】分布式機器學習Distributed Machine Learning是學術界和工業界關注的焦點。最近來自荷蘭的幾位研究人員撰寫了關于分布式機器學習的綜述,共33頁pdf和172篇文獻,概述了分布式機器學習相對于傳統(集中式)機器學習的挑戰和機遇,討論了用于分布式機器學習的技術,并對可用的系統進行了概述,從而全面概述了該領域的最新進展。
?論文地址: //www.zhuanzhi.ai/paper/161029da3ed8b6027a1199c026df7d07 ?
摘要 在過去的十年里,對人工智能的需求顯著增長,而機器學習技術的進步和利用硬件加速的能力推動了這種增長。然而,為了提高預測的質量并使機器學習解決方案在更復雜的應用中可行,需要大量的訓練數據。雖然小的機器學習模型可以用少量的數據進行訓練,但訓練大模型(如神經網絡)的輸入隨著參數的數量呈指數增長。由于處理訓練數據的需求已經超過了計算機器計算能力的增長,因此需要將機器學習的工作負載分布到多臺機器上,并將集中式的學習任務轉換為分布式系統。這些分布式系統提出了新的挑戰,首先是訓練過程的有效并行化和一致模型的創建。本文概述了分布式機器學習相對于傳統(集中式)機器學習的挑戰和機遇,討論了用于分布式機器學習的技術,并對可用的系統進行了概述,從而全面概述了該領域的最新進展。
1. 引言
近年來,新技術的快速發展導致了數據采集的空前增長。機器學習(ML)算法正越來越多地用于分析數據集和構建決策系統,因為問題的復雜性,算法解決方案是不可行的。例如控制自動駕駛汽車[23],識別語音[8],或者預測消費者行為[82]。
在某些情況下,訓練模型的長時間運行會引導解決方案設計者使用分布式系統來增加并行性和I/O帶寬總量,因為復雜應用程序所需的訓練數據很容易達到tb級的[29]。在其他情況下,當數據本身就是分布式的,或者數據太大而不能存儲在一臺機器上時,集中式解決方案甚至都不是一個選項。例如,大型企業對存儲在不同位置的[19]的數據進行事務處理,或者對大到無法移動和集中的天文數據進行事務處理[125]。
為了使這些類型的數據集可作為機器學習問題的訓練數據,必須選擇和實現能夠并行計算、數據分布和故障恢復能力的算法。在這一領域進行了豐富多樣的研究生態系統,我們將在本文中對其進行分類和討論。與之前關于分布式機器學習([120][124])或相關領域的調查([153][87][122][171][144])相比,我們對該問題應用了一個整體的觀點,并從分布式系統的角度討論了最先進的機器學習的實踐方面。
第2節深入討論了機器學習的系統挑戰,以及如何采用高性能計算(HPC)的思想來加速和提高可擴展性。第3節描述了分布式機器學習的參考體系結構,涵蓋了從算法到網絡通信模式的整個堆棧,這些模式可用于在各個節點之間交換狀態。第4節介紹了最廣泛使用的系統和庫的生態系統及其底層設計。最后,第5節討論了分布式機器學習的主要挑戰
2. 機器學習——高性能計算的挑戰?
近年來,機器學習技術在越來越復雜的應用中得到了廣泛應用。雖然出現了各種相互競爭的方法和算法,但所使用的數據表示在結構上驚人地相似。機器學習工作負載中的大多數計算都是關于向量、矩陣或張量的基本轉換——這是線性代數中眾所周知的問題。優化這些操作的需求是高性能計算社區數十年來一個非常活躍的研究領域。因此,一些來自HPC社區的技術和庫(如BLAS[89]或MPI[62])已經被機器學習社區成功地采用并集成到系統中。與此同時,HPC社區已經發現機器學習是一種新興的高價值工作負載,并開始將HPC方法應用于它們。Coates等人,[38]能夠在短短三天內,在他們的商用現貨高性能計算(COTS HPC)系統上訓練出一個10億個參數網絡。You等人[166]在Intel的Knights Landing(一種為高性能計算應用而設計的芯片)上優化了神經網絡的訓練。Kurth等人[84]證明了像提取天氣模式這樣的深度學習問題如何在大型并行高性能計算系統上進行優化和快速擴展。Yan等人[163]利用借鑒于HPC的輕量級概要分析等技術對工作負載需求進行建模,解決了在云計算基礎設施上調度深度神經網絡應用程序的挑戰。Li等人[91]研究了深度神經網絡在加速器上運行時對硬件錯誤的彈性特性,加速器通常部署在主要的高性能計算系統中。
與其他大規模計算挑戰一樣,加速工作負載有兩種基本的、互補的方法:向單個機器添加更多資源(垂直擴展或向上擴展)和向系統添加更多節點(水平擴展或向外擴展)。
3. 一個分布式機器學習的參考架構
圖1 機器學習的概述。在訓練階段,利用訓練數據和調整超參數對ML模型進行優化。然后利用訓練后的模型對輸入系統的新數據進行預測。
圖2 分布式機器學習中的并行性。數據并行性在di上訓練同一個模型的多個實例!模型并行性將單個模型的并行路徑分布到多個節點。
機器學習算法
機器學習算法學習根據數據做出決策或預測。我們根據以下三個特征對當前的ML算法進行了分類:
反饋、在學習過程中給算法的反饋類型
目的、期望的算法最終結果
方法、給出反饋時模型演化的本質
反饋 訓練算法需要反饋,這樣才能逐步提高模型的質量。反饋有幾種不同類型[165]:
包括 監督學習、無監督學習、半監督學習與強化學習
目的 機器學習算法可用于各種各樣的目的,如對圖像進行分類或預測事件的概率。它們通常用于以下任務[85]: 異常檢測、分類、聚類、降維、表示學習、回歸
每一個有效的ML算法都需要一種方法來迫使算法根據新的輸入數據進行改進,從而提高其準確性。通過算法的學習方式,我們識別出了不同的ML方法組: 演化算法、隨機梯度下降、支持向量機、感知器、神經網絡、規則機器學習、主題模型、矩陣分解。
圖3所示:基于分布程度的分布式機器學習拓撲
4. 分布式機器學習生態系統
圖4所示。分布式機器學習生態系統。通用分布式框架和單機ML系統和庫都在向分布式機器學習靠攏。云是ML的一種新的交付模型。
5 結論和當前的挑戰
分布式機器學習是一個蓬勃發展的生態系統,它在體系結構、算法、性能和效率方面都有各種各樣的解決方案。為了使分布式機器學習在第一時間成為可行的,必須克服一些基本的挑戰,例如,建立一種機制,使數據處理并行化,同時將結果組合成一個單一的一致模型。現在有工業級系統,針對日益增長的欲望與機器學習解決更復雜的問題,分布式機器學習越來越普遍和單機解決方案例外,類似于數據處理一般發展在過去的十年。然而,對于分布式機器學習的長期成功來說,仍然存在許多挑戰:性能、容錯、隱私、可移植性等。
【導讀】深度學習與計算系統結合是現在業界發展的趨勢。Logical Clocks的CEO Jim Dowling講述了分布式深度學習最新技術發展,以及其Hosworks開源平臺。
人工智能的需求在過去十年中顯著增長,很大程度是深度學習的進步。這種增長是由深度(機器)學習技術的進步和利用硬件加速的能力推動的。然而,為了提高預測的質量和使機器學習解決方案在更復雜的應用中可行,需要大量的訓練數據。盡管小型機器學習模型可以用適量的數據進行訓練,但用于訓練較大模型(如神經網絡)的輸入隨著參數的數量呈指數增長。由于對處理訓練數據的需求已經超過了計算機器計算能力的增長,因此需要將機器學習工作量分散到多臺機器上,并將集中式系統轉變為分布式系統。這些分布式系統提出了新的挑戰,首先是訓練過程的有效并行化和一致模型的創建。
分布式深度學習有很多好處——使用更多的GPU更快地訓練模型,在許多GPU上并行超參數調優,并行消融研究以幫助理解深度神經網絡的行為和性能。隨著Spark 3.0的出現,GPU開始轉向執行器,使用PySpark的分布式深度學習現在成為可能。然而,PySpark給迭代模型開發帶來了挑戰——從開發機器(筆記本電腦)開始,然后重新編寫它們以運行在基于集群的環境中。
本講座概述了分布式深度學習的技術,并提供了可用系統的概述,從而對該領域當前的最新技術進行了廣泛的概述。
Jim Dowling是 Logical Clocks公司的首席執行官,也是KTH皇家理工學院的副教授。他是開源的Hopsworks平臺的首席架構師,這是一個橫向可擴展的機器學習數據平臺。
摘要: 目標檢測算法應用廣泛,一直是計算機視覺領域備受關注的研究熱點。近年來,隨著深度學習的發展,3D圖像的目標檢測研究取得了巨大的突破。與2D目標檢測相比,3D目標檢測結合了深度信息,能夠提供目標的位置、方向和大小等空間場景信息,在自動駕駛和機器人領域發展迅速。文中首先對基于深度學習的2D目標檢測算法進行概述;其次根據圖像、激光雷達、多傳感器等不同數據采集方式,分析目前具有代表性和開創性的3D目標檢測算法;結合自動駕駛的應用場景,對比分析不同 3D 目標檢測算法的性能、優勢和局限性;最后總結了3D目標檢測的應用意義以及待解決的問題,并對 3D 目標檢測的發展方向和新的挑戰進行了討論和展望。
題目: A Survey on Distributed Machine Learning
簡介: 在過去十年中,對人工智能的需求已顯著增長,并且這種增長得益于機器學習技術的進步以及利用硬件加速的能力,但是,為了提高預測質量并在復雜的應用程序中提供可行的機器學習解決方案,需要大量的訓練數據。盡管小型機器學習模型可以使用一定數量的數據進行訓練,但用于訓練較大模型(例如神經網絡)的輸入與參數數量成指數增長。由于處理訓練數據的需求已經超過了計算機器的計算能力的增長,因此急需在多個機器之間分配機器學習工作量,并將集中式的精力分配到分配的系統上。這些分布式系統提出了新的挑戰,最重要的是訓練過程的科學并行化和相關模型的創建。本文通過概述傳統的(集中的)機器學習方法,探討了分布式機器學習的挑戰和機遇,從而對當前的最新技術進行了廣泛的概述,并對現有的技術進行研究。
題目: A survey of deep learning techniques for autonomous driving
簡介: 本文目的是研究自動駕駛中深度學習技術的最新技術。首先介紹基于AI的自動駕駛架構、CNN和RNN、以及DRL范例。這些方法為駕駛場景感知、路徑規劃、行為決策和運動控制算法奠定基礎。該文研究深度學習方法構建的模塊化“感知-規劃-執行”流水線以及將傳感信息直接映射到轉向命令的端到端系統。此外,設計自動駕駛AI架構遇到的當前挑戰,如安全性、訓練數據源和計算硬件等也進行了討論。該工作有助于深入了解深度學習和自動駕駛AI方法的優越性和局限性,并協助系統的設計選擇。
AutoML: A Survey of the State-of-the-Art
深度學習已經滲透到我們生活的方方面面,給我們帶來了極大的便利。然而,針對某一特定任務構建高質量的深度學習系統的過程不僅耗時,而且需要大量的資源和人力,阻礙了深度學習在產業界和學術界的發展。為了緩解這一問題,越來越多的研究項目關注于自動化機器學習(AutoML)。在本文中,我們提供了一個全面的和最新的研究,在最先進的汽車。首先,根據機器學習的特點,詳細介紹了自動化技術。在此基礎上,總結了神經結構搜索(NAS)的研究現狀,這是目前自動化領域研究的熱點之一。我們還將NAS算法生成的模型與人工設計的模型進行了比較。最后,提出了有待進一步研究的幾個問題。
近年來,移動設備得到了越來越大的發展,計算能力越來越強,存儲空間越來越大。一些計算密集型的機器學習和深度學習任務現在可以在移動設備上運行。為了充分利用移動設備上的資源,保護用戶的隱私,提出了移動分布式機器學習的思想。它使用本地硬件資源和本地數據來解決移動設備上的機器學習子問題,只上傳計算結果而不是原始數據來幫助全局模型的優化。該體系結構不僅可以減輕服務器的計算和存儲負擔,而且可以保護用戶的敏感信息。另一個好處是帶寬的減少,因為各種各樣的本地數據現在可以參與培訓過程,而不需要上傳到服務器。本文對移動分布式機器學習的研究現狀進行了綜述。我們調查了一些廣泛使用的移動分布式機器學習方法。我們還就這一領域的挑戰和未來方向進行了深入的討論。我們相信這項調查能夠清晰地展示移動分布式機器學習的概況,并為移動分布式機器學習在實際應用中的應用提供指導。