第一个推理服务

type
status
date
slug
summary
tags
category
icon
password
网址
 

运行你的第一个推理服务

在本教程中,你将部署一个推理服务,其预测器将加载一个使用鸢尾花iris数据集训练的scikit-learn模型。该数据集有三个输出类别:Iris Setosa, Iris Versicolour和Iris Virginica。
然后,你将向已部署的模型发送推理请求,以获取与你的请求相对应的鸢尾花类别的预测。
由于你的模型是作为推理服务而不是原生Kubernetes服务部署的,你只需要提供模型的存储位置,就能获得一些开箱即用的超能力。🚀
 
 

1. 创建命名空间

首先,创建一个用于部署KServe资源的命名空间:

2. 创建InferenceService

接下来,为模型定义一个新的InferenceService YAML并将其应用到集群。
v0.8.0版本中引入了新的预测器架构。新的InferenceServices应使用新架构进行部署。旧架构仅作为参考提供。
新架构
旧架构
⚠️
请勿在控制平面命名空间(即带有 “control-plane” 标签的命名空间)中部署推理服务(InferenceServices)。Web 钩子的配置方式是跳过这些命名空间,以避免任何权限提升的情况。将推理服务部署到这些命名空间中,会导致存储初始化器无法注入到 Pod 中,从而使 Pod 因出现 “没有这样的文件或目录: '/mnt/models'” 的错误而失败。

3. 检查InferenceService的状态

预期的状态
name
url
ready
prev
latest
PREVROLLEDOUTREVISION
LATESTREADYREVISION
AGE
sklearn-iris
True
199
sklearn-iris-predictor-default-47q2g
7d23h
如果你的域名系统(DNS)中包含 “example.com”,请咨询你的管理员,以便对域名系统进行配置或使用自定义域名。
 
 

4. 确定入口IP和端口

执行以下命令以确定你的kubernetes集群是否在支持外部负载均衡器的环境中运行
预期输出
负载均衡器节点端口端口转发
如果设置了EXTERNAL-IP值,则表示你的环境中有一个可用于入口网关的外部负载均衡器。

5. Perform inference

首先,在文件中准备您的推理输入请求:
根据您的设置,使用以下命令之一来调用InferenceService
真实DNS魔法DNS通过带HOST头的入口网关通过本地集群网关推理Python客户端
如果您已配置DNS,可以直接使用从状态打印获得的URL来调用InferenceService,例如
您应该会看到返回两个预测结果(即 {"predictions": [1, 1]})。发送进行推理的两组数据点都对应着索引为 1 的花朵。在这种情况下,模型预测这两朵花都是"变色鸢尾"。

6. 运行性能测试(可选)

如果您想对已部署的模型进行负载测试,可以尝试部署以下Kubernetes Job来对模型施加负载:
 
上一篇
KServe快速开始
下一篇
与推理服务(InferenceService)的 Swagger 用户界面进行交互
Loading...
文章列表
Kserve中文文档
快速开始
管理指南
用户指南
开发指南
机器学习概念
大模型周报