在過去幾年中,人工智能和機器學習( ML )在主流企業中的角色發生了變化。一旦研究或高級開發活動,它們現在為生產系統提供了重要的基礎。
隨著越來越多的企業尋求用人工智能和 ML 改造業務,越來越多的人在談論 MLOps 。如果你一直在聽這些對話,你可能會發現幾乎所有參與的人都同意你需要一個 MLOps 戰略來將 ML 投入生產。
本文簡要概述了企業 MLOps 。要了解更多信息,請與我一起參加 NVIDIA GTC 2023 的 Enterprise MLOps 101 ,這是對企業 MLOps 環境的介紹。我將與我的同事邁克爾·巴林特一起介紹會議。
為什么 MLOps 令人困惑
MLOps 對話令人困惑,主要原因如下。
MLOps 范圍廣泛
MLOps 是一個寬泛的術語,描述了使組織能夠設計、開發和維持生產 ML 系統的技術、流程和文化。幾乎任何與常規軟件開發、數據管理或與生產 ML 系統相關的商業智能 could be 相關的工具或系統。
由于 MLOps 是一個熱門話題,因此許多與生產 ML 系統相關的此類工具和系統已重新命名,以強調其與 MLOps 的聯系。
MLOps 是多樣化的
機器學習系統是復雜的軟件系統。不同的組織和從業者將采取不同的方法來管理這種復雜性,就像他們管理構建和維護傳統軟件系統的復雜性一樣。
然而,由于組織在構建傳統軟件的過程中并沒有構建生產 ML 系統,因此標準化方法尚未建立。用于描述這些系統的語言以及評估這些系統的標準也缺乏標準化。
當不同的人談論 MLOps 時,可能會感到困惑,因為他們可能在描述問題空間的不同部分。例如,對其用例、行業或組織流程和工具最重要的部分。
MLOps 很復雜
MLOps 非常復雜。然而,由于經驗豐富的 MLOps 從業者和組織專注于其特定方法和工具的細節,他們傾向于強調其復雜性。問題的一部分是,在生產機器學習這樣的不斷發展的領域中,很難弄清楚如何區分偶然復雜性和本質復雜性,以便呈現復雜問題的簡單視圖。
克服困惑
開始接近 MLOps 的一個更好的方法是思考您的組織今天在機器學習方面正在做什么,您希望在未來做什么,以及您將因此在機器學習系統方面面臨哪些挑戰。
需要解決哪些問題?
不同的 ML 問題對 ML 系統提出了不同類型的要求。涉及非結構化數據的問題,如理解視頻、音頻或自然語言,與涉及表格業務數據的問題相比,需要付出更多的努力(包括人工努力)來標記訓練示例,在表格業務數據中,標記工作通常是微不足道的或自動化的。
一些問題得益于只需要從單一來源立即獲得的數據的模型,而其他方法和問題則取決于將來自多個來源的歷史數據和聚合數據與新的觀測結果聯合起來進行預測。 ML 的新應用程序可能受益于對實驗性和探索性開發的更好支持,而成熟系統可能受益于開發過程自動化。
最后,為了驗證其適用性和安全性,需要在一系列條件下(包括不太可能或對抗性場景)模擬自動化可能影響人類生命、控制危險機器或管理金融投資組合的關鍵決策的系統。如果您正在處理包含特殊需求的問題,請確保您找到了能夠幫助您滿足這些需求的 MLOps 解決方案。
需要考慮哪些因素?
類似地,一些應用領域和業務需求對機器學習系統提出了技術要求。受監管行業的應用程序通常受益于能夠復制和解釋歷史結果,例如解釋金融承銷討論或顯示用戶的個人數據未用于培訓模型。
對延遲敏感的應用程序,如搜索、媒體推薦和廣告定位,可以從支持低延遲預測的基礎設施中受益,并從更多和更少復雜模型的集合中提供結果,以改善最壞情況下的響應時間。許多感知問題將受益于轉移學習的基礎設施和能夠處理和優化大型復雜模型的服務框架。
今天的 ML 和數據團隊是什么樣子的?
正如整個 ML 環境不斷發展一樣,數據團隊的角色和角色也在不斷發展。在 2010 年代早期,“數據科學家”是一個全面的角色,承擔著大量的數據工程和軟件開發責任,同時也具有一定的統計復雜性。如今,數據科學家的專業化程度要高得多。團隊現在通常包括以下角色:
數據科學家?專注于設計和執行實驗,以識別和利用數據中的模式,使用基本摘要和聚合、應用統計和機器學習等工具。
數據工程師?使數據(無論是結構化的還是非結構化的、靜態的還是動態的)可以大規模使用,并解決了編目、治理和訪問控制方面的問題。
業務分析師?使用結構化聯邦數據集上的查詢處理來理解業務問題的特征。
應用開發者?通過基于數據科學家的實驗開發成熟和健壯的服務,與數據工程師維護的數據服務集成,以及開發傳統應用程序組件和與企業中間件的集成來構建生產系統。
機器學習工程師?的職責涉及多個角色,但特別關注開發、維護和優化生產基礎設施。
思考您的數據團隊中目前有哪些人參與,以及您將來希望有哪些人參加,這是評估 MLOps 工具、系統和解決方案的一個重要方面。這個評估告訴你什么對你的團隊很重要,誰是給定解決方案的受眾。
評估環境并為團隊設計解決方案
在考慮了您試圖解決的問題和數據團隊的組成后,您準備根據您和您的組織需要的解決方案來評估和了解 MLOps 環境。您的目標是支持您自己的機器學習計劃,而不是根據供應商和影響者對 MLOps 的看法來理解 MLOps 環境。
以工作流為中心的方法
由于 MLOps 生態系統正在快速發展,許多產品類別并非相互排斥,且界限模糊。這意味著,您不一定希望將 MLOps 解決方案視為功能清單或互補產品的組合,它們像構建塊一樣組合在一起。這種方法將使您對不斷變化的環境有一個特定的看法。
相反,想想人們如何共同構建機器學習系統,以及不同類型的工具和系統如何支持它們。
圖 1 顯示了一個典型的機器學習發現工作流。該工作流具有七個人工流程,每個流程通知下一個流程。每個階段涉及的人物角色都需要注意:數據科學家和業務分析師人物角色通常不關心計算基礎設施的細節,而工程師和應用程序開發人員則直接與基礎設施進行交互,這是他們工作的一部分。

