提供多个模型到模型服务端点

本文描述了如何为多个模型利用砖的服务端点模型服务

需求

看到需求用于创建模型的服务端点。

理解访问控制模型的选择服务端点和端点管理最佳实践指导,明白了服务端点访问控制

创建一个端点,并设置初始流量分裂

您可以创建模型服务端点的砖机学习API或砖机的学习用户界面。端点可以注册任何Python MLflow模型在模型中注册中心注册。

以下API示例使用两套模型和创建一个单端点的端点之间的交通分离模型。服务模型,当前的1、主机版本模型(和端点流量的90%,而其他服务模型,挑战者号1、主机版本b型并获得端点流量的10%。

帖子. . / api / 2.0 / serving-endpoints{“名称”:“多模型”“配置”:{“served_models”:({“名称”:“当前”,“model_name”:“模型(一个”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真},{“名称”:“挑战者”,“model_name”:“b型”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真}],“traffic_config”:{“路线”:({“served_model_name”:“当前”,“traffic_percentage”:“90”},{“served_model_name”:“挑战者”,“traffic_percentage”:“10”}]}}}

更新交通服务模型之间的分裂

你也可以更新交通服务模型之间的分裂。以下API示例设置服务模型,当前的,50%的端点交通和其他模型,挑战者号,剩下的50%的流量。

你也可以把这个更新的服务选项卡中数据砖UI使用机器学习编辑配置按钮。

把. . / api / 2.0 / serving-endpoints /{的名字}/配置{“served_models”:({“名称”:“当前”,“model_name”:“模型(一个”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真},{“名称”:“挑战者”,“model_name”:“b型”,“model_version”:“1”,“workload_size”:“小”,“scale_to_zero_enabled”:真}],“traffic_config”:{“路线”:({“served_model_name”:“当前”,“traffic_percentage”:“50”},{“served_model_name”:“挑战者”,“traffic_percentage”:“50”}]}}

查询单个模型背后的一个端点

在某些场景中,您可能想要查询个人模型背后的端点。

你可以使用:

POST / serving-endpoints /{端点名称}/ served-models /{served-model-name}/调用

这里的特定查询模型。请求格式是一样的查询的端点。虽然查询个人服务模型,交通设置将被忽略。

在的背景下多模型被发送到端点的例子中,如果所有请求/ serving-endpoints /多模型/ served-models /竞争对手/调用,那么所有请求的服务挑战者号服务模型。

笔记本:多个模型封装成一个模型

为了节省计算成本,也可以多个模型封装成一个模型。

多个MLflow模型封装成一个笔记本MLflow模型

在新标签页打开笔记本