OpenShift AI - 使用 Model Serving 运行模型

本文详细介绍了如何在OpenShift4.15+RHODS2.7.0环境中部署和管理ModelServing,包括准备对象存储、生成模型文件、配置Dataconnection、部署模型服务器以及测试模型访问。涉及SingleModel和MultiModel两种模式的运行方式。
摘要由CSDN通过智能技术生成

OpenShift / RHEL / DevSecOps 汇总目录
说明:本文已经在 OpenShift 4.15 + RHODS 2.7.0 的环境中验证

说明:请先根据《OpenShift AI - 部署 OpenShift AI 环境,运行 AI/ML 应用(视频)》一文完成 OpenShift AI 环境的安装。
注意:如无特殊说明,和 OpenShift AI 相关的 Blog 均无需 GPU。

什么是 Model Serving

Model Serving 是指将机器学习模型部署到生产环境中,以便实时处理和提供预测服务。在模型训练完成后,通常需要对其进行部署以供实际应用使用。

在 OpenShift AI 中支持两种模型运行方式:

  1. Single model serving platform:每个模型运行在各自单独的模型服务器中。目前只有 LLM 模型需要此种运行模式,另外此种运行方式依赖 ServiceMesh 和 Serverless 运行环境。
  2. Multi-model serving platform:多个模型可同时运行在一个模型服务器中。此种运行方式需要无需依赖 ServiceMesh 和 Serverless 运行环境。
    在这里插入图片描述

使用 Model Serving 运行模型

准备对象存储

请先根据《OpenShift 4 - 管理和使用 OpenShift AI 运行环境》一文安装 MinIO,并创建一个名为 rhoai-bucket 的存储桶。

生成模型文件

  1. 以一般用户在 RHOAI 控制台中创建名为 model-serving-demo 的 Data Science Projects 项目。
  2. 创建名为 model-serving-demo 的 Workbench,使用 Standard Data Science 镜像即可。
  3. 打开 Jupyter Notebook 界面,然后导入 https://github.com/RedHatQuickCourses/rhods-qc-apps.git。
  4. 在 Launch 界面中打开一个 Terminal,然后在其中执行以下命令。
(app-root) (app-root) pip install -r /opt/app-root/src/rhods-qc-apps/4.rhods-deploy/chapter2/requirements.txt
  1. 打开 rhods-qc-apps/4.rhods-deploy/chapter2/iris_to_onnx.ipynb 文件,然后在菜单中点击 Run > Run Selected Cells,完成执行后会生成 rf_iris.onnx 模型文件。
  2. 右键点击 rf_iris.onnx 文件,然后从菜单中使用 Download 下载文件到本地。
    在这里插入图片描述
  3. 在 MinIO 控制台上将 rf_iris.onnx 文件上传到 rhoai-bucket/iris 路径下。
    在这里插入图片描述

运行模型

配置 Data connection

  1. 在 RHOAI 控制台的 model-serving-demo 项目页面中点击 Add data connection 按钮。
  2. 按照下图配置将使用的数据链接,其中 Endpoint 填写的是名为 minio-api 的 route 地址。
    在这里插入图片描述

运行模型服务器

  1. 在 RHOAI 控制台的 model-serving-demo 项目页面中点击 Add model server 按钮。
  2. 按照下图配置要运行的模型服务器。
    在这里插入图片描述

部署模型

  1. 点击 iris-model-server 一行的右侧的 Deploy model 按钮。
    在这里插入图片描述
  2. 按照下图配置要部署运行的模型。
    在这里插入图片描述
  3. 模型部署完成后在 RHOAI 的 model-serving-demo 项目将显示下图,其中模型 iris-mode 显示绿色 Loaded 状态。
    在这里插入图片描述
    同时还可在 Model Serving 菜单中看到项目中已经部署运行的模型。
    在这里插入图片描述
    另外,还可在 OpenShift 的开发者视图里看到该项目中的和模型服务器相关的资源拓扑情况和运行状态。
    在这里插入图片描述

测试访问模型

  1. 运行命令以下命令。
$ export IRIS_ROUTE=https://$(oc get routes -n model-serving-demo | grep iris-model | awk '{print $2}')/v2/models/iris-model/infer
$ export TOKEN=$(oc whoami -t)
  1. 向运行的模型发请求,并获得模型推理返回结果。
$ curl -s -H "Authorization: Bearer $TOKEN" $IRIS_ROUTE  -X POST  --data '{"inputs" : [{"name" : "X","shape" : [ 1, 4 ],"datatype" : "FP32","data" : [ 3, 4, 3, 2 ]}],"outputs" : [{"name" : "output0"}]}' | jq
{
  "model_name": "iris-model__isvc-4e49574209",
  "model_version": "1",
  "outputs": [
    {
      "name": "label",
      "datatype": "INT64",
      "shape": [
        1
      ],
      "data": [
        0
      ]
    },
    {
      "name": "scores",
      "datatype": "FP32",
      "shape": [
        1,
        3
      ],
      "data": [
        3.1270404,
        3.4207978,
        4.8063498
      ]
    }
  ]
}

参考

https://redhatquickcourses.github.io/rhods-deploy/rhods-deploy/1.33/index.html

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值