技術指南

MLflow 和模型生命週期追蹤

MLflow 是一個開源平台,用於管理機器學習生命週期,從實驗追蹤到模型打包和部署。

概述

MLflow 是一個開源平台,用於管理機器學習生命週期,從實驗追蹤到模型打包和部署。這很重要,因為它為建構模型的混亂、迭代過程帶來了秩序和可重複性。

MLflow 和模型生命週期追蹤是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

MLflow 由 Databricks 創建並於 2018 年發布,它解決了一個常見的難題:資料科學家進行了數百次實驗,但無法追蹤哪些參數、程式碼和資料產生了最佳模型。 MLflow 圍繞著四個元件進行組織。追蹤每次運行的日誌參數、指標、程式碼版本和輸出工件,以便結果具有可比性。項目在定義的環境中以可重複使用、可重現的格式打包程式碼。模型提供了標準格式,因此可以將相同的模型部署到許多服務目標。模型註冊表新增了版本控制、階段轉換(例如暫存到生產)和批准工作流程。 MLflow 與框架無關,可與 scikit-learn、PyTorch、TensorFlow、XGBoost 等配合使用,這就是為什麼它成為實驗管理和輕量級 MLOps 的事實上的標準。

技術洞察

MLflow Tracking 透過日誌記錄 API 工作:在訓練腳本中,您呼叫函數來記錄參數、指標和工件,這些參數、指標和工件將寫入由資料庫和工件儲存支援的追蹤伺服器。每次運行都會獲得一個唯一的 ID,並且屬於一個實驗。模型格式以風味(其框架)和元資料包裝經過訓練的模型,因此可以透過 REST 載入或提供單一工件,而無需重寫推理程式碼。

掌握 MLflow 和模型生命週期追蹤

MLflow 是一個開源平台,用於管理機器學習生命週期,從實驗追蹤到模型打包和部署。這很重要,因為它為建構模型的混亂、迭代過程帶來了秩序和可重複性。 MLflow 和模型生命週期追蹤是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將 MLflow 和模型生命週期追蹤視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,強大的團隊使用 MLflow 和模型生命週期追蹤來根據可靠性和成本優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

多年來,架構決策決定著效能和營運成本。

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

更好的工程選擇可以減少生產中的可靠性事故。

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

MLflow 和模型生命週期追蹤的未來

MLflow 正在積極擴展到生成式 AI,增加了 LLM 應用程式的追蹤、提示管理以及鍊和代理的評估工具。期望對追蹤非確定性 LLM 輸出、資料集和提示版本控制以及與更廣泛的可觀察性堆疊的整合提供更深入的支援。隨著註冊中心的成熟,它越來越多地充當治理中心,團隊在生產環境中批准、審核和回滾經典模型和生成人工智慧系統。

現實世界的實施

資料科學團隊使用 MLflow Tracking 記錄每次訓練運行,然後在 UI 中比較數十次運行,以選擇效能最佳的模型。

僅在審查者批准轉換後,保險公司才使用模型註冊表將風險模型從暫存階段升級為生產階段。

團隊以 MLflow 格式打包模型一次,然後將相同的工件部署到 REST 端點、批次作業和雲端平台。

LLM 應用程式團隊使用 MLflow 追蹤來記錄每個呼叫的提示、回應和延遲,從而調試行為不當的代理。

實施模式

MLflow 和模型生命週期追蹤的實踐

資料科學團隊使用 MLflow Tracking 記錄每次訓練運行,然後在 UI 中比較數十次運行,以選擇效能最佳的模型。

資料科學團隊使用 MLflow Tracking 記錄每次訓練運行,然後在 UI 中比較數十次運行,以選擇效能最佳的模型。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

MLflow 和模型生命週期追蹤的實踐

僅在審查者批准轉換後,保險公司才使用模型註冊表將風險模型從暫存階段升級為生產階段。

保險公司僅在審閱者批准過渡後才使用模型註冊表將風險模型從暫存階段推廣到生產階段。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

MLflow 和模型生命週期追蹤的實踐

團隊以 MLflow 格式打包模型一次,然後將相同的工件部署到 REST 端點、批次作業和雲端平台。

團隊以 MLflow 格式打包一次模型,然後將相同的工件部署到 REST 端點、批次作業和雲端平台。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

MLflow 和模型生命週期追蹤的實踐

LLM 應用程式團隊使用 MLflow 追蹤來記錄每個呼叫的提示、回應和延遲,從而調試行為不當的代理。

LLM 應用程式團隊使用 MLflow 追蹤來記錄每次呼叫的提示、回應和延遲,調試行為不當的代理。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

優化一項基準測試可以隱藏更廣泛的系統弱點。

!

基礎設施和維護成本常常被低估。

!

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在實際負載和資料條件下進行基準測試。

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

儀器監控錯誤、漂移和使用者影響。

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

在擴展之前準備回滾和事件回應路徑。

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索