伯克利論文提出實時機器學習:可解決實時性和靈活性等七大要求
近日,加州大學伯克利分校電氣工程與計算機系和統計學系教授、知名的計算機科學和統計學學者 Michael I. Jordan 所在的一個研究團隊發布了一篇題為《Real-Time Machine Learning: The Missing Pieces》的論文,該論文給出了實時機器學習應用應該滿足的七大要求,同時還提出了一種能夠滿足這些要求的解決方案。機器之心對該論文進行摘要編譯介紹。
摘要
機器學習正得到越來越多的應用——不只是使用靜態模型來提供預測,而且也被用作涉及動態的實時決策的反饋迴路的緊密組成部分。這些應用有一些新要求,其中每一項單獨實現起來的難度都不大,但這些要求的組合卻給已有的分布式執行框架(distributed execution frameworks)帶來了很大的挑戰,這些要求包括:毫秒延遲的高吞吐量的計算、任意任務圖的自適應構造和異構核(heterogeneous kernel)在不同資源集上的執行。我們斷言這種機器學習應用需要一種新的分布式執行框架,並且使用一種概念驗證的架構提出了一種候選方法,其在當前代表性應用所使用的最先進的執行架構上實現了 63 倍的性能提升。
1 引言
機器學習(ML)應用的整體面貌正在發生著巨大的變化。儘管機器學習主要側重於在靜態的模型(圖 1a)上進行訓練和提供預測,但現在也有強大的推動力在推動機器學習模型在反饋迴路中的緊密整合。實際上,機器學習應用已經在監督學習範式(其中靜態模型是在離線的數據上進行訓練的)上實現了擴展,並出現了更廣泛的範式,比如強化學習(其中應用可能在真實環境中執行,可以融合來自多個輸入流的感測數據並做出反應,並執行連續的微模擬,最後通過採取能影響被感知環境的動作來完成這個迴路)(圖 1b)。
圖 1:(a)傳統的機器學習流程(離線訓練)。(b)強化學習流程示例:該系統通過與環境進行連續交互來學習策略,即在觀察和動作之間的映射。
因為通過與真實世界進行交互來學習可能很不安全、不實用或會受到帶寬的限制,所以許多強化學習系統嚴重依賴於模擬物理環境或虛擬環境。在訓練(比如,學習一個神經網路策略)和部署過程中都可能會用到模擬。在後者的案例中,隨著我們與真實世界的交互,我們可能會持續地更新該模擬環境,並執行許多模擬來找到下一個動作(比如,使用蒙特卡洛樹搜索這樣的在線規劃演算法)。這要求能比實時更快地執行模擬。
這樣的新興應用要求新水平的編程靈活性和性能。要在不丟失現代分布式執行框架的優點(比如,應用層面的容錯)的同時滿足這些需求是一個顯著的難題。我們自己在 Spark、MPI 和 TensorFlow 中實現機器學習和強化學習的經歷也凸顯了其中一些難題,並給出了支持這些應用的三組要求。儘管這些要求對機器學習和強化學習來說至關重要,但我們相信它們在更廣泛的層面也是有用的。
性能要求。新興的機器學習應用有嚴格的延遲要求的吞吐量要求。
R1:低延遲。新興機器學習應用的實時、反應性和交互性本質要求毫秒級的端到端延遲的細粒度任務執行[8]。
R2:高吞吐量。在訓練[16]和部署中的推理[19]過程所需的微模擬的量必需每秒數百萬任務量級的高吞吐量任務執行支持。
執行模型要求。儘管許多已有的並行執行系統[9,21]已經在識別和優化常見計算模式上取得了很大的進步,但新興的機器學習應用還需要遠遠更大的靈活性。
R3:動態任務創建。像蒙特卡洛樹搜索這樣的強化學習原語可能會在執行過程中基於結果或其它任務的執行過程而生成新任務。
R4:異構任務。深度學習原語和強化學習模擬可以產生非常不同執行時間和資源要求的任務。為任務和資源的異構性提供的特定的系統支持是強化學習應用的關鍵。
R5:任意數據流依賴(dataflow dependencies)。類似地,深度學習原語和強化學習模擬可以會產生任意的而且往往是細粒度的任務依賴(不限於整體同步並行)。
實用性要求
R6:透明的容錯。容錯一直都是許多部署場景的一個關鍵要求,而要在滿足高吞吐量和非決定性任務要求的同時滿足這個要求是很有挑戰性的。
R7:調試和分析。調試和性能分析是開發任何分布式應用中最耗時的部分。對於機器學習和強化學習應用而言尤其如此,這些應用往往是計算密集型的。
現有的框架往往難以滿足其中的一個或多個要求(第 5 節)。我們提出了一種靈活的分布式編程模型(第 3.1 節),可以滿足 R3-R5。此外,我們還提出了一種支持這種編程模型的系統架構,其滿足我們的性能要求(R1-R2)且無需放棄關鍵的實用性要求(R6-R7)。我們提出的系統架構(第 3.2 節)構建於兩個主要的組件之上:一個邏輯中心化的控制平面(logically-centralized control plane)和一個混合調度器(hybrid scheduler)。前者支持無狀態分布式組件和沿襲重放(lineage replay)。後者能以一種自底向上的方式分配資源,在節點層面和集群層面上將本地產生的工作分開。其結果是在微基準上的毫秒級的性能以及在代表性的整體同步並行(BSP)上的強化學習應用上的 63 倍的端到端的加速。
2 激勵示例
為了激勵需求 R1-R7,請假想一個物理機器人試圖在一個不熟悉的真實世界環境中實現一個目標的應用。多種感測器可能會融合視頻和 LIDAR 輸入來構建該機器人的環境的多個候選模型(圖 2a)。然後使用一個循環神經網路(RNN)策略(圖 2c)和蒙特卡洛樹搜索(MCTS)和其它規劃演算法(圖 2b),可以得到動作(action),以實現對該機器人的實時控制。通過在最近的環境模型中使用一個物理模擬器,MCTS 會並行嘗試數百萬個動作序列,並自適應地探索其中最有前途的。
圖 2:一個實時機器學習應用的組件示例。(a) 對流感測數據的在線處理,用於建模環境,(b) 蒙特卡洛樹搜索的動態圖構建(這裡的任務中模擬探索動作序列),(c)在循環神經網路中的異構任務。不同的陰影程度表示不同類型的任務,而其任務長度則代表了它們的持續時間。
3 提出的解決方案
在這一節,我們概述了一種用於分布式執行框架和一種滿足要求 R1-R7 的編程模型的提案,可用於實時機器學習應用。
圖 3:提出的架構,帶有一個混合調度(3.2.2 節)和中心化的控制平面(3.2.1節)
※新手教程:在新應用中實踐深度學習的最佳建議
※英偉達Titan Xp之後,如何為深度學習挑選合適的GPU?
※2017年雲商業智能市場分析:雲計算比大數據更重要
※深度學習和量子物理的共同點,或可用物理學打開深度學習黑箱
※解讀|合成梯度,不需反向傳播的深度學習
TAG:機器之心 |
※層流冷卻存在的問題及解決實踐
※製造業需要agv這樣能夠解決實際問題的產品
※讓機器學會「讀心術」,情感計算如何解決實際場景需求? | 硬創公開課
※創造性解決之道:為毛擅長解題的我們,解決實際問題時僅擅長抄襲?
※美國地區蟒蛇成災,繁殖能力太強政府無力解決實在無奈
※股權問題解決實例分享
※如何解決實木傢具開裂
※情感計算如何解決實際場景問題? | 硬創公開課預告
※全面分析騎士與綠軍東決實力對比 綠軍最多贏一場?
※星月菩提盤花了怎麼辦?這樣解決實在太完美了!
※森林之王獅虎對決實拍 獅子老虎誰最強?
※看過來,幼師工作中常見的10個怎麼辦,幫你解決實際問題!