因為人類總是有不完整的信息(并且經常犯錯誤),所以在任何時候都有可能回到早期的工作流階段,并根據新的見解重新審視早期的決策。您的組織如何談論 ML 工作流可能涉及稍微不同的術語或不同的階段,但在任何情況下都應該可以遵循。
在 ML 工作流中支持您的團隊
MLOps 工具如何支持 ML 工作流?圖 2 描述了各種重疊的產品類別以及它們如何支持 ML 工作流的各個方面。工作流上方描繪了與底層計算基礎設施無關或隔離的人物角色和產品類別,而工作流下方描繪了依賴于與底層計算結構直接交互的人物角色與產品。

圖 2 中最頂級的類別 end-to-end, 包括 ML 平臺產品,這些產品包含控制平面和對多個生命周期階段的支持。需要注意的是,術語“端到端”不是價值判斷或完整性聲明。這一類別的成員資格僅表明特定產品涵蓋了生命周期的一大部分,并設計為自行運營。
圖 2 中的第二類結合了 data wrangling 產品,其中包括數據探索、可視化和高級聯合功能、傳統商業智能和分析產品,以及非結構化數據的標簽產品。您正在解決的問題類型將表明這些類型的服務中的哪些與您的工作流程最相關。
交互開發 產品提供了一個控制平面,使數據科學和 ML 從業者能夠訪問按需計算資源。這些工具通常提供管理開發環境的工具,并與外部版本控制系統、桌面 IDE 和其他獨立開發工具集成。它們提供了內部部署和公共云基礎設施的統一視圖,并使團隊更容易在項目上進行協作。
體驗管理?產品提供了一種跟蹤各種模型配置(以及版本化的代碼和數據)結果的方法,以了解建模性能隨時間的變化。 AutoML 系統建立在實驗管理的基礎上,自動搜索給定技術的可能技術和超參數的空間,以產生具有最小從業者輸入的訓練模型。
數據管理?產品支持數據倉庫、數據版本控制、攝取和訪問控制。從 ML 系統的角度來看,數據版本控制通常是關鍵部分。可復制的工作取決于能夠識別模型所基于的數據。
功能管理?產品結合了 feature stores 來跟蹤衍生、聚合或昂貴的開發和生產計算功能。這些還可以支持某些組織中圍繞特征工程方法的協作。
管道管理 產品提供了一種協調和監控探索和生產工作流中涉及的多個軟件組件的方法,例如預處理、培訓和推理。
模型操作?產品解決了將模型發布為可部署服務、部署這些預測服務、管理和路由到預測服務集合、事后解釋預測、跟蹤來自預測的反饋以及監控模型輸入和輸出的概念漂移等問題。
基礎設施管理 提供了在底層硬件或云資源上調度計算作業和服務的接口。從機器學習系統的角度來看,這一領域的產品通常很有趣,如果它們為加速硬件、組調度和其他 ML 特定問題提供了特殊支持。
了解更多信息
這是一個令人興奮的時間來思考和構建 ML 系統。 Register for NVIDIA GTC 2023 for free ,并于 3 月 20 日至 23 日與我們一起參加 Enterprise MLOps 101 ,介紹企業的 MLOps 環境,以及許多其他相關會議。
?