我們過去幾年的調(diào)查表明,很多不同行業(yè)的機構對機器學習(ML)越來越感興趣。有幾個因素促成人們在產(chǎn)品和服務中運用機器學習。首先,機器學習社區(qū)已經(jīng)在企業(yè)感興趣的許多領域?qū)崿F(xiàn)了研究的突破,并且大部分研究都通過預發(fā)表和專業(yè)會議演示進行了公布。我們也開始看到研究人員共享出在流行的開源框架中編寫的示例代碼,有些甚至共享出了預先訓練好的模型。企業(yè)和機構現(xiàn)在還可以從更多的應用案例從中吸取靈感。非常有可能在你感興趣的行業(yè)或領域里,你可以找到許多有趣的機器學習的應用并借鑒參考。最后,建模工具正在被改進和優(yōu)化,同時自動化工具已經(jīng)可以讓新用戶去解決那些曾經(jīng)是需要專家才能解決的問題。
隨著機器學習進入落地階段,人們很自然地希望改進那些面向企業(yè)運用機器學習的工具。 在之前的博文中,我們概述了在企業(yè)和機構內(nèi)運用機器學習所需的基礎技術,并且一些早期跡象表明模型開發(fā)和模型管理的工具已經(jīng)開始獲得用戶的青睞。
?
圖1 主要面向模型開發(fā)、管理和運維的工具的集合。圖片來源:Ben Lorica
模型開發(fā)
企業(yè)越來越認真地看待機器學習的一個明確跡象就是:專門為管理機器學習模型開發(fā)生命周期而設計的工具(例如MLflow和Comet.ml)越來越受歡迎。為什么傳統(tǒng)的軟件工具不勝任了?在之前的一篇博文中,我們注意到一些區(qū)分一個項目是否是機器學習項目的關鍵屬性:
- 不像傳統(tǒng)的軟件,其主要目的是滿足功能需求。機器學習的目標是優(yōu)化一個指標。
- 質(zhì)量不僅僅依賴于代碼,還包括數(shù)據(jù)、調(diào)參、規(guī)律地升級和再訓練。
- 參與機器學習的人總是希望能對新的庫、算法和數(shù)據(jù)源進行嘗試。因此工具就需要能把這些新的組件引入生產(chǎn)系統(tǒng)中。
MLflow等工具被更多地采用表明,實際上對新工具的需求是非常強烈的。這些機器學習開發(fā)工具專門用于幫助開發(fā)人員、機器學習工程師和數(shù)據(jù)科學家等團隊進行協(xié)作、管理和再現(xiàn)機器學習的實驗。模型開發(fā)類別中的許多工具允許用戶系統(tǒng)地進行建模實驗(例如超參數(shù)調(diào)優(yōu)和網(wǎng)絡架構搜索),同時重點關注于管理、跟蹤和再現(xiàn)這些實驗的便利性上。
模型管理
我們也開始見到有的公司對模型管理工具和能力有需求。正如長期以來,企業(yè)已經(jīng)將數(shù)據(jù)視為資產(chǎn)一樣,隨著機器學習對企業(yè)和機構的運營變得越來越重要,模型必將被視為重要的資產(chǎn)。更確切地說,需要管理和保護為專門的應用構建或調(diào)優(yōu)的模型(實際上這意味著模型+數(shù)據(jù)):
- 用于授權和安全的數(shù)據(jù)庫:誰讀/寫了某個模型?
- 一個目錄或者數(shù)據(jù)庫,用來記錄模型信息,包括某個模型什么時候被測試、訓練和部署的。
- 一個驗證數(shù)據(jù)集的目錄,以及對存儲的模型的準確度測量結(jié)果。
- (模型、特征向量和數(shù)據(jù)的)版本控制,以及能夠進行前推、回滾或者允許多版本的能力。
- 用于全面審計追蹤的元數(shù)據(jù)和工件。
- 誰批準并把模型發(fā)布到生產(chǎn)環(huán)節(jié),誰能夠監(jiān)控模型的表現(xiàn)并收到告警,以及誰對模型負責。
- 對于所有的參與者(運維、機器學習工程師、數(shù)據(jù)科學家和業(yè)務方)提供的可以定制頁面展示的管理儀表盤。
模型運維、測試和監(jiān)控
隨著機器學習在產(chǎn)品和服務中應用的激增,我們需要一系列的角色、最佳實踐和工具來在實際生產(chǎn)環(huán)境中部署、管理、測試和監(jiān)控機器學習模型。已經(jīng)出現(xiàn)了一些針對模型運維和測試的工具,它們主要可被用于部署和監(jiān)控機器學習的模型。但很明顯,我們?nèi)蕴幱谔峁┻@些領域解決方案的早期階段。
有三個常見問題會在模型發(fā)布到生產(chǎn)環(huán)境后降低機器學習的價值。第一個是概念漂移。由于現(xiàn)實世界的變化,生產(chǎn)環(huán)境中的模型的準確性會隨著時間的推移而降低,這是由于訓練模型的數(shù)據(jù)與需要預測的數(shù)據(jù)之間的差距變得越來越大。第二個問題是地域。當模型被部署到新的地理位置、新的用戶群或商業(yè)客戶時,之前訓練的模型通常不會以預期的準確度工作。 對每個客戶、地理區(qū)域、人口統(tǒng)計群體進行在線準確性測量對于偏差監(jiān)控和確保面對不斷增長的客戶群時的準確性非常重要。第三是數(shù)據(jù)質(zhì)量。由于機器學習模型對輸入數(shù)據(jù)的含義很敏感,傳統(tǒng)數(shù)據(jù)質(zhì)量工具經(jīng)常忽略的數(shù)據(jù)分布變化會對模型的準確性造成嚴重影響。
除了需要監(jiān)控當前部署的模型是否按預期運行之外,另一個挑戰(zhàn)確保新的模型在生產(chǎn)環(huán)境中確實有更好的表現(xiàn)。一些新出現(xiàn)系統(tǒng)允許將“現(xiàn)有模型”與“挑戰(zhàn)者模型”進行比較,包括讓挑戰(zhàn)者處于“暗啟動”或“離線”模式(這意味著挑戰(zhàn)者模型是對生產(chǎn)流量進行評估但尚未部署到生產(chǎn)環(huán)境中)。其他值得注意的項目包括:
- 用于持續(xù)集成和持續(xù)測試模型的工具。模型返回有效值,并不意味著模型“正確”。它必須滿足準確度的要求。在部署模型之前,需要有一種方法來針對給定的度量指標和驗證集來測試這一點。
- 在線測量每個模型的準確性(用戶在“真實場景”中得到的準確度是多少?)。與此相關的是需要監(jiān)控偏差、地區(qū)效應和相關風險。例如,指標得分需要根據(jù)人口統(tǒng)計數(shù)據(jù)(男性和女性是否獲得類似的準確度?)或語言區(qū)域(德語和西班牙語用戶是否獲得類似的準確度?)進行細分。
- 能夠針對不同客戶進行服務質(zhì)量管理的能力,包括速率限制、請求大小限制、計量、機器人檢測和IP地理圍欄。
- 有能力擴展(并且是自動擴展)、確保模型安全、監(jiān)控模型和排除運行中模型的故障。擴展有兩個維度:模型能服務的流量上限和需要的模型數(shù)量。
模型運維和測試仍然是一個新生的領域,相關的系統(tǒng)性的檢查表才剛剛出現(xiàn)。來自谷歌2017年的一篇論文中的概述讓我們可以判斷模型運維和測試還需要多少工具。本文附帶一份28項的檢查表,詳細說明了想擁有可靠的生產(chǎn)級機器學習系統(tǒng)需要考慮的事項:
- 特征和數(shù)據(jù):包括七點內(nèi)容:檢查隱私控制、特征驗證、探索特征的必要性和特征的成本以及其他與數(shù)據(jù)相關的測試。
- 模型的開發(fā)測試:七項健全性檢查,包括:檢查更簡單的模型是否足夠用、對于關鍵數(shù)據(jù)切片(例如,地區(qū)、年齡、新近度、頻率等)的表現(xiàn)、模型老化的影響以及其他重要的因素。
- 基礎設施測試:七個考慮因素,包括:模型訓練的可重復性、模型可以輕松回滾、端到端模型管道的集成測試、針對金絲雀過程的模型測試。
- 監(jiān)控:作者列出了確保模型按預期工作的七點內(nèi)容,包括:對模型老化的測試,性能指標(訓練、推斷、吞吐量),驗證訓練和服務代碼會生成類似的結(jié)果,以及其他基本項。
新角色
圍繞機器學習的討論往往涉及到數(shù)據(jù)科學家和模型構建專家的工作。隨著許多公司開始進入機器學習的落地實施階段,這種情況開始發(fā)生變化。機器學習工程師、數(shù)據(jù)工程師、開發(fā)人員和領域?qū)<覍C器學習項目的成功至關重要。目前,很少有(如果有的話)團隊擁有如同Google 2017年的論文里所述檢查表一樣廣泛內(nèi)容的檢查表。構建真實世界里的生產(chǎn)級機器學習模型的任務仍然需要把跨越許多功能領域的工具和團隊拼湊在一起。然而,隨著模型治理和模型運維和測試的工具開始變得精致并且變得更加廣泛可用,專家(“MLops團隊”)將會負責使用這些工具。自動化工具也將是一個重要組件,它們要能使企業(yè)和機構構建、管理和監(jiān)控更多的機器學習模型。
?
圖2 企業(yè)和機構對于管理機器學習的工具的需求。圖片來源:Ben Lorica
我們開始看到出現(xiàn)了一些能讓團隊管理機器學習模型的開發(fā)生命周期的專用工具。像MLflow這樣的工具可以被用來跟蹤和管理機器學習實驗(主要是離線階段,并使用測試數(shù)據(jù))。還有一些新工具則涵蓋了模型管理、生產(chǎn)環(huán)境部署,模型服務和監(jiān)控等方面,但目前他們傾向于只針對某個機器學習庫(比如TFX)或建模工具(SAS模型管理器)。實際的情況是,企業(yè)需要對于語言庫、建模工具和使用的環(huán)境更靈活的應用能力。幸運的是,初創(chuàng)公司和大企業(yè)已經(jīng)開始構建用于在企業(yè)中實現(xiàn)機器學習的綜合工具。
相關內(nèi)容:
- “現(xiàn)代深度學習:工具和技術”:人工智能圣何塞大會上的一個教學課程。
- 《成為一個機器學習企業(yè)意味著對基礎技術的投資》
- 《用于機器學習開發(fā)和模型管理的特殊工具正變得非常重要》
- 《在調(diào)優(yōu)機器學習模型成為真正的產(chǎn)品和服務過程中學到的經(jīng)驗教訓》
- Harish Doddi的《簡化機器學習生命周期管理》
- Ira Cohen的《應用機器學習來獲取關于機器學習算法的洞察》
- Ameet Talwalkar的《對于神經(jīng)網(wǎng)絡架構搜索的隨機搜索和可再現(xiàn)》
- 《機器學習的深度自動化》
- 《我們需要構建機器學習工具來增強機器學習工程師》
- 《管理機器學習的風險》


