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

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

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

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

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

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

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

構造一個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模型注冊和服務模型模型服務端點