模型推理运行时 - Light GBM
type
status
date
slug
summary
tags
category
icon
password
网址
训练 LightGBM 模型
要测试 LightGBM 服务器,首先需要使用以下 Python 代码训练一个简单的 LightGBM 模型。
使用 V1 协议部署 LightGBM 模型
在本地测试模型
安装并在本地运行LightGBM 服务器来使用训练好的模型并测试预测功能。
在
LightGBM 服务器
在本地启动后,我们就可以通过发送推理请求来测试模型。部署 InferenceService
要在 Kubernetes 上部署模型,您可以通过指定
modelFormat
为lightgbm
以及storageUri
来创建 InferenceService。新模式旧模式
应用上述 yaml 文件来创建 InferenceService
预期输出
测试已部署的模型
预期输出
使用开放推理协议部署模型
在本地测试模型
一旦您获得序列化的模型
model.bst
,我们就可以使用KServe LightGBM 服务器来创建本地模型服务器。注意
此步骤是可选的,仅用于测试目的,您可以直接跳转到使用 InferenceService 部署。
前提条件
首先,要在本地使用 kserve lightgbm 服务器,您需要在本地环境中安装
lgbserver
运行时包。- 克隆 KServe 仓库并进入目录。
- 安装
lgbserver
运行时。KServe 使用Poetry作为依赖管理工具。请确保您已经安装了 poetry。
本地服务模型
lgbserver
包接受三个参数。-model_dir
:存储模型的目录路径。
-model_name
:在模型服务器中部署的模型名称,默认值为model
。这是可选的。
-nthread
:LightGBM 使用的线程数。这是可选的,默认值为 1。
在本地安装
lgbserver
运行时包后,您现在就可以按如下方式启动服务器:使用 REST 端点部署 InferenceService
要使用开放推理协议部署 LightGBM 模型,您需要将
protocolVersion
字段设置为v2
。模式
注意
对于
V2 协议(开放推理协议)
,如果未提供runtime
字段,则默认使用mlserver
运行时。应用 InferenceService yaml 以获取 REST 端点
kubectl
预期输出
使用 curl 测试已部署的模型
您现在可以通过发送示例请求来测试已部署的模型。
请注意,此请求需要遵循V2 数据平面协议。您可以在下面看到一个示例有效载荷。创建一个名为
iris-input-v2.json
的文件,包含示例输入。现在,假设您的入口可以通过
${INGRESS_HOST}:${INGRESS_PORT}
访问,或者您可以按照这些说明找出您的入口 IP 和端口。您可以使用
curl
发送推理请求,如下所示:预期输出
创建带有 gRPC 端点的 InferenceService
创建推理服务 yaml 并暴露 gRPC 端口,目前只允许暴露一个端口(HTTP 或 gRPC),默认情况下暴露 HTTP 端口。
注意
目前,KServe 只支持暴露 HTTP 或 gRPC 端口。默认情况下,暴露 HTTP 端口。
无服务器原始部署
注意
对于
V2 协议(开放推理协议)
,如果未提供runtime
字段,则默认使用mlserver
运行时。应用 InferenceService yaml 以获取 gRPC 端点
kubectl
使用 grpcurl 测试已部署的模型
确定入口 IP 和端口并设置
INGRESS_HOST
和INGRESS_PORT
。现在,您可以使用curl
发送推理请求。gRPC API 遵循 KServe 预测 V2 协议/开放推理协议。例如,可以使用ServerReady
API 检查服务器是否就绪:预期输出
您可以通过发送带有以下有效载荷的示例请求来测试已部署的模型。请注意,输入格式与前面的
REST 端点
示例不同。在名为iris-input-v2-grpc.json
的文件中准备推理输入。ModelInfer
API 接受遵循grpc_predict_v2.proto
文件中定义的ModelInferRequest
模式的输入。请注意,输入文件与前面的curl
示例中使用的不同。预期输出
上一篇
模型推理运行时-SparkMLlib
下一篇
模型推理运行时-Paddle
Loading...