部署推理和預測模型
Databricks建議您使用MLFlow來部署機器學習模型。您可以使用MLFlow來部署批處理或流推理的模型,也可以設置REST端點以服務模型。
本文介紹了如何為離線(批處理和流)推理和在線(實時)服務部署MLFLOW模型。有關使用MLFlow模型的一般信息,請參見日誌,加載,注冊和部署MLFLOW模型。
小費
您可以通過注冊模型來簡化模型部署MLFlow模型注冊表。注冊模型後,您可以自動生成筆記本用於批處理推理或配置模型在線服務。
離線(批次)預測
本節包括用於在數據映中設置批處理預測的說明和示例。
使用MLFLOW進行模型推斷
MLFLOW可幫助您生成用於批處理或流推斷的代碼。
您還可以自定義以上任何一個選項生成的代碼。請參閱以下筆記本以獲取示例:
這模型推理示例使用經過Scikit-Learn訓練的模型,並先前記錄到MLFLOW,以顯示如何加載模型並使用它以不同格式的數據進行預測。該筆記本說明了如何將模型作為Scikit-Learn模型應用於Pandas DataFrame,以及如何將模型應用於Pyspark UDF將其應用於Spark DataFrame。
這MLFLOW模型注冊表示例顯示如何使用模型注冊表構建,管理和部署模型。在該頁麵上,您可以搜索
。預測
確定離線(批次)預測的示例。
流推斷
對於流媒體應用程序,請使用Apache Spark結構化流API。結構化流API類似於批處理操作。您可以將上一節中提到的自動生成的筆記本用作模板,並將其修改以使用流式傳輸而不是批處理。查看Apache Sparkmllib管道和結構化流示例。
使用MLLIB和XGBOOST4J模型推斷
對於使用MLLIB和XGBOOST4J模型的可擴展模型推斷,請使用本機轉換
直接在Spark DataFrames上執行推斷的方法。這MLLIB示例筆記本包括推理步驟。
自定義和優化模型推斷
當您使用MLFlow API在Spark DataFrames上運行推斷時,您可以將模型作為Spark UDF加載,並使用分布式計算在大規模應用。
您可以自定義模型以添加預處理或後處理,並優化大型模型的計算性能。自定義模型的一個好選擇是mlflow pyfunc api,這使您可以用自定義邏輯包裝模型。
如果您需要進行進一步的自定義,則可以將機器學習模型手動包裹在Pandas UDF或Pandas Iterator UDF。看到深度學習的例子。
對於較小的數據集,您還可以使用庫提供的本機模型推理例程。
MLFlow模型服務
對於Python MLFlow模型,Databricks提供MLFlow模型服務,這使您可以從模型注冊表中托管機器學習模型,因為REST端點是根據模型版本及其階段自動更新的REST端點。
第三方模型服務
要將模型部署到第三方服務框架,請使用mlflow。<部署型> .deploy()
。有關示例,請參見部署在線服務模型。