部署自定義模型和服務模型

本文描述如何部署自定義模型模型服務

自定義邏輯模型和部署模型提供了靈活性。下麵是示例場景,您可能希望使用指南。

  • 您的模型需要預處理之前輸入可以傳遞給模型的預測函數。

  • 您的應用程序需要進行後期處理模型的原始輸出的消費。

  • 模型本身每請求分支邏輯。

  • 你想完全自定義代碼部署為模型。

構造一個MLflow定製模型

MLflow提供日誌的能力而編寫的自定義模型的形式模型自定義Python模型格式

通過編寫一個磚建議構建自定義模型PythonModel類。有兩個功能:

  • load_context——需要加載的東西隻是一個時間的模型操作應該在這個函數中定義。這是關鍵,這樣係統最小化工件加載期間的數量預測函數,它加速了推理。

  • 預測——這房子的所有邏輯函數運行每次輸入請求。

記錄您的自定義模型

即使你正在寫你的模型自定義代碼,可以使用共享模塊的代碼從你的組織。與code_path模型的參數,作者可以引用日誌已滿的代碼加載到自定義模型的路徑和可用的。

例如,如果一個模型記錄:

mlflowpyfunclog_model(CustomModel(),“模型”,code_path=(“preprocessing_utils /”])

代碼與preprocessing_utils可用的上下文加載模型。下麵是一個示例模型,使用這段代碼。

CustomModel(mlflowpyfuncPythonModel):defload_context(自我,上下文):自我模型=火炬負載(上下文工件(“model-weights”])preprocessing_utils.my_custom_tokenizer進口CustomTokenizer自我分詞器=CustomTokenizer(上下文工件(“tokenizer_cache”])defformat_inputs(自我,model_input):#插入一些代碼格式輸入通過defformat_outputs(自我,輸出):預測=(火炬乙狀結腸(輸出))數據numpy()返回預測def預測(自我,上下文,model_input):model_input=自我format_inputs(model_input)輸出=自我模型預測(model_input)返回自我format_outputs(輸出)

為您的模型

登錄後您的自定義模型,你可以注冊它MLflow模型注冊和服務模型模型服務端點

筆記本的例子

以下筆記本示例演示了如何定製模型輸出的原始輸出查詢模型需要進行後期處理消費。

定製服務模型輸出與MLflow PyFunc筆記本

在新標簽頁打開筆記本