Share via


部署批次推斷和預測的模型

本文說明如何部署 MLflow 模型以進行離線(批次和串流)推斷。 Databricks 建議您使用 MLflow 來部署機器學習模型以進行批次或串流推斷。 如需使用 MLflow 模型的一般資訊,請參閱 記錄、載入、註冊和部署 MLflow 模型

如需 Azure Databricks 上即時模型服務的相關信息,請參閱 使用 Azure Databricks 提供模型。

使用 MLflow 進行模型推斷

MLflow 可協助您產生批次或串流推斷的程序代碼。

您也可以自定義上述任一選項所產生的程式碼。 如需範例,請參閱下列筆記本:

  • 模型 推斷範例 會使用以 scikit-learn 定型的模型,並先前記錄至 MLflow 來示範如何載入模型,並用它來對不同格式的數據進行預測。 筆記本說明如何將模型當做 scikit-learn 模型套用至 pandas DataFrame,以及如何將模型套用為 PySpark UDF 至 Spark DataFrame。
  • MLflow 模型登錄範例示範如何使用模型登錄來建置、管理及部署模型。 在該頁面上,您可以搜尋 .predict 以識別離線(批次)預測的範例。

建立 Azure Databricks 作業

若要以作業形式執行批次或串流預測,請建立包含用來執行預測的程式代碼的筆記本或 JAR。 然後,以 Azure Databricks 作業的形式執行筆記本或 JAR。 作業可以立即或依排程執行

串流推斷

您可以從 MLflow 模型登錄自動產生筆記本,以整合 MLflow PySpark 推斷 UDF 與 Delta Live Tables

您也可以修改產生的推斷筆記本,以使用 Apache Spark 結構化串流 API。 請參閱 Apache Spark MLlib 管線和結構化串流範例

使用深度學習模型的推斷

如需 Azure Databricks 上深度學習模型推斷的相關信息和範例,請參閱下列文章:

使用 MLlib 和 XGBoost4J 模型的推斷

若要使用 MLlib 和 XGBoost4J 模型進行可調整的模型推斷,請使用原生 transform 方法直接在 Spark DataFrame 上執行推斷。 MLlib 範例筆記本包含推斷步驟。

自定義和優化模型推斷

當您使用 MLflow API 在 Spark DataFrames 上執行推斷時,您可以將模型載入為 Spark UDF,並使用分散式運算大規模套用模型。

您可以自定義模型來新增前置處理或後置處理,並優化大型模型的計算效能。 自定義模型的絕佳選項是 MLflow pyfunc API,可讓您使用自定義邏輯包裝模型。

如果您需要進行進一步的自定義,您可以在 Pandas UDF 或 pandas 反覆運算器 UDF 中手動包裝機器學習模型。 請參閱深度學習範例

針對較小的數據集,您也可以使用連結庫所提供的原生模型推斷例程。