部署自定义模型和服务模型

本文描述如何部署自定义模型模型服务

自定义逻辑模型和部署模型提供了灵活性。下面是示例场景,您可能希望使用指南。

  • 您的模型需要预处理之前输入可以传递给模型的预测函数。

  • 您的应用程序需要进行后期处理模型的原始输出的消费。

  • 模型本身每请求分支逻辑。

  • 你想完全自定义代码部署为模型。

构造一个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笔记本

在新标签页打开笔记本