成功實施MLOps的一些最佳實踐
譯文譯者 | 布加迪
策劃 | 梁策 孫淑娟
您可能已經(jīng)熟悉機器學(xué)習(xí)及其在當(dāng)今世界的應(yīng)用。人工智能(AI)和機器學(xué)習(xí)(ML)便于開發(fā)這樣的智能軟件:能夠準(zhǔn)確預(yù)測結(jié)果,自動化執(zhí)行通常由人執(zhí)行的各項工作。盡管將機器學(xué)習(xí)納入應(yīng)用程序至關(guān)重要,但對于組織而言,確保機器學(xué)習(xí)順利運行更為重要。
為此,許多公司利用一套名為“機器學(xué)習(xí)運營”(MLOps)的最佳實踐。而MLOps對于任何企業(yè)未來的繁榮正在變得至關(guān)重要。據(jù)德勤聲稱,到2025年,這個市場的產(chǎn)值可能會擴(kuò)大40億美元,自2019年以來增長近12倍。
盡管機器學(xué)習(xí)為諸多業(yè)務(wù)流程帶來了種種優(yōu)勢,但許多公司仍難以實施ML方法以提高生產(chǎn)力。
MLOps最佳實踐以及如何運用?
別以為僅僅注冊新的SaaS提供商或創(chuàng)建新的云計算實例,MLOps就能正常工作了。它需要細(xì)致的準(zhǔn)備,還需要諸團(tuán)隊和部門采用統(tǒng)一的方法。以下是成功實施MLOps的幾個最佳實踐。
1.跨多個細(xì)分市場驗證模型
模型可重復(fù)使用,但軟件不能。模型的有用性會逐漸降低,因此需要再訓(xùn)練。每個新的情況都需要調(diào)整模型,需要訓(xùn)練管道來完成這項任務(wù)。
雖然試驗監(jiān)控可以幫助我們管理模型版本控制和可重復(fù)性,但在使用模型之前驗證模型也很重要。
離線或在線驗證是企業(yè)可以根據(jù)優(yōu)先事項來使用的一種選擇。使用測試數(shù)據(jù)集評估模型對實現(xiàn)業(yè)務(wù)目標(biāo)的適用性,重點關(guān)注精度和準(zhǔn)確性等指標(biāo)。在做出升級決策之前,應(yīng)將指標(biāo)與當(dāng)前的生產(chǎn)/基線模型進(jìn)行比較。
如果您的試驗在元數(shù)據(jù)方面得到了很好的跟蹤和管理,可以輕松執(zhí)行升級或回滾。本文著眼于使用A/B測試來驗證在線模型,看看它在面對真實數(shù)據(jù)時是否表現(xiàn)良好。
機器學(xué)習(xí)系統(tǒng)越來越意識到可以從數(shù)據(jù)中獲得的偏差。這方面的一個例子是Twitter的圖像裁剪工具,它對某些用戶無效??梢詫⒛P偷男阅芘c不同的用戶組進(jìn)行比較,發(fā)現(xiàn)并修復(fù)這種不準(zhǔn)確性。模型的性能還應(yīng)在各種數(shù)據(jù)集上進(jìn)行測試,以確認(rèn)它符合要求。
2.嘗試新事物,跟蹤結(jié)果
超參數(shù)搜索和特征工程是不斷發(fā)展的領(lǐng)域??紤]到技術(shù)現(xiàn)狀和數(shù)據(jù)不斷變化的模式,ML團(tuán)隊的目標(biāo)是生成最佳系統(tǒng)。
然而,這需要與最新的趨勢和標(biāo)準(zhǔn)保持同步。此外,測試這些概念,看看它們是否可以幫助您的機器學(xué)習(xí)系統(tǒng)更好地執(zhí)行。
數(shù)據(jù)、代碼和超參數(shù)都可以在試驗中使用。每個可能的變量組合都會生成可以與其他試驗的結(jié)果進(jìn)行比較的指標(biāo)。進(jìn)行調(diào)查所在的環(huán)境也可能會改變結(jié)果。
您可能還需要部署時間跟蹤軟件,以確保結(jié)果的及時性,并跟蹤花在每個項目上的時間。
3.了解MLOps的成熟度
微軟和谷歌等領(lǐng)先的云提供商使用針對MLOps采用的成熟度模型。
實施MLOps需要組織變革和新的工作實踐。隨著組織的系統(tǒng)和程序開始完善,這種情況逐漸發(fā)生。
任何成功的MLOps實施都需要如實評估組織的MLOps成熟度進(jìn)度。進(jìn)行有效的成熟度評估后,公司可以學(xué)會邁入到新的成熟度水平。改變部署過程(比如實施DevOps或引入新的團(tuán)隊成員)是其中的一部分。
有多種方法可以存儲用于機器學(xué)習(xí)的數(shù)據(jù),比如特征商店(feature store)。特征商店對于數(shù)據(jù)基礎(chǔ)架構(gòu)比較完善的組織很有幫助。它們需要確保不同的數(shù)據(jù)團(tuán)隊使用相同的特征,并減少重復(fù)工作量。如果組織只有少數(shù)幾個數(shù)據(jù)科學(xué)家或分析員,特征商店可能不值得花精力搞。
組織可以利用MLOps成熟度模型,讓技術(shù)、流程和團(tuán)隊共同成熟起來。它確保了迭代的可能性以及實施之前測試工具。
4.進(jìn)行成本效益分析
確保您了解MLOps可以為貴組織做些什么。如果您在進(jìn)行另一次購買時遵循策略,可以有效地處理每筆交易。假設(shè)您是想挑一輛汽車的購車者。面前有諸多選擇,比如跑車、SUV、緊湊轎車和豪華轎車等。您得先選擇最適合需求的類別,確保購買的車子符合需求,然后根據(jù)預(yù)算分析不同的類別和型號。
為貴公司選擇最佳的MLOps技術(shù)時,同樣如此。比如說,跑車和SUV有不同的優(yōu)缺點。同理,您可以分析幾種MLOps工具的優(yōu)缺點。
為了做出明智的戰(zhàn)略決策,您必須考慮幾個變量,包括貴公司的預(yù)算和目標(biāo)、打算進(jìn)行的MLOps活動、打算處理的數(shù)據(jù)集的來源和格式以及團(tuán)隊的能力。
5.保持溝通渠道暢通
產(chǎn)品經(jīng)理和用戶體驗設(shè)計師會影響支持系統(tǒng)的產(chǎn)品如何與客戶互動。機器學(xué)習(xí)工程師、DevOps工程師、數(shù)據(jù)科學(xué)家、數(shù)據(jù)可視化專家和軟件開發(fā)人員需要齊心協(xié)力,實施和管理長期的機器學(xué)習(xí)系統(tǒng)。
員工績效由經(jīng)理和企業(yè)主審核和鑒定,而負(fù)責(zé)合規(guī)的專業(yè)人員驗證活動是否符合公司的政策和監(jiān)管標(biāo)準(zhǔn)。
如果需要機器學(xué)習(xí)系統(tǒng)在面對不斷變化的用戶、數(shù)據(jù)模式和期望時繼續(xù)滿足業(yè)務(wù)目標(biāo),它們要相互聯(lián)系。
6.將自動化融入工作流程
由于廣泛而先進(jìn)的自動化,公司的MLOps成熟度可能會提高。許多機器學(xué)習(xí)任務(wù)必須在缺乏MLOps的環(huán)境中手動執(zhí)行。這包括特征工程、數(shù)據(jù)清理及轉(zhuǎn)換、將訓(xùn)練和測試數(shù)據(jù)分割成更小的塊、構(gòu)建模型訓(xùn)練代碼等。
數(shù)據(jù)科學(xué)家手動執(zhí)行這些任務(wù),從而為錯誤和浪費時間埋下了禍根,這些時間原本可用于探索。
持續(xù)再訓(xùn)練是自動化實際運用的典型例子,數(shù)據(jù)分析員可能為驗證、數(shù)據(jù)攝取、特征工程、試驗和模型測試建立管道。持續(xù)再訓(xùn)練可防止模型漂移,通常被視為自動化機器學(xué)習(xí)的早期步驟。
原文鏈接:https://www.kdnuggets.com/2022/04/mlops-best-practices-apply.html