共用方式為


部署模型以進行批次推斷和預測

本文說明如何部署 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 與差異即時資料表進行整合。

您也可修改產生的推斷筆記本,以使用 Apache Spark 結構化串流 API。

使用深度學習模型進行推斷

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

使用 MLlib 和 XGBoost4J 模型的推斷

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

自訂和最佳化模型推斷

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

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

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

針對小型資料集,您也可以使用程式庫所提供的原生模型推斷常式。