模型推理运行时 - Light GBM

type
status
date
slug
summary
tags
category
icon
password
网址

训练 LightGBM 模型

要测试 LightGBM 服务器,首先需要使用以下 Python 代码训练一个简单的 LightGBM 模型。

使用 V1 协议部署 LightGBM 模型

在本地测试模型

安装并在本地运行LightGBM 服务器来使用训练好的模型并测试预测功能。
LightGBM 服务器在本地启动后,我们就可以通过发送推理请求来测试模型。

部署 InferenceService

要在 Kubernetes 上部署模型,您可以通过指定modelFormatlightgbm以及storageUri来创建 InferenceService。
新模式旧模式
应用上述 yaml 文件来创建 InferenceService
预期输出

测试已部署的模型

要测试已部署的模型,第一步是确定入口 IP 和端口并设置INGRESS_HOSTINGRESS_PORT,然后运行以下 curl 命令向InferenceService发送推理请求。
预期输出

使用开放推理协议部署模型

在本地测试模型

一旦您获得序列化的模型model.bst,我们就可以使用KServe LightGBM 服务器来创建本地模型服务器。
注意
此步骤是可选的,仅用于测试目的,您可以直接跳转到使用 InferenceService 部署

前提条件

首先,要在本地使用 kserve lightgbm 服务器,您需要在本地环境中安装lgbserver运行时包。
  1. 克隆 KServe 仓库并进入目录。
    1. 安装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 测试已部署的模型

      在 gRPC InferenceService准备就绪后,可以使用grpcurlInferenceService发送 gRPC 请求。
      确定入口 IP 和端口并设置INGRESS_HOSTINGRESS_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...
      文章列表
      Kserve中文文档
      快速开始
      管理指南
      用户指南
      开发指南
      机器学习概念
      大模型周报