機器學習工作流是什麼意思?
03-11
在深度學習和機器學習工作流中,原始數據收集、數據處理、特徵工程、樣本生成、模型評估等流程佔據了大量的時間和精力。為了能夠高效地端到端進行深度學習和機器學習的開發,引入了機器學習工作流框架MLFlow。MLFlow的設計就是將機器學習流的開發簡單化、傻瓜化,讓業務開發人員從紛繁複雜的數據處理、特徵工程、模型工程中解脫出來,將寶貴的時間和精力投入到業務場景的開發和優化當中,徹底解放業務人員的生產力,大幅提升開發效率。
MLFlow源自於機器學習的業務需求。在機器學習工作流中,多種數據流經過實時數據處理,存儲至特徵工程並生成離線的原始樣本。在離線系統,對原始樣本進行各式各樣的數據處理、特徵處理、特徵映射,從而生成訓練樣本;業務人員根據實際業務場景(排序、推薦),選擇不同的演算法模型,進行模型訓練、預測、測試和評估;待模型迭代滿足要求後,通過自動部署將模型文件和映射規則部署到線上。線上系統根據模型文件和映射規則,從特徵工程中拉取相關特徵,根據映射規則進行預處理,生成可用於預測的樣本格式,進行線上實時預測,最終將預測結果輸出,供線上服務調用。
為了應對多樣的計算環境,MLFlow採用雙層的DAG任務流設計,外層的DAG由不同的Node構成,每一個Node是一個內層的DAG,具備獨立的執行環境,如,Spark、TensorFlow、Hive、Storm、Flink等計算引擎。外層DAG設計是利用各個計算引擎的特長,同時解決各個計算引擎間的依賴關係和數據傳輸問題。內層的DAG,利用引擎的特性與優化機制,實現不同的抽象作為DAG中計算模塊之間數據交互的載體。在使用方面,業務人員根據事先約定好的規範和格式,將雙層DAG的計算邏輯定義在XML配置文件中。依據用戶在XML指定的依賴關係和處理模塊,MLFlow自動生成DAG任務流圖,並在運行時階段調用處理模塊的實現來完成用戶指定的任務流。通過在XML配置文件中將所需計算模塊按照依賴關係堆疊,即可以搭積木的方式完成配置化、模塊化的流水線作業開發。
推薦閱讀:
推薦閱讀:
※《無人值守商店運營指引》正式發布,看看首份監管文件都說了些啥
※AlphaGo背後的秘密!解讀谷歌全面重磅開放的雲TPU
※自動化焦慮症---科技與職場的未來
※HealthIT智能+醫工技術創新合作計劃
※《好奇心漫遊》S01E02:走進微軟,EQ類機器人只是人類無用的自嗨?