模型推理运行时-PMML

type
status
date
slug
summary
tags
category
icon
password
网址
 
PMML(预测模型标记语言)是一种用于描述数据挖掘和统计模型的XML格式,包括模型输入、用于数据挖掘准备的数据转换,以及定义模型本身的参数。在这个示例中,我们将展示如何在InferenceService上部署PMML格式的模型。

使用V1协议部署PMML模型

创建推理服务

新架构旧架构
使用上述yaml创建推理服务
预期输出
警告
pmmlserver基于Py4J,且不支持多进程模式,因此我们无法设置spec.predictor.containerConcurrency。如果您想要扩展PMMLServer以提高预测性能,您应该将推理服务的resources.limits.cpu设置为1并扩展副本数量。

运行预测

第一步是确定入口IP和端口并设置INGRESS_HOSTINGRESS_PORT
您可以在下面看到示例负载。使用示例输入创建一个名为iris-input.json的文件。

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

本地测试模型

一旦您获得了序列化的model.pmml,我们就可以使用KServe Pmml Server来启动本地服务器。

使用KServe PMMLServer

前提条件

首先,要在本地使用KServe pmml服务器,您需要在本地环境中安装pmmlserver运行时包。
  1. 安装OpenJdk-11
  1. 克隆KServe仓库并导航到目录。
    1. 安装pmmlserver运行时。Kserve使用Poetry作为依赖管理工具。确保您已经安装了poetry

      本地部署模型

      pmmlserver包接受两个参数。
      • -model_dir:存储模型的模型目录路径。
      • -model_name:在模型服务器中部署的模型名称,默认值为model。这是可选的。
      在本地安装pmmlserver运行时包后,您现在应该可以启动我们的服务器了:

      通过推理服务使用REST端点部署模型

      最后,您将使用KServe将训练好的模型部署到Kubernetes上。为此,您只需要使用InferenceService CRD的版本v1beta1,并将protocolVersion字段设置为v2

      测试已部署的模型

      您现在可以通过发送示例请求来测试您部署的模型。
      请注意,此请求需要遵循开放推理协议。您可以在下面看到示例负载。使用示例输入创建一个名为iris-input-v2.json的文件。
      确定入口IP和端口并设置INGRESS_HOSTINGRESS_PORT。现在,您可以使用curl发送推理请求:

      通过推理服务使用GRPC端点部署模型

      使用以下yaml创建推理服务资源并暴露gRPC端口。
      应用推理服务yaml以获取gRPC端点

      使用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架构的输入。
       
      上一篇
      模型推理运行时-XGBoost
      下一篇
      模型推理运行时-SparkMLlib
      Loading...
      文章列表
      Kserve中文文档
      快速开始
      管理指南
      用户指南
      开发指南
      机器学习概念
      大模型周报