《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.14 + RHODS 2.50 的环境中验证
文章目录
- 准备运行环境
- 安装 OpenShift AI 环境
- 安装 Minio 对象存储软件
- 创建 Data Science Project
- 创建 Data connection
- 创建 Workbench
- 配置 Model server
- 创建 Pipeline server
- 运行应用
- 运行欺诈检测应用
- 配置和运行 Pipeline
- 运行 Workbench Pipeline
- 运行 Python Pipeline
- 参考
准备运行环境
安装 OpenShift AI 环境
先根据《OpenShift AI - 部署 OpenShift AI 环境,运行 AI/ML 应用(视频)》一文完成 OpenShift AI 环境的安装。
注意:本应用无需 GPU 即可运行。
安装 Minio 对象存储软件
根据《OpenShift 4 - 管理和使用 OpenShift AI 运行环境》一文安装 MinIO。
创建 Data Science Project
在 OpenShift 控制台的菜单中选择 Red Hat OpenShift AI,然后在 OpenShift AI 控制台中创建名为 Fraud Detection 的 Data Science Project。
创建 Data connection
在项目中按以下配置创建两个 Data connection。
Name | My Storage | Pipeline Artifacts |
---|---|---|
Access key | minio | minio |
Secret key | minio123 | minio123 |
Endpoint | http://minio-service.minio.svc.cluster.local:9000 | http://minio-service.minio.svc.cluster.local:9000 |
Region | no | no |
Bucket | my-storage | pipeline-artifacts |
创建 Workbench
在项目中按以下配置创建一个 Workbench。
Name | Fraud Detection |
---|---|
Image selection | TensorFlow |
Version selection | 2023.2 |
Container size | Small |
Create new persistent storage -> Name | Fraud Detection |
Use existing data connection -> Data connection | My Storage |
配置 Model server
- 在项目中按以下配置创建一个 Model server。
- 点击创建好的 Model Server 的 Deploy model 按钮,然后按以下配置部署模型。
- 最后可以查看部署的模型对应的内部服务地址。
创建 Pipeline server
- 确认已经在 OpenShift 上安装了 OpenShift Pipelines Operator。
- 在项目中按以下配置创建一个 Pipeline server。
运行应用
运行欺诈检测应用
- 从 Workbench 打开 Jupyter 的控制台。
- 将 https://github.com/rh-aiservices-bu/fraud-detection.git 克隆到本地。
- 运行编号为 1-5 的 ipynb 文件。其中在运行 2_save_model.ipynb 后,可以在对象存储中看到生成的模型。
配置和运行 Pipeline
运行 Workbench Pipeline
- 打开 6 Train Save.pipeline 文件,其中包含 2 个节点。
- 在 Pipeline Properties 中将 Generic Node Defaults 的 Runtime Image 设为 Tensorflow with Cuda and Python 3.9 (UBI 9)。
- 选中 1_experiment_train 节点,然后将 Node Properties 中的 File Dependencies 设为 data/card_transdata.csv 和 Include Subdirectories。
- 分别选中 2 个节点,然后将 Node Properties 中的 Output Files 设为 models/fraud/model.onnx。
- 选中 2_save_model 节点,然后按下表添加 5 个 Kubernetes secrets。
| Environment Variable | Secret Name | Secret Key |
|–|–|–|
| AWS_ACCESS_KEY_ID | aws-connection-my-storage | AWS_ACCESS_KEY_ID |
| AWS_SECRET_ACCESS_KEY | aws-connection-my-storage | AWS_SECRET_ACCESS_KEY |
| AWS_S3_ENDPOINT | aws-connection-my-storage | AWS_S3_ENDPOINT |
| AWS_DEFAULT_REGION | aws-connection-my-storage | AWS_DEFAULT_REGION |
| AWS_S3_BUCKET | aws-connection-my-storage | AWS_S3_BUCKET | - 运行 6 Train Save.pipeline,然后在弹出窗口点击 OK。
- 可以在 Data Science Pipelines 的 Runs 中查看到 Pipeline 实例的执行情况。
运行 Python Pipeline
- 将 7_get_data_train_upload.yaml 文件下载到本地。
- 在 OpenShift AI 控制台的 Fraud Detection 项目中通过 Import pipeline 功能按下图导入 7_get_data_train_upload.yaml 文件。
- 在 OpenShift AI 控制台的 Data Science Pipelines - > Pipelines 中的 Python pipeline 点击 Create run,然后按下图创建一个运行实例。
- 最后查看 Run 1 的运行情况。
参考
https://rh-aiservices-bu.github.io/fraud-detection/
https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2.5/html/openshift_ai_tutorial_-_fraud_detection_example
https://rh-aiservices-bu.github.io/rhoai-rh1-testdrive/modules/llm/download-save-llm.html