共用方式為


Databricks 上的 MLflow

本文說明如何使用 Databricks 上的 MLflow 來開發高品質的產生 AI 代理程式和機器學習模型。

注意

如果您剛開始使用 Azure Databricks,請考慮在 Databricks Free Edition 上嘗試 MLflow。

什麼是 MLflow?

MLflow 是最大的開源 AI 工程平台,專注於代理、大型語言模型(LLM)及機器學習模型。 MLflow 讓各種規模的團隊能夠除錯、評估、監控及優化生產品質的 AI 應用,同時控制成本並管理模型與資料的存取。 每月下載量超過 3,000 萬次,數千個組織每天都依賴 MLflow,自信地將 AI 推向生產環境。

MLflow 為代理與大型語言模型應用提供全面功能,包括生產級 可觀察性、 評估提示管理、用於成本管理與模型存取的 AI 閘道 等多項功能。

在機器學習(ML)模型開發方面,MLflow 提供 實驗追蹤模型評估功能生產模型登錄系統及 模型部署工具

MLflow 支援任何 LLM 提供者、代理框架、機器學習函式庫及程式語言。 MLflow 提供原生的 PythonTypeScript/JavaScriptJavaR SDK。

MLflow 3

Azure Databricks 上的 MLflow 3 為代理與大型語言模型應用程式提供最先進的可觀察性、評估與即時管理功能。 在機器學習模型開發方面,MLflow 3 提供實驗追蹤、模型評估、生產模型登錄及模型部署工具。 在 Azure Databricks 上使用 MLflow 3,您可以:

  • 集中追蹤和分析所有環境中的模型、AI 應用程式和代理程式的效能,從開發筆記本中的互動式查詢到生產批次或即時服務部署。

    模型追蹤UI。

  • 使用 Unity 目錄協調評估和部署工作流程,並存取模型、AI 應用程式或代理程式每個版本的完整狀態記錄。

    包含分段推出和計量集合的複雜部署作業。

  • 從 Unity 目錄和 REST API 中的模型版本頁面檢視和存取模型計量和參數。

    Unity 目錄中的模型版本頁面,顯示多個回合的計量。

  • 注釋所有生成式 AI 應用程式和代理程式的要求和回應(跟踪),讓人類專家和自動化技術(例如 LLM 作為裁判)能夠提供豐富的回饋。 您可以利用此意見反應來評估及比較應用程式版本的效能,以及建置數據集以改善品質。

    模型頁面的 [追蹤] 標籤,顯示多個追蹤的詳細資料。

這些功能可簡化所有 AI 計劃的評估、部署、除錯和監視。

MLflow 3 也介紹記錄模型和部署作業的概念。

  • 記錄的模型 可協助您追蹤模型的整個生命周期進度。 當您使用 log_model()來記錄模型時, LoggedModel 會建立,它在整個模型的生命週期中持續存在,跨不同環境和執行,並包含工件的連結,例如元數據、計量、參數,以及用來產生模型的程序代碼。 您可以使用記錄模型來比較模型彼此、尋找效能最高的模型,並在偵錯期間追蹤資訊。
  • 部署作業 可用來管理模型生命週期,包括評估、核准和部署等步驟。 這些模型工作流程會受到 Unity 目錄的控管,而且所有事件都會儲存到 Unity 目錄的模型版本頁面上可用的活動記錄檔。

請參閱下列文章,以安裝和開始使用 MLflow 3。

Databricks 管理的 MLflow

Databricks 提供完全受控且託管的 MLflow 解決方案,基於開源體驗,使其更加強大且可擴展,以滿足企業需求。

代理與大型語言模型應用

Databricks 上的 MLflow 提供完整的平台,用於開發、評估及監控代理程式與大型語言模型應用程式。

  • 可觀察性:MLflow 追蹤 記錄請求中每個中繼步驟的輸入、輸出與元資料,讓您能快速找到代理中意外行為的來源。
  • 評估: 使用 Mosaic AI 代理評估 來衡量並提升代理品質,並以 MLflow 評估為核心。
  • 提示管理: 為 AI 應用程式中使用的提示範本進行版本管理和迭代。
  • 代理開發: 使用 Mosaic AI 代理框架 來建立代理,該架構依賴 MLflow 來追蹤代理程式碼、績效指標與追蹤。
  • 互動式除錯: 使用 Genie Code 進行代理的可觀察性與評估 ,方便在 MLflow 實驗中存取自然語言的痕跡、評估執行、評分器等功能。

