《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.14 + RHODS 1.33 的环境中验证
文章目录
- RHODS 简介
- 安装 RHODS 环境
- 运行环境说明
- 用 RHODS Operator 安装环境
- 创建 Jupyter Notebook 运行环境
- 开发调式 AI/ML 应用
- 部署运行 AI/ML 应用
- 视频
- 参考
RHODS 简介
Red Hat OpenShift AI 是一个专注于人工智能的产品组合,为人工智能/ML 实验和模型的整个生命周期提供工具,其中包括 Red Hat OpenShift Data Science (RHODS)。RHODSe 是红帽 OpenShift AI 的核心构成软件,它是红帽驱动的社区开源软件 Open Data hub 的企业版。
RHODS 是面向混合云的开源 ML 平台。它向数据科学家和开发人员提供了一个完全受支持的环境,以便在部署到生产环境之前进行快速开发、训练和测试ML 模型。RHODS 提供了 ML 常用的 Jupyter notebooks-as-a-service、TensorFlow 和 PyTorch 等工具环境以及用于模型服务和数据科学管道的 MLOps 组件,而且还对这些组件以及流程进行了集成,使得开箱即用。
RHODS 是独立于 OpenShift 的产品,它即可在红帽托管的公有云上部署运行,也可在用户自管的 OpenShift 环境中部署运行。
安装 RHODS 环境
运行环境说明
- 本文使用的是单机版 OpenShift Local 4.14 环境。
- 本文除了要以容器的方式运行部署 RHODS(包含 Jupyter notebooks、ML 运行监控等)环境,还要部署测试应用(至少分配 8G 内存),因此为整个 OpenShift Local 的虚机提供了 20vCore + 48GB 内存 + 250GB 硬盘。
- 运行 RHODS 的硬件环境是否需要有 GPU 取决于在其上运行的 ML 模型是否强制需要。如有需要,可在配有 GPU 资源的 OpenShift 上为运行的 ML 声明分配 GPU。但如无强制需要和声明,ML 模型可在 CPU 上运行。由于本文意为演示 RHODS,OpenShift 运行环境没有配 GPU,ML 直接运行在 CPU 上。
用 RHODS Operator 安装环境
- 在 OpenShift 的 OperatorHub 中找到并使用默认配置安装 Red Hat OpenShift Data Science Operator。
- 在 redhat-ods-operator 项目中使用默认配置创建一个 Red Hat OpenShift Data Science 实例。
- 完成后会在 OpenShift 中创建以下 4 个项目:redhat-ods-applications、redhat-ods-monitoring、redhat-ods-operator、 redhat-notebook。安装完后对应的项目中部署的资源如下面几个截图:
- 打开 redhat-ods-applications 项目中的 rhods-dashboard 路由地址。登录后即可看到如下图的 OpenShift Data Science 的控制台。
创建 Jupyter Notebook 运行环境
- 点击上图的 Jupyter 的 Launch application 进入Start a notebook server 页面,
- 在 Start a notebook server 页面中选中 TensorFlow 2023.1(该环境支持运行 CUDA、Python 和 TensorFlow);Container Size 选择 Small。
- 点击 Start Server 按钮后会出现 Starting server 窗口显示创建环境的进度。由于这个过程会下载相应的 Image,所以需要等一段时间。完成后会显示下图:
- 点击上图的 Open in new tab 后会出现 Jupyter 页面。
开发调式 AI/ML 应用
- 点击上图 Git 图标,然后再选择 Clone a Repository。
- 在弹出的 Clone a repo 窗口中提供 https://github.com/rh-aiservices-bu/licence-plate-workshop.git,然后点击 Clone。完成 Clone 后可以在 Jupyter 中看到如下图的 license-plate-workshop 应用的文件和目录。
- 依次打开开头为 01 到 04 的 Jupyter 文件,然后点击 Start the selected the cells and advance 按钮逐步执行。
- 在完成下一节 “部署运行 AI/ML 应用” 后再打开开头 05 的 Jupyter 文件。先将 my_image 和 my_route 改为 car.jpg 和 ML 应用的路由地址。然后运行即可看到从 car.jpg 文件中识别的车牌。
部署运行 AI/ML 应用
- 在 OpenShift 的 “开发者” 视图中,创建 ai-app 项目。
- 进入“添加”,再进入 Git 仓库。
- 在 Git Repo URL 中提供 https://github.com/rh-aiservices-bu/licence-plate-workshop.git。
- 在 “显示高级路由选项” 里去掉 “安全路由” 选项。
- 最后点击 “创建”。
- OpenShift 会创建一个 “构建” 来生成该 ML 应用的镜像,然后再部署生成的 ML 应用镜像。
- 在完成部署后,可以通过上图的 “路由” 打开 ML 应用页面,会显示下图运行状态。
- 最后可继续完成上一节的最后一步,运行 05 文件,从客户端调用 ML 应用。
视频
参考
https://ai-on-openshift.io/getting-started/openshift-data-science
https://redhat-scholars.github.io/rhods-lp-workshop
https://cloud.redhat.com/blog/scaling-model-serving-with-red-hat-openshift-data-science
https://developers.redhat.com/learn/openshift-data-science
https://myopenshiftblog.com/installing-openshift-data-science-ods-in-self-managed-environment
https://medium.com/@contact.av.rh/unleashing-the-full-potential-of-rhods-for-model-fine-tuning-and-inferencing-99a67b65e74e