機器學習工作流編排工具Netflix
大小:0.3 MB 人氣: 2017-10-10 需要積分:1
Meson是一個通用的工作流編排和調度框架,用于管理跨異構系統執行工作負載的ML管道。它管理著一些ML管道的生命周期,這些ML管道用來構建、訓練并驗證驅動視頻推薦的個性化算法。
Meson的主要目標之一是提高算法實驗的速度,可靠性和可重復性,同時允許工程師使用他們選擇的技術來處理每個步驟。
增強機器學習管道
在Netflix內部,Spark、MLlib、Python、R以及Docker在當前一代的機器學習管道中起到了重要作用。
我們來看看驅動視頻推薦的典型機器學習管道,以及在Meson中它是如何表示和處理的。
(點擊放大圖片)
工作流包括:
選擇一組用戶——使用Hive查詢來選擇用于分析的隊列
清洗/準備數據——一個Python腳本來創建兩組用戶,用于并行路徑
在并行路徑中,一條使用Spark構建并分析全局模型,使用HDFS作為臨時存儲。
另一條使用R來構建具體地區(國家)模型。地區的數量根據用于分析所選擇的隊列動態變化。圖中的構建地區模型和驗證地區模型步驟對于每個地區(國家)重復執行,在運行時擴展,使用不同的參數集執行,如下所示。
驗證——當兩條路徑收斂時,使用Scala代碼對模型的穩定性進行測試。在這個過程中,如果模型不穩定,則回到上面的步驟,重復整個過程。
發布新模型——使用Docker容器發布這個新模型,其他生產系統來獲取這個模型。
(點擊放大圖片)
上圖顯示了上面描述的工作流運行過程。
用戶集選擇,數據清洗的完成由綠色步驟表示。
并行路徑正在處理:
Spark分支完成了模型的生成和驗證。for-each分支分出了4個不同的地區模型,它們都在處理(黃色)。
用于模型選擇的Scala步驟是激活的(藍色)。這表明一個或多個輸入分支已經完成,但它還不會安排執行,因為還有些輸入分支(a)還沒有開始或(b)正在處理。
運行時上下文和參數隨著工作流傳遞,用于業務決策。
揭開面紗
讓我們深入幕后場景來了解Meson是如何在不同系統之間統籌,以及生態系統中不同組件之間的相互影響。工作流有著不同的資源需求和總運行時間期望。我們依靠Apache Mesos這樣的資源管理系統來滿足這些需求。Mesos提供了任務隔離,以及CPU、內存、存儲和其他計算資源的優秀抽象。Meson利用這些功能來實現任務的彈性和容錯性。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%