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