ML:MLOps系列讲解之《MLOps的定义与发展—你为什么可能想使用机器学习》解读
ML:MLOps系列講解之《MLOps的定義與發(fā)展—你為什么可能想使用機器學(xué)習(xí)》解讀
目錄
1、《MLOps的定義與發(fā)展—你為什么可能想使用機器學(xué)習(xí)》解讀
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
1、《MLOps的定義與發(fā)展—你為什么可能想使用機器學(xué)習(xí)》解讀
? ? ? ?根據(jù)Statista《2019年數(shù)字經(jīng)濟指南》,兩大趨勢將擾亂經(jīng)濟和我們的生活:
- (1)、數(shù)據(jù)驅(qū)動的世界,這與呈指數(shù)增長的數(shù)字化收集數(shù)據(jù)量有關(guān)。
- (2)、人工智能/機器學(xué)習(xí)/數(shù)據(jù)科學(xué)的重要性日益增加,它們從大量的數(shù)據(jù)中獲得洞察力。
? ? ? ?為了保持一致性,我們將使用術(shù)語機器學(xué)習(xí)(ML),然而,這些概念適用于人工智能和數(shù)據(jù)科學(xué)領(lǐng)域。
? ? ? ?每一個機器學(xué)習(xí)管道都是一組操作,執(zhí)行這些操作以產(chǎn)生一個模型。ML模型粗略地定義為現(xiàn)實世界過程的數(shù)學(xué)表示。我們可以將ML模型看作是一個函數(shù),它接受一些輸入數(shù)據(jù)并產(chǎn)生輸出(分類、情感分析、推薦或聚類)。每個模型的性能都是通過使用評估指標來評估,例如precision & recall, or accuracy(精確率、召回率、準確性)。
? ? ? ?作為一個強大的工具,機器學(xué)習(xí)可以解決很多實際問題。與任何其他軟件工具類似,我們需要確定“正確的nail釘子”(用例或問題),才能使用這個“hammer錘子”(機器學(xué)習(xí)算法)。
? ? ? ?我們對將機器學(xué)習(xí)納入軟件系統(tǒng)很感興趣,因為機器學(xué)習(xí)可以解決一些過于復(fù)雜而無法用傳統(tǒng)方法解決的問題。對于這類問題,通過機器學(xué)習(xí)實現(xiàn)的概率(隨機)解決方案可能是正確的方法。例如,會話UI中的感知問題可以通過語音識別或情感分析等技術(shù)來解決。機器學(xué)習(xí)(deep learning)似乎是最合適的方法,因為這類問題有大量不同表示形式的元素。另一類適合ML的問題是多參數(shù)問題。例如,我們應(yīng)用機器學(xué)習(xí)方法來生成股票價格預(yù)測,這是股票交易決策的基礎(chǔ)。
? ? ? ?將模型放到生產(chǎn)環(huán)境中意味著您的模型可用于軟件系統(tǒng)。實際上,通過部署ML模型,我們可以提供以下功能:
- (1)、推薦:它根據(jù)產(chǎn)品描述或用戶以前的交互在一個大集合中識別相關(guān)的產(chǎn)品。
- (2)、Top-K項選擇:它以適合用戶的特定順序組織一組項目(例如搜索結(jié)果)。
- (3)、分類:它將輸入示例分配給先前定義的類之一(例如“垃圾郵件”/“非垃圾郵件”)。
- (4)、預(yù)測:將一些最可能的值賦給相關(guān)實體,如股票價值。
- (5)、內(nèi)容生成:通過學(xué)習(xí)現(xiàn)有的示例來產(chǎn)生新的內(nèi)容,例如學(xué)習(xí)Bach以前的作品來完成Bach chorale cantata(巴赫的贊美詩康塔塔)。
- (6)、問答:它回答一個明確的問題,例如:“這段內(nèi)容描述了這個圖像嗎?”
- (7)、自動化:可以是一組自動執(zhí)行的用戶步驟,例如股票交易
- (8)、欺詐和異常檢測:識別一個行為或交易是欺詐或可疑的
- (9)、信息提取和注釋:用于識別文本中的重要信息,如人名、職位描述、公司和地點。
? ? ? ?在下表中,我們總結(jié)了ML/AI的能力:
表來源:David Carmona《The AI Organization》
https://learning.oreilly.com/library/view/the-ai-organization/9781492057369/
相關(guān)文章
Statista 《Digital Economy Compass 2019》
https://cdn.statcdn.com/download/pdf/DigitalEconomyCompass2019.pdf
1.1、Deployment GapML部署的差距
? ? ? ?越來越多的企業(yè)正在試驗ML。將模型引入現(xiàn)實世界不僅僅是構(gòu)建它。為了充分利用構(gòu)建的ML模型,使其可用于我們的核心軟件系統(tǒng),我們需要將訓(xùn)練有素的ML模型合并到核心代碼庫中。這意味著,我們需要將ML模型部署到生產(chǎn)中。通過部署模型,其他軟件系統(tǒng)可以向這些模型提供數(shù)據(jù)并獲得預(yù)測,這些預(yù)測又被重新填充到軟件系統(tǒng)中。因此,只有通過ML模型的部署才能充分發(fā)揮ML模型的優(yōu)勢。
? ? ? ?然而,根據(jù)Algorithmia的一份《2020年企業(yè)機器學(xué)習(xí)狀況》報告,許多公司還沒有想出如何實現(xiàn)他們的ML/AI目標。因為在ML模型構(gòu)建和實際部署之間搭建橋梁仍然是一個具有挑戰(zhàn)性的任務(wù)。在Jupyter Notebook模型中構(gòu)建ML模型,與將ML模型部署到產(chǎn)生業(yè)務(wù)價值的生產(chǎn)系統(tǒng)中是有根本區(qū)別的。盡管AI預(yù)算在增加,但只有22%的使用機器學(xué)習(xí)的公司成功地將機器學(xué)習(xí)模型部署到生產(chǎn)中。
?源自Algorithmia公司的《2020 state of enterprise machine learning》
AI:Algorithmia《2021 enterprise trends in machine learning 2021年機器學(xué)習(xí)的企業(yè)趨勢》翻譯與解讀_一個處女座的程序猿-CSDN博客
? ? ? ?《2020年企業(yè)機器學(xué)習(xí)狀況》報告是基于對近750人的調(diào)查,包括機器學(xué)習(xí)從業(yè)者、機器學(xué)習(xí)項目經(jīng)理和科技公司高管。一半的受訪者回答說,他們的公司需要一周到三個月的時間來部署一個ML模型。大約18%的人表示需要3個月到1年的時間。根據(jù)這份報告,“人們在開發(fā)ML功能時面臨的主要挑戰(zhàn)是規(guī)模、版本控制、模型可重復(fù)性和利益相關(guān)者的協(xié)調(diào)一致。
1.2、Scenarios of Change That Need to be Managed需要管理的變化的場景
? ? ? ?出現(xiàn)上述部署差距的原因在于,基于機器學(xué)習(xí)的應(yīng)用程序的開發(fā)與傳統(tǒng)軟件的開發(fā)有著根本的不同。完整的開發(fā)管道包括三個級別的變更:數(shù)據(jù)、ML模型和代碼。這意味著,在基于機器學(xué)習(xí)的系統(tǒng)中,構(gòu)建的觸發(fā)器可能是代碼更改、數(shù)據(jù)更改或模型更改的組合。這也被稱為“改變?nèi)魏问挛锞透淖円磺?/span>”原則。
? ? ? ??在下面,我們列出了機器學(xué)習(xí)應(yīng)用中可能發(fā)生變化的一些場景:
- (1)、在將ML模型部署到軟件系統(tǒng)之后,我們可能會意識到,隨著時間的推移,模型開始衰退并出現(xiàn)異常行為,因此我們需要新的數(shù)據(jù)來重新訓(xùn)練我們的ML模型。
- (2)、在檢查可用的數(shù)據(jù)之后,我們可能會意識到很難獲得解決我們之前定義的問題所需的數(shù)據(jù),因此我們需要重新制定問題。
- (3)、在ML項目的某些階段,我們可能會回到過程中,或者收集更多的數(shù)據(jù),或者收集不同的數(shù)據(jù)并重新標記訓(xùn)練數(shù)據(jù)。這應(yīng)該會觸發(fā)ML模型的重新訓(xùn)練。
- (4)、在將模型提供給最終用戶之后,我們可能會意識到我們?yōu)橛?xùn)練模型所做的假設(shè)是錯誤的,因此我們必須更改我們的模型。
- (5)、有時候,在項目開發(fā)過程中,業(yè)務(wù)目標可能會發(fā)生變化,我們決定改變機器學(xué)習(xí)算法來訓(xùn)練模型。
???????? ? ? ?此外,有三個常見的問題會影響ML模型投入生產(chǎn)后的價值。
???????? ? ? ?由于ML/AI正在擴展到新的應(yīng)用和塑造新的行業(yè),因此構(gòu)建成功的ML項目仍然是一個具有挑戰(zhàn)性的任務(wù)。如上所示,需要圍繞設(shè)計、構(gòu)建和部署ML模型到生產(chǎn)環(huán)境中建立有效的實踐和流程—MLOps。
1.3、MLOps?Definition定義
???????? ? ? ?我們看到了應(yīng)用機器學(xué)習(xí)可以解決現(xiàn)實世界中的問題。我們確定了將ML模型投入生產(chǎn)的挑戰(zhàn)。最后,我們定義術(shù)語MLOps:
? ? ? ?術(shù)語MLOps被定義為:MLOps是“DevOps方法論的擴展,將機器學(xué)習(xí)和數(shù)據(jù)科學(xué)資產(chǎn)作為DevOps生態(tài)系統(tǒng)的“一等公民”?!?來源:MLOps SIG)。
? ? ? ?或者,我們可以使用機器學(xué)習(xí)工程(MLE)的定義,其中,MLE是使用機器學(xué)習(xí)和傳統(tǒng)軟件工程的科學(xué)原理、工具和技術(shù)來設(shè)計和構(gòu)建復(fù)雜的計算系統(tǒng)。MLE包括從數(shù)據(jù)收集到模型構(gòu)建的所有階段,以使模型可供產(chǎn)品或消費者使用?!?由A.Burkov)。
? ? ? ?MLOps 與 DevOps 一樣,源于這樣一種理解,即將 ML 模型開發(fā)與交付它的過程(ML 操作)分開會降低整個智能軟件的質(zhì)量、透明度和敏捷性。
相關(guān)文章
《MLOps SIG》:
https://github.com/cdfoundation/sig-mlops/blob/master/roadmap/2020/MLOpsRoadmap2020.md
1.4、MLOps?Evolution進化
???????? ? ? ?在21世紀初,當(dāng)企業(yè)需要實施機器學(xué)習(xí)解決方案時,他們使用了供應(yīng)商的授權(quán)軟件,如SAS、SPSS和FICO。隨著開源軟件的興起和數(shù)據(jù)的可用性,越來越多的軟件從業(yè)者開始使用Python或R庫來訓(xùn)練ML模型。然而,這些模型在生產(chǎn)中的使用仍然是個問題。隨著集裝箱化(containerization)技術(shù)的興起,Docker容器和Kubernetes解決了模型的可擴展部署問題。最近,我們看到了這些解決方案向ML部署平臺的演變,這些平臺覆蓋了模型實驗、訓(xùn)練、部署和監(jiān)控的整個迭代。下圖顯示了MLOps的演化過程。
1.5、The Evolution of?MLOps
| Pre-History Age | Proprietary Inference Servers 專有推理服務(wù)器 | using proprietary tools to perform modeling and inference SAS SPSS FICO 使用專有工具進行建模和推理 SAS SPSS FICO |
| 2000 Stone Age | The Rise of Open Source Data Science Tools 開源數(shù)據(jù)科學(xué)工具的興起 | ...attempt to wrap the data science stack in a lightweight web service framework, and put it into production ..嘗試將數(shù)據(jù)科學(xué)堆棧包裝在輕量級 Web 服務(wù)框架中,并將其投入生產(chǎn) Python: SciPy stack scitkit-learn is TensorFlow etc. R: dplyr ggplot2 I etc. I Spark, H2O, others... |
| 2015 Bronze Age | Containerization to-the-rescue 容器化救援 | Containerization of the "Stone Age" approach, making it easy to scale, robust, etc. “容器化時代”方法的容器化,使其易于擴展、健壯等。 Dockerized 開源 ML 堆棧。 |
| 2018 MLOps Gold Rush Age | "MLOps Platforms" “MLOps 平臺” | Dockerized open-source ML stacks Deployed them on-premise or in the cloud via Kubernetes and providing some manageability ("ML Ops"). 通過 Kubernetes 將它們部署在本地或云中,并提供一些可管理性(“ML Ops”)。 |
The content of this site was created by Dr. Larysa Visengeriyeva, Anja Kammer, Isabel B?r, Alexander Kniesz, and Michael Pl?d (DDD Advisor). Design made by Sebastian Eberstaller.
It is published under?Creative Commons Attribution 4.0 International Public License?and can therefore be shared and adapted with attribution ("INNOQ").
總結(jié)
以上是生活随笔為你收集整理的ML:MLOps系列讲解之《MLOps的定义与发展—你为什么可能想使用机器学习》解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI:Algorithmia《2021
- 下一篇: ML:MLOps系列讲解之《端到端 ML