幾年前我們開始發(fā)布文章(參見本文末尾的“相關(guān)資源”),了解數(shù)據(jù)團隊開始接受更多機器學(xué)習(xí)(ML)項目時所面臨的挑戰(zhàn)。 在此過程中, 我們描述了一個新的工作角色/崗位: 機器學(xué)習(xí)工程師,其專注于創(chuàng)建數(shù)據(jù)產(chǎn)品,并使數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中發(fā)揮作用,這一角色在兩年前開始在舊金山灣區(qū)出現(xiàn)。 當(dāng)時,沒有任何流行的工具可以解決機器學(xué)習(xí)落地團隊所面臨的問題。
大約10個月前,Databricks發(fā)布了MLflow,這是一個用于管理機器學(xué)習(xí)開發(fā)的新開源項目(完全披露利益相關(guān):Ben Lorica是Databricks的顧問)。 我們認(rèn)為,由于缺乏明確的開源競品替代方案,MLflow有很大的機會吸引用戶使用,事實證明情況確實如此。 在相對較短的時間內(nèi),MLflow在GitHub上獲得了超過3,300顆星,來自40多家公司有80多名工程師成為了代碼貢獻者。 最重要的是,超過200家公司正在使用MLflow。
那么,為什么這個新的開源項目會引起數(shù)據(jù)科學(xué)家和機器學(xué)習(xí)工程師的共鳴呢? 回想一下機器學(xué)習(xí)項目的關(guān)鍵屬性:
- 與目標(biāo)是滿足功能參數(shù)的傳統(tǒng)軟件不同,在機器學(xué)習(xí)中,我們的目標(biāo)是優(yōu)化指標(biāo)。
- 質(zhì)量不僅取決于代碼,還取決于數(shù)據(jù),優(yōu)化方法,定期更新和重新訓(xùn)練。
- 參與機器學(xué)習(xí)的人通常希望嘗試新的庫,算法和數(shù)據(jù)源 – 因此,必須能夠?qū)⑦@些新組件投入生產(chǎn)環(huán)境。
MLflow的成功可歸功于輕量級的“開放式界面”,允許用戶連接他們喜愛的機器學(xué)習(xí)庫,以及用戶可以選擇的三個組件的可用性(即,他們可以使用其中的一個,兩個或全部三個):

