大多數(shù)AI項目之所以無法投入生產(chǎn),是因為存在一個聽起來很簡單但影響巨大的差距:數(shù)據(jù)科學(xué)家和業(yè)務(wù)部門之間的溝通不當(dāng)。IDC公司的這項調(diào)查側(cè)重于兩個群體之間持續(xù)溝通的重要性。這就迫使各組織機構(gòu)尋找能立即使用的解決方案,因此MLOps可以發(fā)揮作用。
MLOps的最佳實踐側(cè)重于:
• 提供數(shù)據(jù)析取、模型創(chuàng)建、部署和監(jiān)控的端到端可見性,以加快處理速度。
• 通過存儲所有相關(guān)工件(例如版本控制數(shù)據(jù)和元數(shù)據(jù)),更快地審核和復(fù)制生產(chǎn)模型。
• 根據(jù)不同的環(huán)境和要求來輕松地對模型進行重新訓(xùn)練
• 更快、更安全、更準(zhǔn)確地測試機器學(xué)習(xí)系統(tǒng)。
然而,開發(fā)、實施或訓(xùn)練機器學(xué)習(xí)模型從來都不是主要的瓶頸。在生產(chǎn)環(huán)境中構(gòu)建一個集成的AI系統(tǒng),保持持續(xù)運行,沒有任何嚴(yán)重的中斷,這才是真正的挑戰(zhàn)。例如,那些必須要部署機器學(xué)習(xí)解決方案的組織別無選擇,只能迭代重寫實驗代碼。這種方法是模棱兩可的,最終可能會/也可能不會成功。
這正是MLOps試圖解決的問題。
簡而言之,機器學(xué)習(xí)模型的數(shù)據(jù)操作(DataOps)就是MLOps。它是通過與數(shù)據(jù)科學(xué)家協(xié)作實施機器學(xué)習(xí)模型的一個過程,以實現(xiàn)速度和穩(wěn)健性。一家名為 Neuromation的公司擁有一個完整的服務(wù)模型,其圍繞著為MLOps制定戰(zhàn)略。機器學(xué)習(xí)服務(wù)提供商會側(cè)重于將數(shù)據(jù)科學(xué)家和工程師聚集在一起,以實現(xiàn)強大的機器學(xué)習(xí)生命周期管理。
除了數(shù)據(jù)科學(xué)家,合作過程還包括工程師、云架構(gòu)師以及來自所有利益相關(guān)者的持續(xù)反饋。在此過程中,合作過程會側(cè)重于在生產(chǎn)環(huán)境中實施更好的機器學(xué)習(xí)模型,并創(chuàng)建數(shù)據(jù)驅(qū)動的DevOps實踐。
還應(yīng)該做什么?請繼續(xù)往下閱讀。
完善持續(xù)集成/持續(xù)開發(fā)(CI/CD)管道的自動化
持續(xù)集成(CI)和持續(xù)開發(fā)(CD)會使機器學(xué)習(xí)管道的構(gòu)建、測試和部署自動化。持續(xù)集成和持續(xù)開發(fā)會使用新設(shè)計的模型架構(gòu)、功能和超參數(shù)來部署一個新的連續(xù)機器學(xué)習(xí)管道。該部署的管道會對新數(shù)據(jù)集進行進一步處理。當(dāng)獲得新數(shù)據(jù)時,該連續(xù)自動化管道會實施一個新的預(yù)測服務(wù)。此時,輸出結(jié)果是新組件的源代碼。這些源代碼將被進一步推送到預(yù)期環(huán)境中的新源存儲庫。
該新的源代碼會觸發(fā)CI/CD管道來構(gòu)建新組件,然后進行連續(xù)的單元和集成測試。在所有測試都通過后,新管道將部署在目標(biāo)環(huán)境中。該管道會根據(jù)預(yù)定義的計劃和訓(xùn)練數(shù)據(jù)在生產(chǎn)環(huán)境中自動運行。
構(gòu)建數(shù)據(jù)湖以方便數(shù)據(jù)評估
機器學(xué)習(xí)可完善大量的數(shù)據(jù)。這就是為什么在考慮使用數(shù)據(jù)進行即時預(yù)測之前,數(shù)據(jù)可用性對于確保具有適當(dāng)?shù)臄?shù)量和效率是必要的。例如,處理數(shù)百萬客戶數(shù)據(jù)的QSR(快速服務(wù)餐廳)系統(tǒng)應(yīng)該有機器學(xué)習(xí)技術(shù)提供支持。在這里,不僅數(shù)據(jù)在不斷增長,而且也在快速地發(fā)生變化。電子商務(wù)領(lǐng)域的情況也是如此,有眾多的系統(tǒng)緊密聯(lián)系在一起,例如最后一公里交付、CRM和內(nèi)部ERP。
首先,建立一個可以無縫訪問所有數(shù)據(jù)源的數(shù)據(jù)湖環(huán)境。數(shù)據(jù)湖就像一個集中式的倉庫,應(yīng)該是數(shù)據(jù)評估的中心。這是用于過濾和篩選數(shù)據(jù)的存儲庫,以進行MLOps處理和進一步用于數(shù)據(jù)分析環(huán)境。為了確保數(shù)據(jù)具有足夠的價值來進行定性分析和必要的業(yè)務(wù)變革,適應(yīng)持續(xù)的實驗變得非常必要。為確保這一點,請使用可快速處理可用數(shù)據(jù)集的可擴展計算環(huán)境。
同時,數(shù)據(jù)湖應(yīng)配有一個交互式儀表板來進行高級可視化。可考慮使用AWS Quick Sight、Plotly Dash和Power BI等工具作為數(shù)據(jù)可視化儀表板的示例。這些儀表板可輕松進行定制,以滿足不同的業(yè)務(wù)需求。
在數(shù)據(jù)評估結(jié)束時,所有數(shù)據(jù)都進行了過濾和結(jié)構(gòu)化處理,以供將來使用。這也包含了編制目錄的一個階段。了解和可視化元數(shù)據(jù)結(jié)構(gòu)以及從來源到使用微服務(wù)的過程都需要數(shù)據(jù)目錄。
監(jiān)控預(yù)測性服務(wù)和性能
除了訓(xùn)練、數(shù)據(jù)和模型類型之外,還有一些其他指標(biāo)可根據(jù)業(yè)務(wù)目標(biāo)來確定已部署模型的性能。要記錄機器學(xué)習(xí)模型的最佳輸出,請考慮以下指標(biāo):
• 延遲:對無縫用戶體驗進行評估。以毫秒為單位測量延遲
• 可擴展性:能夠處理某一特定延遲的業(yè)務(wù)流量。這是以每秒查詢數(shù)(QPS)來衡量的。
• 服務(wù)更新:確保在更新時具有最短的服務(wù)停機時間。
使用數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是一個從多種來源收集數(shù)據(jù)并使其滿足分析人員立即進行業(yè)務(wù)使用的框架。MLOps計劃會與云端和本地的各種操作用例中的數(shù)據(jù)結(jié)構(gòu)緊密協(xié)作。由于數(shù)據(jù)結(jié)構(gòu)會創(chuàng)建一個集中的協(xié)調(diào)流程,因此這些結(jié)構(gòu)可以降低風(fēng)險,并減少大數(shù)據(jù)管理的總體成本。有趣的是,各組織機構(gòu)已使用某一結(jié)構(gòu)作為基礎(chǔ)來提升其DataOps計劃。
例如,K2View提供了一個建立在其結(jié)構(gòu)技術(shù)之上的數(shù)據(jù)準(zhǔn)備中心。數(shù)據(jù)準(zhǔn)備中心會從不同的來源收集數(shù)據(jù),然后根據(jù)重新定義的模式和規(guī)則對其進行過濾、填充和屏蔽。在這里,其數(shù)據(jù)存儲在專屬微數(shù)據(jù)庫中的數(shù)字實體代表著每個客戶。這種由業(yè)務(wù)實體通過管道傳輸數(shù)據(jù)的方法可確保數(shù)據(jù)的完整性,從而使團隊可以不間斷地進行訪問。
額外提示:選擇正確的云架構(gòu)
您的數(shù)據(jù)環(huán)境可能以某種方式與云應(yīng)用程序相關(guān)聯(lián)。鑒于我們企業(yè)中越來越多地使用云模型,有必要檢查一些基礎(chǔ)信息:云平臺是否與MLOps相匹配?
雖然大多數(shù)云平臺都提供內(nèi)置數(shù)據(jù)科學(xué)功能,但要確認(rèn)其是否可支持端到端機器學(xué)習(xí)管道(存儲、獲取、建模、可視化、監(jiān)控等)的彈性和高性能處理。
在此,“基礎(chǔ)設(shè)施即代碼”可自動配置可擴展和可再現(xiàn)的機器學(xué)習(xí)環(huán)境。就像在本地一樣,云平臺依賴CI/CD進行準(zhǔn)確的機器學(xué)習(xí)模型訓(xùn)練和測試。支持MLOps 的現(xiàn)成云環(huán)境的示例包括AWS SageMaker、Google Cloud AI Pipelines和Databricks。
總結(jié)
本文介紹了制定MLOps策略要考慮的一些關(guān)鍵指標(biāo)。由于自動化是一項主流服務(wù),因此各組織機構(gòu)所面臨的下一個挑戰(zhàn)將是提升自己的“各種操作(XOps)”技能。通過使用MLOps,各組織機構(gòu)不僅可以提高其對DataOps流程的參與度,而且還可以滿足急性子客戶的期望。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。