對(duì)數(shù)據(jù)科學(xué)家來說,給數(shù)據(jù)打上標(biāo)簽并開發(fā)出一個(gè)準(zhǔn)確的機(jī)器學(xué)習(xí)模型是很困難的,而且在生產(chǎn)中管理模型也可能會(huì)更加令人生畏。識(shí)別模型漂移、通過更新數(shù)據(jù)集來對(duì)模型進(jìn)行再訓(xùn)練、提高性能以及維護(hù)底層技術(shù)平臺(tái)都是重要的數(shù)據(jù)科學(xué)實(shí)踐。如果沒有這些規(guī)程,模型就可能會(huì)產(chǎn)生嚴(yán)重影響業(yè)務(wù)的錯(cuò)誤結(jié)果。
開發(fā)出一個(gè)可用于生產(chǎn)的模型并非易事。根據(jù)一項(xiàng)機(jī)器學(xué)習(xí)的研究,55%的公司沒有將模型部署到生產(chǎn)當(dāng)中,40%或更多的公司需要30天以上才能部署一個(gè)模型。而即使成功也會(huì)帶來新的挑戰(zhàn),41%的受訪者承認(rèn)了機(jī)器學(xué)習(xí)模型的版本控制和再現(xiàn)性的困難。
這里的教訓(xùn)是,一旦機(jī)器學(xué)習(xí)模型被部署到生產(chǎn)中并在業(yè)務(wù)流程中被使用,新的障礙就又會(huì)出現(xiàn)。
模型管理和操作曾經(jīng)是更先進(jìn)的數(shù)據(jù)科學(xué)團(tuán)隊(duì)的挑戰(zhàn)?,F(xiàn)在的任務(wù)則還包括了監(jiān)控生產(chǎn)機(jī)器學(xué)習(xí)模型的漂移,自動(dòng)再訓(xùn)練模型,當(dāng)漂移顯著時(shí)發(fā)出警報(bào),以及識(shí)別模型何時(shí)需要被升級(jí)。隨著越來越多的組織投資于機(jī)器學(xué)習(xí),建立模型管理和操作的意識(shí)就變得越來越有必要了。
好消息是,諸如開源的MLFlow和DVC等平臺(tái)和庫,以及來自Alteryx、Databricks、Dataiku、SAS、DataRobot、ModelOp等的商業(yè)工具,正在使數(shù)據(jù)科學(xué)團(tuán)隊(duì)的模型管理和操作變得更加容易。公共云提供商也分享了一些實(shí)踐,比如Azure Machine Learning所提供的MLops。
模型管理和devops之間有一些相似之處。許多人將模型管理和操作稱為MLops,并將其定義為開發(fā)和維護(hù)機(jī)器學(xué)習(xí)模型所需的文化、實(shí)踐和技術(shù)。
理解模型管理和操作
為了更好地理解模型管理和操作,需要考慮軟件開發(fā)實(shí)踐與科學(xué)方法的結(jié)合。
作為一名軟件開發(fā)人員,你知道完成應(yīng)用程序的版本并將其部署到生產(chǎn)環(huán)境中并非是一件易事。而且,一旦應(yīng)用程序進(jìn)入生產(chǎn)環(huán)境,一個(gè)更大的挑戰(zhàn)就開始了。最終用戶希望定期進(jìn)行增強(qiáng),底層基礎(chǔ)設(shè)施、平臺(tái)和庫也需要打補(bǔ)丁和維護(hù)。
現(xiàn)在讓我們轉(zhuǎn)向科學(xué)的世界,在那里,其問題也會(huì)導(dǎo)致多種假設(shè)和重復(fù)實(shí)驗(yàn)。你在科學(xué)課上學(xué)會(huì)了維護(hù)這些實(shí)驗(yàn)的日志,并能夠跟蹤從一個(gè)實(shí)驗(yàn)到下一個(gè)實(shí)驗(yàn)調(diào)整不同變量的過程。試驗(yàn)會(huì)帶來更好的結(jié)果,記錄過程則有助于讓同事相信你已經(jīng)探索了所有的變量,并且結(jié)果是可重復(fù)的。
使用機(jī)器學(xué)習(xí)模型進(jìn)行實(shí)驗(yàn)的數(shù)據(jù)科學(xué)家必須結(jié)合來自軟件開發(fā)和科學(xué)研究的學(xué)科。機(jī)器學(xué)習(xí)模型是用Python和R等語言開發(fā)的軟件代碼,使用TensorFlow、PyTorch或其他機(jī)器學(xué)習(xí)庫進(jìn)行構(gòu)建,運(yùn)行在Apache Spark等平臺(tái)上,并被部署到了云基礎(chǔ)設(shè)施上面。機(jī)器學(xué)習(xí)模型的開發(fā)和支持需要大量的實(shí)驗(yàn)和優(yōu)化,數(shù)據(jù)科學(xué)家必須證明他們的模型的準(zhǔn)確性。
像軟件開發(fā)一樣,機(jī)器學(xué)習(xí)模型也需要不斷的維護(hù)和增強(qiáng)。其中的一些可能來自維護(hù)代碼、庫、平臺(tái)和基礎(chǔ)設(shè)施,但是數(shù)據(jù)科學(xué)家還必須關(guān)注模型漂移的問題。簡單地說,當(dāng)新的數(shù)據(jù)可用,而機(jī)器學(xué)習(xí)模型所提供的預(yù)測、聚類、分割和建議又偏離預(yù)期結(jié)果時(shí),模型漂移就發(fā)生了。
成功的模型管理始于開發(fā)最佳模型
我與Alteryx的首席數(shù)據(jù)和分析官Alan Jacobson就組織如何成功地進(jìn)行機(jī)器學(xué)習(xí)模型開發(fā)進(jìn)行了交談。“為了簡化模型開發(fā),大多數(shù)數(shù)據(jù)科學(xué)家所面臨的第一個(gè)挑戰(zhàn)是如何確保擁有一個(gè)強(qiáng)有力的問題表述。許多復(fù)雜的業(yè)務(wù)問題可以通過非常簡單的分析來解決,但這首先需要以數(shù)據(jù)和分析能夠有助于回答問題的方式來構(gòu)建問題。即使使用了最復(fù)雜的模型,在這個(gè)過程中最困難的部分也通常是如何構(gòu)建數(shù)據(jù),并確保使用的正確輸入處于正常的質(zhì)量水平。”
我同意Jacobson的觀點(diǎn)。太多的數(shù)據(jù)和技術(shù)實(shí)現(xiàn)是從糟糕的或沒有問題的陳述開始的,而且沒有足夠的時(shí)間、工具和專業(yè)知識(shí)來確保足夠的數(shù)據(jù)質(zhì)量。組織必須首先從提出一個(gè)關(guān)于大數(shù)據(jù)的聰明的問題開始,投資于數(shù)據(jù)操作,然后使用數(shù)據(jù)科學(xué)中的敏捷方法來迭代解決方案。
監(jiān)控機(jī)器學(xué)習(xí)模型的模型漂移
獲得一個(gè)精確的問題定義對(duì)于生產(chǎn)中的模型的持續(xù)管理和監(jiān)控是至關(guān)重要的。Jacobson繼續(xù)解釋道:“監(jiān)控模型是一個(gè)重要的過程,但想要正確地進(jìn)行監(jiān)控就需要對(duì)需要監(jiān)控的目標(biāo)和潛在的不利影響有深刻的理解。雖然大多數(shù)人討論的是監(jiān)測模型的性能以及隨時(shí)間的變化,但在這個(gè)領(lǐng)域,更重要和更具挑戰(zhàn)性的是對(duì)意外結(jié)果的分析。”
理解模型漂移和意外結(jié)果的一個(gè)簡單方法就是考慮COVID-19對(duì)那些使用了大流行前的訓(xùn)練數(shù)據(jù)所開發(fā)的機(jī)器學(xué)習(xí)模型的影響?;谌祟愋袨榈臋C(jī)器學(xué)習(xí)模型、自然語言處理、消費(fèi)者需求模型或欺詐模式都受到了大流行期間不斷變化的行為的影響,而這些變化擾亂了人工智能模型。
隨著越來越多的組織開始獲得價(jià)值并使數(shù)據(jù)科學(xué)程序日趨成熟,技術(shù)提供商也正在發(fā)布新的MLops功能。例如,SAS引入了一個(gè)特征貢獻(xiàn)指數(shù),能夠幫助數(shù)據(jù)科學(xué)家在沒有目標(biāo)變量的情況下評(píng)估模型。Cloudera則于最近宣布了一項(xiàng)ML監(jiān)控服務(wù),它可以捕獲技術(shù)性能指標(biāo)和跟蹤模型預(yù)測。
MLops還解決了自動(dòng)化和協(xié)作的問題
在開發(fā)一個(gè)機(jī)器學(xué)習(xí)模型和在生產(chǎn)中監(jiān)控它之間,還有一些額外的工具、流程、協(xié)作和使數(shù)據(jù)科學(xué)實(shí)踐能夠得以擴(kuò)展的能力。一些自動(dòng)化和基礎(chǔ)設(shè)施就像是devops,包括了適用于機(jī)器學(xué)習(xí)模型的基礎(chǔ)設(shè)施即代碼和CI/CD(持續(xù)集成/持續(xù)部署)。還有一些其他的開發(fā)人員的能力,例如使用底層培訓(xùn)數(shù)據(jù)來對(duì)模型進(jìn)行版本控制,以及搜索模型存儲(chǔ)庫。
MLops更有趣的一面是為數(shù)據(jù)科學(xué)團(tuán)隊(duì)帶來了科學(xué)的方法和協(xié)作。例如,DataRobot啟用了一個(gè)冠軍-挑戰(zhàn)者模型,該模型可以并行運(yùn)行多個(gè)實(shí)驗(yàn)?zāi)P?,以挑?zhàn)生產(chǎn)版本的準(zhǔn)確性。SAS希望幫助數(shù)據(jù)科學(xué)家提高進(jìn)入市場的速度和數(shù)據(jù)質(zhì)量。Alteryx則于最近引入了Analytics Hub,以幫助數(shù)據(jù)科學(xué)團(tuán)隊(duì)之間的協(xié)作和共享。
所有這些都表明,管理和擴(kuò)展機(jī)器學(xué)習(xí)需要更多的紀(jì)律和實(shí)踐,而不是簡單地去要求數(shù)據(jù)科學(xué)家使用Python編寫和測試一個(gè)隨機(jī)森林、k均值或卷積神經(jīng)網(wǎng)絡(luò)。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。