圖1. Matei Zaharia提供圖片,經(jīng)許可使用
事實上,人們可以按需選擇任意MLflow組件,意味著項目能夠快速滿足各種用戶的需求。 根據(jù)我們對MLflow用戶正在進行的調(diào)查,以下是一些最常用的用例:
- 跟蹤和管理大量機器學(xué)習(xí)實驗:MLflow對于跟蹤他/她自己的實驗的個別數(shù)據(jù)科學(xué)家非常有用,但它也被設(shè)計用于擁有大型機器學(xué)習(xí)開發(fā)團隊的公司,他們使用它來跟蹤數(shù)千個莫O型。
- MLflow用于管理多階段的機器學(xué)習(xí)管線。
- 模型封裝:公司正在使用MLflow將自定義邏輯和依賴關(guān)系作為模型包抽象的一部分,然后再將其部署到生產(chǎn)環(huán)境中(例如:推薦系統(tǒng)可能被硬編碼為,不向未成年人顯示某些圖像)。
即將發(fā)布的0.9.0版本具有許多新功能,包括支持MLflow跟蹤服務(wù)器的數(shù)據(jù)庫存儲,這將使大型團隊更容易查詢和跟蹤正在進行的和過去的實驗。
我們?nèi)蕴幱谥С謭F隊開發(fā)機器學(xué)習(xí)模型的工具的早期階段。 除了MLflow之外,像Comet.ml和Verta.ai這樣的初創(chuàng)公司正在構(gòu)建工具來緩解類似的痛點。 隨著軟件開發(fā)在未來幾年開始傾向于變得像ML開發(fā),我們期望看到更多在基礎(chǔ)工具上的投入。
模型治理
公司需要認(rèn)真研究開發(fā)機器學(xué)習(xí)模型的改進工具,這些工具是更有野心的工具套件的一部分。 機器學(xué)習(xí)不僅限于擁有博士學(xué)位的研究人員;? 人手遠(yuǎn)遠(yuǎn)不夠。
機器學(xué)習(xí)正處于民主化的過程中; 讓軟件開發(fā)人員能夠使用工具構(gòu)建和訓(xùn)練模型對于民主化進程至關(guān)重要。
我們還說過,在生產(chǎn)環(huán)境中部署的機器學(xué)習(xí)模型數(shù)量將急劇增加:許多應(yīng)用程序?qū)⒂稍S多模型構(gòu)建,許多公司將希望自動化其業(yè)務(wù)的方方面面。 這些模型將會因太舊而失效,需要定期重新訓(xùn)練。 我們已經(jīng)習(xí)慣于數(shù)據(jù)治理、數(shù)據(jù)來源管理,理解和控制流行“數(shù)據(jù)驅(qū)動類應(yīng)用”的數(shù)據(jù)庫。 我們現(xiàn)在也意識到,對模型而言也是如此。 公司需要跟蹤他們正在建造的模型以及他們在生產(chǎn)中的模型。
像Datatron這樣的初創(chuàng)公司開始使用術(shù)語“模型治理”來描述跟蹤和管理模型的任務(wù),他們開始在產(chǎn)品套件中構(gòu)建模型治理工具。 該術(shù)語描述了企業(yè)和大公司開始使用的流程,這樣能夠了解團隊正在開展的許多ML計劃和項目。 監(jiān)管機構(gòu)也表示,他們對構(gòu)建在人工智能和機器學(xué)習(xí)之上的產(chǎn)品感興趣,因此管理ML開發(fā)的系統(tǒng)將需要遵守未來的法規(guī)。 以下是一些將在構(gòu)建模型治理解決方案中發(fā)揮作用的要素:
- 管理授權(quán)/安全性的數(shù)據(jù)庫:誰具有對某些模型的讀/寫訪問權(quán)限
- 模型的目錄/數(shù)據(jù)庫:包括測試,訓(xùn)練和部署模型的時間
- 審計所需的元數(shù)據(jù)和中間件:例如,MLflow組件的輸出與審計非常相關(guān)
- 用于部署,監(jiān)控和警報的系統(tǒng):誰批準(zhǔn)并將模型推向生產(chǎn),誰能夠監(jiān)控其性能并接收警報,以及誰對模型負(fù)責(zé)
- 一個儀表板,為所有主體(操作,ML工程師,數(shù)據(jù)科學(xué)家,企業(yè)主)提供自定義視圖
傳統(tǒng)軟件開發(fā)人員長期以來一直有管理項目的工具。 這些工具提供版本控制,庫管理,部署自動化等功能。 機器學(xué)習(xí)工程師知道并使用所有這些工具,但這些工具還不夠。 我們開始看到適合提供機器學(xué)習(xí)工程師所需功能的工具,包括模型治理,跟蹤實驗和打包模型的工具,以便結(jié)果可重復(fù)。 機器學(xué)習(xí)民主化的下一個重要步驟是使其更加易于管理:不僅僅是手工制作解決方案,還有使機器學(xué)習(xí)在企業(yè)級規(guī)模上可管理、可部署的解決方案。
相關(guān)資源?
- “什么是機器學(xué)習(xí)工程師?” :一個新的角色,專注于創(chuàng)建數(shù)據(jù)產(chǎn)品和使數(shù)據(jù)科學(xué)在生產(chǎn)中工作
- “機器學(xué)習(xí)對軟件開發(fā)意味著什么”
- “機器學(xué)習(xí)中的深度自動化”
- “什么是硬核的數(shù)據(jù)科學(xué)實踐?” :將數(shù)據(jù)科學(xué)投入生產(chǎn)的架構(gòu)解剖
- “從機器學(xué)習(xí)模型轉(zhuǎn)化為真實的產(chǎn)品和服務(wù)過程中獲得的經(jīng)驗教訓(xùn)”
- Harish Doddi談“簡化機器學(xué)習(xí)生命周期管理”
- Jesse Anderson和Paco Nathan撰寫“機器學(xué)習(xí)工程師需要了解的內(nèi)容”
- “數(shù)據(jù)工程師與數(shù)據(jù)科學(xué)家”