機器學習模型開發

Databricks 上的 MLflow 提供實驗追蹤、模型評估、生產模型登錄檔及模型部署工具,以促進機器學習模型開發。

下圖顯示 Databricks 如何與 MLflow 整合,以定型和部署機器學習模型。

MLflow 與 Databricks 整合,以開發與部署機器學習模型。

Databricks 管理的 MLflow 建置在 Unity 目錄和 Cloud Data Lake 上,以整合 ML 生命週期中的所有數據和 AI 資產:

  1. 功能存放區: Databricks 自動化功能查閱可簡化整合並減少錯誤。
  2. 定型模型: 使用馬賽克 AI 來定型模型或微調基礎模型。
  3. 追蹤:MLflow 會紀錄參數、度量和工件來追蹤訓練過程,以評估及比較模型效能。
  4. 模型註冊: MLflow 模型註冊功能整合了 Unity 目錄,有助於集中管理 AI 模型和工件。
  5. 模型服務: 馬賽克 AI 模型服務會將模型部署到 REST API 端點。
  6. 監視: 馬賽克 AI 模型服務會自動擷取請求和回應,以監控和偵錯模型。 MLflow 會使用每個要求的追蹤數據來增強此數據。

模型訓練

MLflow 模型是 Databricks AI 和 ML 開發的核心。 MLflow 模型是封裝機器學習模型和產生 AI 代理程式的標準化格式。 標準化格式可確保 Databricks 上的下游工具和工作流程可以使用模型和代理程式。

Databricks 提供的功能可協助您定型不同類型的 ML 模型。

實驗追蹤

Databricks 使用 MLflow 實驗作為組織單位,在開發模型時追蹤您的工作。

實驗追蹤可讓您在機器學習定型和代理程式開發期間記錄和管理參數、計量、成品和程序代碼版本。 將記錄組織成實驗和運行,可以讓您更輕鬆地比較模型、分析效能和進行反覆運算。

結合 Unity Catalog 的模型登錄

MLflow 模型登錄是集中式模型存放庫、UI 和一組 API,可用來管理模型部署程式。

Databricks 整合模型登錄與 Unity 目錄,以提供模型的集中式控管。 Unity 目錄整合可讓您跨工作區存取模型、追蹤模型譜系,以及探索可重複使用的模型。

模型服務

Databricks 模型服務與 MLflow 模型登錄緊密整合,並提供統一、可調整的介面來部署、控管和查詢 AI 模型。 您提供的每個模型都可作為 REST API,您可以整合到 Web 或用戶端應用程式中。

雖然它們是不同的元件,但模型服務嚴重依賴 MLflow 模型登錄來處理模型版本控制、相依性管理、驗證和治理。

  • Databricks 模型服務。

開放原始碼與 Databricks 管理的 MLflow 功能

如需開放原始碼與 Databricks 管理版本之間共用的一般 MLflow 概念、API 和功能,請參閱 MLflow 檔案。 如需 Databricks 管理的 MLflow 專屬功能,請參閱 Databricks 檔。

下表強調開放原始碼 MLflow 與 Databricks 管理的 MLflow 之間的主要差異,並提供文件連結以協助您深入瞭解:

特徵 開放原始碼 MLflow 的可用性 MLflow 在 Databricks 管理下的可用性
安全性 用戶必須提供自己的安全性治理層 Databricks 企業級安全性
災害復原 無法取得 Databricks 災害復原
實驗追蹤 MLflow 追蹤 API MLflow 追蹤 API 已整合進 Databricks 進階實驗追蹤功能
模型登錄 MLflow 模型登錄 與 Databricks Unity 目錄整合的 MLflow 模型登錄
Unity 目錄整合 開放原始碼與 Unity 目錄整合 Databricks Unity 目錄
模型部署 使用者設定的與外部服務解決方案(如 SageMaker、Kubernetes、容器服務等)的整合 Databricks 模型部署服務 和外部服務解決方案
智能代理 MLflow LLM 開發 MLflow LLM 開發整合了 Mosaic AI 代理架構代理評估
加密 無法取得 使用客戶自控金鑰 加密

注意

開放原始碼遙測集合是在 MLflow 3.2.0 中引進的,預設 會在 Databricks 上停用。 如需詳細資訊,請參閱 MLflow 使用量追蹤檔