管理和優(yōu)化機器學(xué)習(xí)生命周期的十大MLOps平臺
企業(yè)不斷轉(zhuǎn)變其運營方式以提高生產(chǎn)力并提供令人難忘的消費者體驗。這種數(shù)字化轉(zhuǎn)型加快了交互、交易和決策的時間框架。此外,它還生成大量數(shù)據(jù),對運營、客戶和競爭具有全新的洞察力。機器學(xué)習(xí)幫助公司利用這些數(shù)據(jù)獲得競爭優(yōu)勢。ML(機器學(xué)習(xí))模型可以檢測大量數(shù)據(jù)中的模式,使它們能夠在比人類更大的范圍內(nèi)做出更快、更準確的決策。這使人類和應(yīng)用程序能夠采取快速而智能的行動。
隨著越來越多的企業(yè)試驗數(shù)據(jù),他們意識到開發(fā)機器學(xué)習(xí)(ML)模型只是ML生命周期中眾多步驟中的一個。
什么是機器學(xué)習(xí)生命周期?
機器學(xué)習(xí)生命周期是為特定應(yīng)用程序開發(fā)、部署和維護機器學(xué)習(xí)模型。典型的生命周期包括:
建立業(yè)務(wù)目標
該過程的第一步是確定實施機器學(xué)習(xí)模型的業(yè)務(wù)目標。例如,貸款公司的業(yè)務(wù)目標可以是預(yù)測一定數(shù)量的貸款申請中的信用風(fēng)險。
數(shù)據(jù)收集和注釋
機器學(xué)習(xí)生命周期的下一個階段是數(shù)據(jù)收集和準備,由定義的業(yè)務(wù)目標指導(dǎo)。這通常是開發(fā)過程中最長的階段。
開發(fā)者會根據(jù)機器學(xué)習(xí)模型的類型來選擇模型訓(xùn)練和測試的數(shù)據(jù)集。以信用風(fēng)險為例。如果貸方想從掃描文件中收集信息,他們可以使用圖像識別模型;對于數(shù)據(jù)分析,它將是從貸款申請人那里收集的數(shù)字或文本數(shù)據(jù)的片段。
數(shù)據(jù)收集之后最關(guān)鍵的階段是標注“扯皮”?,F(xiàn)代AI(人工智能)模型需要高度具體的數(shù)據(jù)分析和指令。注釋可幫助開發(fā)人員提高一致性和準確性,同時最大限度地減少偏差以避免部署后出現(xiàn)故障。
模型開發(fā)和訓(xùn)練
構(gòu)建過程是機器學(xué)習(xí)生命周期中代碼最密集的元素。這個階段將主要由開發(fā)團隊的程序員管理,他們將有效地設(shè)計和組裝算法。
但是,開發(fā)人員必須在訓(xùn)練過程中不斷檢查東西。盡快檢測訓(xùn)練數(shù)據(jù)中的任何潛在偏差至關(guān)重要。假設(shè)圖像模型無法識別文檔,迫使它對文檔進行錯誤分類。在這種情況下,參數(shù)應(yīng)該指示模型關(guān)注圖像中的圖案而不是像素。
測試和驗證模型
該模型應(yīng)完全正常運行,并按測試階段的計劃運行。單獨的驗證數(shù)據(jù)集用于訓(xùn)練期間的評估。目標是查看模型如何對以前從未見過的數(shù)據(jù)做出反應(yīng)。
模型部署
終于到了訓(xùn)練后部署機器學(xué)習(xí)模型的時候了。至此,開發(fā)團隊已盡一切可能確保模型發(fā)揮最佳功能。該模型可以使用來自真實用戶的未經(jīng)整理的低延遲數(shù)據(jù)進行操作,并且可以準確地對其進行評估。
回到信用風(fēng)險場景,該模型應(yīng)該可靠地預(yù)測貸款違約者。開發(fā)人員應(yīng)該確信該模型將滿足貸款公司的期望并正常運行。
模型監(jiān)控
部署后會跟蹤模型的性能,以確保它隨著時間的推移保持同步。例如,如果用于貸款違約預(yù)測的機器學(xué)習(xí)模型沒有定期改進,它就無法檢測到新的違約類型。監(jiān)控模型以檢測和糾正錯誤至關(guān)重要。監(jiān)控的任何關(guān)鍵發(fā)現(xiàn)都可用于改進模型的性能。
MLOps的興起
正如我們在上面看到的,大規(guī)模管理完整的生命周期具有挑戰(zhàn)性。這些挑戰(zhàn)與應(yīng)用程序開發(fā)團隊在創(chuàng)建和管理應(yīng)用程序時所面臨的挑戰(zhàn)相同。DevOps是在應(yīng)用程序開發(fā)周期中管理操作的行業(yè)標準。在通過機器學(xué)習(xí)應(yīng)對這些挑戰(zhàn)時,企業(yè)必須對ML生命周期采用DevOps風(fēng)格的方法。這種技術(shù)被稱為MLOps。
什么是MLOps?
MLOps是Machine learning + Operations的縮寫。這是一門新學(xué)科,需要結(jié)合數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、DevOps和軟件開發(fā)方面的最佳實踐。它有助于減少數(shù)據(jù)科學(xué)家和IT運營團隊之間的摩擦,以改進模型開發(fā)、部署和管理。據(jù)Congnilytica稱,到2025年,MLOps解決方案市場將增長近40億美元。
數(shù)據(jù)科學(xué)家花費大部分時間為訓(xùn)練目的準備和清理數(shù)據(jù)。此外,需要測試經(jīng)過訓(xùn)練的模型的準確性和穩(wěn)定性。
這就是MLOps工具發(fā)揮作用的地方。正確的工具可以幫助您管理從數(shù)據(jù)準備到部署到市場就緒產(chǎn)品中的一切。為了節(jié)省您的時間,我整理了一份用于管理機器學(xué)習(xí)生命周期的最佳企業(yè)和開源云平臺和框架列表。
用于機器學(xué)習(xí)生命周期管理的十大MLOps工具/平臺
1.亞馬遜SageMaker
- Amazon SageMaker提供機器學(xué)習(xí)操作(MLOps)解決方案,以幫助用戶在整個ML生命周期中自動化和標準化流程。
- 它使數(shù)據(jù)科學(xué)家和ML工程師能夠通過訓(xùn)練、測試、故障排除、部署和管理ML模型來提高工作效率。
- 它有助于將機器學(xué)習(xí)工作流與CI/CD管道集成,以縮短生產(chǎn)時間。
- 通過優(yōu)化的基礎(chǔ)設(shè)施,培訓(xùn)時間可以從幾小時縮短到幾分鐘。專門構(gòu)建的工具可以將團隊生產(chǎn)力提高多達十倍。
- 它還支持領(lǐng)先的ML框架、工具包和編程語言,如Jupyter、Tensorflow、PyTorch、mxnet、Python、R等。
- 它具有用于策略管理和執(zhí)行、基礎(chǔ)設(shè)施安全、數(shù)據(jù)保護、授權(quán)、身份驗證和監(jiān)控的安全特性。
2.Azure機器學(xué)習(xí)
- Azure機器學(xué)習(xí)服務(wù)是一個基于云的數(shù)據(jù)科學(xué)和機器學(xué)習(xí)平臺。
- 用戶可以通過內(nèi)置的治理、安全性和合規(guī)性在任何地方運行機器學(xué)習(xí)工作負載。
- 為分類、回歸、時間序列預(yù)測、自然語言處理和計算機視覺任務(wù)快速創(chuàng)建準確的模型。
- 利用Azure Synapse Analytics,用戶可以使用PySpark執(zhí)行交互式數(shù)據(jù)準備。
- 企業(yè)可以通過Microsoft Power BI和Azure Synapse Analytics、Azure Cognitive Search、Azure Data Factory、Azure Data Lake、Azure Arc、Azure Security Center 和 Azure Databricks等服務(wù)提高工作效率。
3.數(shù)據(jù)塊MLflow
- 托管MLflow建立在MLflow之上,MLflow是Databricks開發(fā)的開源平臺。
- 它幫助用戶管理具有企業(yè)級可靠性、安全性和規(guī)模的完整機器學(xué)習(xí)生命周期。
- MLFLOW跟蹤使用Python、REST、R API和Java API自動記錄每次運行的參數(shù)、代碼版本、指標和工件。
- 用戶可以記錄階段轉(zhuǎn)換并請求、審查和批準更改,作為CI/CD管道的一部分,以改進控制和治理。
- 通過訪問控制和搜索查詢,用戶可以在工作區(qū)內(nèi)創(chuàng)建、保護、組織、搜索和可視化實驗。
- 通過Apache Spark UDF為本地機器或其他幾個生產(chǎn)環(huán)境(例如Microsoft Azure ML和Amazon SageMaker)在Databricks上快速部署,并為部署構(gòu)建Docker映像。
4.TensorFlow 擴展 (TFX)
- TensorFlow Extended 是谷歌開發(fā)的生產(chǎn)規(guī)模機器學(xué)習(xí)平臺。它提供用于將機器學(xué)習(xí)集成到工作流中的共享庫和框架。
- TensorFlow extended 允許用戶在各種平臺上編排機器學(xué)習(xí)工作流程,包括 Apache、Beam 和 KubeFlow。
- TensorFlow 是為改進 TFX 工作流程而設(shè)計的高端產(chǎn)品,TensorFlow 幫助用戶分析和驗證機器學(xué)習(xí)數(shù)據(jù)。
- TensorFlow Model Analysis 為大量分布式數(shù)據(jù)提供指標,幫助用戶評估 TensorFlow 模型。
- TensorFlow Metadata 提供了可以在數(shù)據(jù)分析過程中手動或自動生成的元數(shù)據(jù),在使用 TF 訓(xùn)練機器學(xué)習(xí)模型時非常有用。
5. MLFlow
- MLFlow 是一個開源項目,旨在為機器學(xué)習(xí)提供通用語言。
- 它是一個管理整個機器學(xué)習(xí)生命周期的框架
- 它為數(shù)據(jù)科學(xué)團隊提供端到端的解決方案
- 用戶可以使用在 Amazon Web Services (AWS) 上運行的 Hadoop、Spark 或 Spark SQL 集群輕松管理生產(chǎn)或本地模型。
- MLflow 提供了一組輕量級 API,可以與任何現(xiàn)有的機器學(xué)習(xí)應(yīng)用程序或庫(TensorFlow、PyTorch、XGBoost 等)結(jié)合使用。
6.谷歌云機器學(xué)習(xí)引擎
- Google Cloud ML Engine 是一種托管服務(wù),可以輕松構(gòu)建、訓(xùn)練和部署機器學(xué)習(xí)模型。
- 它為訓(xùn)練、服務(wù)和監(jiān)控 ML 模型提供了一個統(tǒng)一的界面。
- Bigquery 和云存儲幫助用戶準備和存儲他們的數(shù)據(jù)集。然后他們可以使用內(nèi)置功能標記數(shù)據(jù)。
- Cloud ML Engine 可以執(zhí)行影響預(yù)測準確性的超參數(shù)調(diào)整。
- 用戶無需編寫任何代碼即可使用 Auto ML 功能和易于使用的 UI 來完成任務(wù)。此外,用戶可以使用 Google Colab 免費運行筆記本。
7.數(shù)據(jù)版本控制(DVC)
- DVC 是一種用 Python 編寫的開源數(shù)據(jù)科學(xué)和機器學(xué)習(xí)工具。
- 它旨在使機器學(xué)習(xí)模型可共享和可復(fù)制。它處理大型文件、數(shù)據(jù)集、機器學(xué)習(xí)模型、指標和代碼。
- DVC 控制機器學(xué)習(xí)模型、數(shù)據(jù)集和中間文件,并將它們與代碼連接起來。將文件內(nèi)容存儲在Amazon S3、Microsoft Azure Blob Storage、Google Cloud Storage、阿里云OSS、SSH/SFTP、HDFS等。
- DVC 概述了在生產(chǎn)環(huán)境中協(xié)作、共享發(fā)現(xiàn)以及收集和運行完整模型的規(guī)則和流程。
- DVC 可以將 ML 步驟連接到 DAG(有向無環(huán)圖)中,并端到端地運行完整的管道。
8. H2O無人駕駛AI
- H2O Driverless AI 是一個基于云的機器學(xué)習(xí)平臺,您只需點擊幾下即可構(gòu)建、訓(xùn)練和部署機器學(xué)習(xí)模型。
- 它支持 R、Python 和 Scala 編程語言。
- Driverless AI 可以訪問各種來源的數(shù)據(jù),包括 Hadoop HDFS、Amazon S3 等。
- Driverless AI 根據(jù)最相關(guān)的數(shù)據(jù)統(tǒng)計自動挑選數(shù)據(jù)圖,開發(fā)可視化,并根據(jù)最重要的數(shù)據(jù)統(tǒng)計提供具有統(tǒng)計顯著性的數(shù)據(jù)圖。
- 無人駕駛?cè)斯ぶ悄芸捎糜趶臄?shù)碼照片中提取信息。它允許使用與其他數(shù)據(jù)類型相結(jié)合的單獨照片和圖像作為預(yù)測特征。
9.Kubeflow
- Kubeflow 是用于機器學(xué)習(xí)操作(管道、訓(xùn)練和部署)的云原生平臺。
- 它是云原生計算基金會 (CNCF) 的一部分,包括 Kubernetes 和 Prometheus。
- 用戶可以利用此工具使用任意數(shù)量的云提供商(如 Google Cloud 或 Amazon Web Services (AWS))構(gòu)建自己的 MLOps 堆棧。
- Kubeflow Pipelines 是用于部署和管理端到端 ML 工作流的綜合解決方案。
- 它還擴展了對 PyTorch、Apache MXNet、MPI、XGBoost、Chainer 等的支持。它還與 Istio、入口大使和用于管理數(shù)據(jù)科學(xué)管道的 Nuclio 集成。
10.元流
- Metaflow 是 Netflix 創(chuàng)建的基于 Python 的庫,用于幫助數(shù)據(jù)科學(xué)家和工程師管理現(xiàn)實世界的項目并提高生產(chǎn)力。
- 它提供了一個統(tǒng)一的堆棧 API,這是執(zhí)行從原型到生產(chǎn)的數(shù)據(jù)科學(xué)項目所必需的。
- 用戶可以高效地訓(xùn)練、部署和管理機器學(xué)習(xí)模型;Metaflow 集成了基于 Python 的機器學(xué)習(xí)、Amazon SageMaker、深度學(xué)習(xí)和大數(shù)據(jù)庫。
- Metaflow 包括一個圖形用戶界面,可幫助用戶將工作環(huán)境設(shè)計為有向無環(huán)圖 (DAG)。
- 它可以自動對所有實驗和數(shù)據(jù)進行版本控制和跟蹤。
市場新品
Snowflake 的雪地公園
- Snowpark for Python 為數(shù)據(jù)科學(xué)家提供了一種針對 Snowflake 數(shù)據(jù)倉庫執(zhí)行 DataFrame 樣式編程的簡單方法。
- 它可以設(shè)置成熟的機器學(xué)習(xí)管道來重復(fù)運行。
- Snowpark 在 ML 生命周期的最后兩個階段(模型部署和監(jiān)控)中發(fā)揮著重要作用。
- Snowpark 提供了一個易于使用的 API,用于查詢和處理數(shù)據(jù)管道中的數(shù)據(jù)。
- 自推出以來,Snowpark 已經(jīng)發(fā)展成為最好的數(shù)據(jù)應(yīng)用程序之一,使開發(fā)人員可以輕松構(gòu)建復(fù)雜的數(shù)據(jù)管道。
- 憑借 Snowflake 對未來的愿景和可擴展的支持,該應(yīng)用程序?qū)⒊蔀槲磥韼啄杲鉀Q復(fù)雜數(shù)據(jù)和機器學(xué)習(xí)問題的最佳選擇。
結(jié)論
每個企業(yè)都在朝著成為成熟的機器學(xué)習(xí)企業(yè)的方向發(fā)展。適當?shù)墓ぞ呖梢詭椭M織管理從數(shù)據(jù)準備到部署為市場做好準備的產(chǎn)品的一切。這些工具還可以幫助自動執(zhí)行重復(fù)的構(gòu)建和部署任務(wù),盡可能減少錯誤,以便您可以專注于更重要的任務(wù),例如研究。企業(yè)在選擇 MLOps 工具時必須考慮團隊規(guī)模、價格、安全性和支持等因素,并更好地了解其可用性。