ML:MLOps系列讲解之系列知识解读全貌
ML:MLOps系列講解之系列知識解讀全貌
導讀:您將了解如何使用機器學習,了解需要管理的各種變更場景,以及基于ml的軟件開發的迭代性質。最后,我們提供了MLOps的定義,并展示了MLOps的發展。
目錄
ML:MLOps系列講解之系列知識解讀全貌
MLOps的簡介
MLOps的意義
MLOps = ML+Dev+Ops
MLOps三大步驟
MLOps帶給業務和數據科學優勢
MLOps解決的主要挑戰
MLOps全貌官網
1、MLOps的定義與發展—你為什么可能想使用機器學習
1.1、Deployment GapML部署的差距
1.2、Scenarios of Change That Need to be Managed需要管理的變化的場景
1.3、MLOps?Definition定義
1.4、MLOps?Evolution進化
1.5、The Evolution of?MLOps
2、設計機器學習驅動的(ML-powered)軟件—我們想要解決的業務問題是什么?
2.1、Work Flow Decomposition工作流程分解
2.2、AI Canvas
2.3、機器學習Canvas
3、端到端 ML工作流生命周期
3.1、Data Engineering
3.2、Model Engineering
3.3、Model Deployment
4、基于ML的軟件的三個層次
4.1、Data: Data Engineering Pipelines
4.2、Model: Machine Learning Pipelines
4.3、Code: Deployment Pipelines
5、MLOps原則
5.1、Iterative-Incremental Process in MLOps MLOps中的迭代增量過程
5.2、Automation自動化
5.3、Continuous X持續部署
5.4、Versioning版本控制
5.5、Experiments Tracking實驗跟蹤
5.6、Testing測試
5.7、Monitoring 監控
5.8、“ML Test Score” System ?“機器學習成績”系統
5.9、Reproducibility可再現性
5.10、Loosely Coupled Architecture (Modularity) 松散耦合架構(模塊化)
5.11、ML-based Software Delivery Metrics (4 metrics from “Accelerate”) 基于ML的軟件交付指標(來自“加速”的4個指標)
5.12、Summary of MLOps Principles and Best Practices
6、CRISP-ML (Q)ML生命周期過程—了解機器學習開發的標準過程模型。
6.1、Business and Data Understanding業務和數據理解
6.2、Data Engineering (Data Preparation)數據工程(數據準備)
6.3、Machine Learning Model Engineering機器學習模型工程
6.4、Evaluating Machine Learning Models評估機器學習模型
6.5、Deployment部署
6.6、Monitoring and Maintenance監控和維護
6.7、Conclusion
6.8、Acknowledgements
7、MLOps Stack Canvas堆棧畫布
7.1、MLOps Stack Canvas
7.2、Documenting MLOps Architecture??記錄MLOps架構
7.3、MLOps Maturity Level??MLOps 成熟度級別
7.4、Conclusion? 結論
7.5、Acknowledgements??
8、ML模型治理
9、MLOps的State(工具和框架)
ML:MLOps系列講解之系列知識解讀全貌
MLOps的簡介
??? ? ? ? 在機器學習解決方案的開發、測試、部署和支持過程中,多學科專家在互動中會遇到許多組織難題和技術障礙,這不僅延長了產品創建的時間,還降低了產品帶給該項業務的實際價值。
? ? ? ? 為了消除這些障礙,MLOps這一概念應運而生。MLOps是一門工程學科,旨在統一 ML 系統開發(dev)和 ML 系統部署(ops),以標準化過程生產高性能模型的持續交付。行業內,大多數的ML 系統的生命周期如下所示:
- 業務開發或產品團隊:用 KPI 定義業務目標
- 數據工程:數據采集和準備。
- 數據科學:構建 ML 解決方案和開發模型。
- IT 或 DevOps:完成部署設置,與科學家一起進行監控。
? ? ? ? 2018年左右,在谷歌舉辦的一場演講之后,業內專業人士首次公開談及工業運行(生產)中機器學習生命周期集成化管理的必要性。
? ? ? ? 自2019年起,MLOps連續兩年進入Gartner數據科學與機器學習技術成熟度曲線,并被視為AI工程化的重要內容。MLOps將與AI工程化的DevOps、DataOps協調聯通、互相賦能。
推薦文章:Paper:《Hidden Technical Debt in Machine Learning Systems》翻譯與解讀
MLOps的意義
? ? ? ?舉個簡單的例子,幾年前,我們對于機器學習的印象主要是拿到一堆excel/csv數據,通過python編程,嘗試做一些模型實驗,最終會產出一個預測結果。但對于這個預測結果如何使用,對業務產生了什么影響,大家可能都不是很有概念。這就很容易導致機器學習項目一直停留在實驗室階段,一個接一個做POC測試(Proof of Concept),但都沒法成功“落地”。
? ? ? ?MLOps的主要作用就是連接模型構建團隊和業務,運維團隊,建立起一個標準化的模型開發,部署與運維流程,使得企業組織能更好的利用機器學習的能力來促進業務增長。
- 縮短模型開發部署的迭代周期:更快地試驗和開發模型、更快地將模型部署到生產環境。
- 即解決各類efficiency問題。從Algorithmia的2020年的報告中可以看到,很大一部分公司需要31-90天上線一個模型,其中有18%的公司需要90天以上來上線一個模型。且在中小型公司中,算法工程師花在模型部署方面的時間比例也明顯偏多。MLOps希望通過更標準化自動化的流程與基礎設施支持,來提升模型交付的整體效率。
- 讓專業的人更專注:好的MLOps實踐,可以讓算法工程師更專注于擅長的模型構建過程,減少對模型部署運維等方面的“感知”。
- 讓模型迭代流程更清晰:好的MLOps實踐,可以讓模型開發迭代的方向更加清晰明確,切實為業務產生價值。
- 讓各角色人員高效協同:MLOps還希望能提供一個企業內各個角色無縫協作的平臺,讓業務,數據,算法,運維等角色能更高效率的進行協作,提升業務價值產出,即transparency的需求。
? ? ? ?就像今日的軟件工程師很少需要關注運行環境,測試集成,發布流程等細節,但卻做到了一天數次發布的敏捷高效,未來算法工程師應該也能更專注于數據insights獲取方面,讓模型發布成為幾乎無感又快速的自動化流程。
MLOps = ML+Dev+Ops
? ? ? ? 數字化將DataOps這一概念引入人們生活的同時,大數據正引入一種新的范式——MLOps。鑒于DevOps和DataOps在實踐中越來越多的運用,該項業務需要機器學習模型使用過程中的所有參與者一直保持合作與互動,包括業務人員、工程師、大數據開發人員(數據科學家和機器學習專家)。
? ? ? ? 與DevOps和DataOps類似,MLOps旨在提高自動化程度和工業機器學習解決方案的質量,同時兼顧監管需求和業務利益。MLOps是機器學習ML與DevOps的結合,旨在將敏捷軟件工程的一些成熟功能引入機器學習和人工智能。機器學習生態系統需要一個強大的DevOps一樣的框架、工具鏈和流程,將開發人員、數據科學家和操作員聚集在一起,通過有效的DevOps戰略,組織可以加快向最終用戶運送新功能和服務的速度。
? ? ? ? MLOps是結合系統開發和運營支持(包括集成、測試、發布、部署、基礎設施管理等操作),以實現機器學習系統生命周期復合化和自動化管理的文化理念和應用實例。MLOps是機器學習模型管理實踐和標準流程,銜接模型的開發、部署和運維,涉及算法、業務及運維團隊,旨在提升模型生命流程的開發、部署、運維效率,促進模型規模化落地應用。
? ? ? ? MLOps借助敏捷的方法和技術工具擴展了CRISP-DM方法論(CRISP-DM跨行業數據挖掘標準流程),從而可以自動執行包括數據、機器學習模型、代碼和環境在內的操作。這些工具中包括了Cloudera公司的數據科學工作臺——ClouderaData Science Workbench,將MLOps付諸實踐有助于數據科學家在CRISP-DM經典階段規避常見陷阱和問題。
MLOps三大步驟
- 項目設計:包括需求收集,場景設計,數據可用性檢查等。
- 模型開發:包括數據工程,模型工程,以及評估驗證等。
- 模型運維:包括模型部署,CI/CD/CT工作流,監控與調度觸發等。
? ? ? ? DevOps通過縮短開發部署的時間來更快地迭代軟件產品,使得公司業務不斷進化。MLOps的邏輯也是通過相似的自動化和迭代形式,加快企業從數據到insights的價值獲取速度。
MLOps帶給業務和數據科學優勢
- 在機器學習項目中踐行敏捷原則:加快企業從數據到insights的價值獲取速度。實施MLOps帶來的所有好處中,最為突出的是機器學習工業部署細節中的敏捷方法;
- 統一機器學習模型和關聯軟件產品的發布周期:通過可靠且有效的機器學習生命周期管理,減少時間,從而得到高質量結果;
- 在CI、CD、CT系統中支持機器學習模型和數據集:持續開發(CD)、持續集成(CI)、持續訓練(CT)方法和工具保障了工作流程和模型的可重復性;隨時隨地輕松部署高精度機器學習模型;
- 集成管理系統可連續監測機器學習資源;
- 使用機器學習模型減輕技術債:消除組織障礙,匯聚多學科機器學習專家的經驗。
MLOps解決的主要挑戰
- 缺乏擅長開發和部署可擴展 Web 應用程序的數據科學家:如今,市場上出現了一種新的 ML 工程師簡介,旨在滿足這一需求。它是數據科學和 DevOps 交叉點的最佳選擇。
- 在模型中反映不斷變化的業務目標:數據不斷變化,維護模型的性能標準,確保人工智能治理,存在許多依賴關系。很難跟上持續的模型培訓和不斷發展的業務目標。
- 技術團隊和業務團隊的trade off:技術和業務團隊之間的溝通鴻溝,難以找到共同的協作語言。大多數情況下,這種差距成為大型項目失敗的原因。
- 風險評估:圍繞此類 ML/DL 系統的黑盒性質存在很多爭論。模型往往會偏離他們最初打算做的事情。評估此類故障的風險/成本是非常重要和細致的步驟。例如,與標記一個無辜的人進行欺詐、阻止他們的帳戶和拒絕他們的貸款申請相比,YouTube 上不準確的視頻推薦的成本要低得多。
參考文章
機器學習新概念-MLOps簡介_java、c++、機器學習方向King-CSDN博客_mlops 開源框架
什么是 MLOps? - 知乎
MLOps全貌官網
原址:https://ml-ops.org/
Machine Learning Operations=Design+Model?Development+Operations
? ? ? ?Machine Learning Operations是借助機器學習模型操作化管理(MLOps),我們希望提供端到端的機器學習開發過程,以設計、構建和管理可再生、可測試和可演進的ML驅動軟件。
? ? ? ?作為一個新興的領域,MLOps正在數據科學家、ML工程師和AI愛好者中迅速獲得勢頭。遵循這一趨勢,持續交付基金會SIG MLOps將ML模型管理與傳統軟件工程區分開來,并建議以下MLOps能力:
- MLOps旨在統一機器學習和軟件應用程序發布的發布周期。
- MLOps支持機器學習工件的自動化測試(例如數據驗證、ML模型測試和ML模型集成測試)
- MLOps能夠將敏捷原則應用到機器學習項目中。
- MLOps支持機器學習模型和數據集,將這些模型構建為CI/CD系統中的第一等級。
- MLOps減少了跨機器學習模型的技術債務。
- MLOps必須是一種與語言、框架、平臺和基礎設施無關的實踐。
?
1、MLOps的定義與發展—你為什么可能想使用機器學習
1.1、Deployment GapML部署的差距
1.2、Scenarios of Change That Need to be Managed需要管理的變化的場景
1.3、MLOps?Definition定義
1.4、MLOps?Evolution進化
1.5、The Evolution of?MLOps
相關文章:ML:MLOps系列講解之《MLOps的定義與發展—你為什么可能想使用機器學習》解讀
2、設計機器學習驅動的(ML-powered)軟件—我們想要解決的業務問題是什么?
2.1、Work Flow Decomposition工作流程分解
2.2、AI Canvas
2.3、機器學習Canvas
2.3.1、機器學習畫布(v1.0),THE MACHINE LEARNING CANVAS (V1.0)
?相關文章:ML:MLOps系列講解之《設計機器學習驅動的(ML-powered)軟件—我們想要解決的業務問題是什么?》解讀
3、端到端 ML工作流生命周期
3.1、Data Engineering
3.2、Model Engineering
3.3、Model Deployment
?相關文章:ML:MLOps系列講解之《端到端 ML工作流生命周期》解讀
4、基于ML的軟件的三個層次
4.1、Data: Data Engineering Pipelines
4.1.1、Data Ingestion
4.1.2、Exploration and Validation
4.1.3、Data Splitting
4.2、Model: Machine Learning Pipelines
4.2.1、Model Training
4.2.2、Model Evaluation
4.2.3、Model Testing
4.2.4、Model Packaging
4.2.5、Different forms of ML workflows不同形式的機器學習工作流程
4.2.6、ML Model serialization formats 機器學習模型序列化格式
4.3、Code: Deployment Pipelines
4.3.1、Model Serving Patterns模型服務模式
4.3.2、Deployment Strategies部署策略
?相關文章:ML:MLOps系列講解之《基于ML的軟件的三個層次》解讀
5、MLOps原則
5.1、Iterative-Incremental Process in MLOps MLOps中的迭代增量過程
5.2、Automation自動化
5.3、Continuous X持續部署
5.4、Versioning版本控制
5.5、Experiments Tracking實驗跟蹤
5.6、Testing測試
5.6.1、Features and Data Tests特征和數據測試
5.6.2、Tests for Reliable Model Development可靠模型開發的測試
5.6.3、ML infrastructure test機器學習基礎設施測試
5.7、Monitoring 監控
5.8、“ML Test Score” System ?“機器學習成績”系統
5.9、Reproducibility可再現性
5.10、Loosely Coupled Architecture (Modularity) 松散耦合架構(模塊化)
5.11、ML-based Software Delivery Metrics (4 metrics from “Accelerate”) 基于ML的軟件交付指標(來自“加速”的4個指標)
5.12、Summary of MLOps Principles and Best Practices
?相關文章:ML:MLOps系列講解之《MLOps原則—迭代增量過程/自動化/持續部署/版本控制/實驗跟蹤/測試/監控/“ML成績”系統/可再現性/松散耦合架構(模塊化)/基于ML的軟件交付指標/MLO等》解讀
6、CRISP-ML (Q)ML生命周期過程—了解機器學習開發的標準過程模型。
6.1、Business and Data Understanding業務和數據理解
6.2、Data Engineering (Data Preparation)數據工程(數據準備)
6.3、Machine Learning Model Engineering機器學習模型工程
6.4、Evaluating Machine Learning Models評估機器學習模型
6.5、Deployment部署
6.6、Monitoring and Maintenance監控和維護
6.7、Conclusion
6.8、Acknowledgements
?相關文章:ML:MLOps系列講解之《CRISP-ML (Q)ML生命周期過程—了解機器學習開發的標準過程模型—業務和數據理解→數據工程(數據準備)→ML模型工程→評估ML模型→模型部署→模型監控和維護》解讀
7、MLOps Stack Canvas堆棧畫布
7.1、MLOps Stack Canvas
7.2、Documenting MLOps Architecture??記錄MLOps架構
7.3、MLOps Maturity Level??MLOps 成熟度級別
7.4、Conclusion? 結論
7.5、Acknowledgements??
?相關文章:ML:MLOps系列講解之《MLOps Stack Canvas堆棧畫布》解讀
8、ML模型治理
本部分介紹了治理流程的概述,這些流程是MLOps不可或缺的一部分。
9、MLOps的State(工具和框架)
?相關文章:ML:MLOps系列講解之《MLOps的State(工具和框架)》解讀
總結
以上是生活随笔為你收集整理的ML:MLOps系列讲解之系列知识解读全貌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML:MLOps系列讲解之《MLOps的
- 下一篇: TF之DD:利用Inception模型+