本文介绍如何在 模型服务 或 功能服务 终结点上启用路由优化。 路由优化的服务终结点可大幅降低开销延迟,并大幅提升终结点支持的吞吐量。
建议对高吞吐量或延迟敏感的工作负载进行路由优化。
什么是路由优化?
在终结点上启用路由优化时,Databricks 模型服务改进了推理请求的网络路径,从而加快客户端和模型之间的直接通信速度。 与非优化终结点相比,这种优化的路由可解锁更高的每秒查询数(QPS),并为应用程序提供更稳定且更低的延迟。
若要利用路由优化终结点的优势,必须对客户端进行以下更改:
- 使用路由优化 URL:每个路由优化的终结点都具有唯一的 URL。 必须将推理请求发送到此特定 URL。
- 使用 OAuth 令牌进行身份验证:路由优化的终结点仅支持 OAuth 令牌进行身份验证。 不支持其他身份验证机制。
要求
在模型服务终结点上启用路由优化
服务 UI
使用 服务 UI 创建模型服务终结点时,可以启用路由优化。 只能在创建终结点期间启用路由优化,不能更新现有终结点以优化路由。
- 在边栏中,单击“ 服务 ”以显示服务 UI。
- 单击“ 创建服务终结点”。
- 在“ 路由优化 ”部分中,选择“ 启用路由优化”。
- 创建终结点后,Databricks 会向你发送有关查询路由优化终结点所需的通知。
REST API
若要使用 REST API 配置服务终结点以优化路由,请在创建模型时指定 route_optimized
参数。 只能在终结点创建期间指定此参数,不能通过更新现有终结点来实现路由优化。
POST /api/2.0/serving-endpoints
{
"name": "my-endpoint",
"config":
{
"served_entities":
[{
"entity_name": "ads1",
"entity_version": "1",
"workload_type": "CPU",
"workload_size": "Small",
"scale_to_zero_enabled": true,
}],
},
"route_optimized": true
}
Python语言
如果使用 Python,则可以使用以下笔记本来创建路由优化的服务终结点。
使用 Python 笔记本创建路由优化的服务终结点
在特征服务终结点上启用路由优化
若要为特征和功能服务使用路由优化,请在 entity_name
字段中指定用于服务终结点创建请求的特征规范的完整名称。
entity_version
不需要 FeatureSpecs
。
POST /api/2.0/serving-endpoints
{
"name": "my-endpoint",
"config":
{
"served_entities":
[
{
"entity_name": "catalog_name.schema_name.feature_spec_name",
"workload_type": "CPU",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
]
},
"route_optimized": true
}
限制
- 路由优化仅适用于自定义的模型服务终结点和特征服务终结点。 不支持使用 基础模型 API 或 外部模型 的终结点。
- Databricks 内部 OAuth 令牌是对路由优化唯一支持的身份验证。 不支持个人访问令牌。