如何使用MLOps將機器學習自動推向生產環境? - kdnuggets

banq發表於2021-01-22

由於MLOps是一個新生領域,因此可能很難掌握其含義和要求。實施MLOps的最大挑戰之一是在ML管道上疊加DevOps實踐的難度。這主要是由於根本差異:DevOps處理的是程式碼,而ML是既是程式碼又有資料。當涉及到資料時,不可預測性始終是一個主要問題。
由於程式碼和資料是獨立且並行發展的,因此斷開連線會導致ML生產模型變慢且經常不一致。此外,由於缺乏難以跟蹤和版本化的海量資料的可再現性,可能無法應用簡單的CI / CD方法。因此,對於生產中的機器學習,採用CI / CD / CT(連續培訓)方法至關重要。
 
資料團隊只需將MLOps視為獨立於各個資料例項的程式碼工件即可。因此,將其分為兩個不同的管道(訓練管道和服務管道)可以幫助確保批處理檔案的安全執行環境以及有效的測試周期。
培訓流程涉及整個模型準備過程,該過程從收集和準備資料開始。一旦收集,驗證和準備了資料,資料科學家就需要實施特徵工程以分配用於培訓和生產的資料值。同時,必須選擇一種演算法,該演算法將定義模型如何識別資料模式。完成此操作後,該模型可以根據歷史離線資料開始訓練。然後,可以在透過模型登錄檔將其部署到生產管道之前,對經過訓練的模型進行評估和驗證。

如何使用MLOps將機器學習自動推向生產環境? - kdnuggets完整模型準備過程的示意圖
 
生產流程涉及使用部署的模型基於線上或現實資料集生成預測。這就是CI / CD / CT方法透過管道自動化進入完整週期的地方。資料是從端點收集的,幷包含來自要素儲存的其他資料。接下來是資料準備,模型訓練,評估,驗證以及最終生成預測的自動化過程。加強此自動化過程的一些元件包括後設資料管理,管道觸發器,功能儲存以及獨立的資料和模型版本控制。
一旦將模型部署到管道中,然後就可以將所得資料用於在訓練管道中連續訓練模型。這樣,它關閉了資料/程式碼迴圈並簡化了部署過程。
 

建立合適的團隊
 理想情況下,MLOps團隊應包括來自運營,IT和資料科學部門的成員。具有在機器學習中實現運維經驗的企業領導者應領導該團隊。
就協調團隊而言,MLOps團隊可以與IT下的企業體系結構團隊保持一致,也可以與中央分析或資料科學團隊整合。根據需求,MLOps團隊可以與特定業務部門以及資料科學或IT團隊一起管理複雜的模型。
MLOps團隊負責人需要明確定義任務的角色,例如資料準備,訓練ML模型,部署模型等。
 

MLOps的優勢和前進的方向
利用MLOps的最大好處是快速,創新的ML生命週期管理。MLOps解決方案使資料團隊可以更輕鬆地與IT工程師進行協作,並提高了模型開發的速度。此外,監視,驗證和管理用於機器學習模型的系統的規定可加快部署過程。
除了透過快速的自動化工作流節省時間外,MLOps還支援資源的最佳化和可重用性。透過利用MLOps,IT團隊可以建立一個自學習模型,該模型可以長期容納資料漂移。
MLOps的快速崛起預示著未來,我們將看到它發展成為競爭必需品。隨著ML從研究到應用的發展,它將需要與現代商業模型的敏捷性保持一致,並適應不斷變化的環境。儘管這仍然是未來的某種方式,但企業將需要立即採取行動,抓住時機。
 

相關文章