OpenShift AI - 部署并使用 LLM 模型

news2024/11/23 23:00:20

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

文章目录

  • 安装 OpenShift AI 环境
  • 安装 Minio 对象存储软件
  • 配置 Single Model Serving 运行环境
  • 创建项目和 Workbench
  • 准备模型和配置 Model Server
  • 访问 LLM 模型
  • 参考

安装 OpenShift AI 环境

先根据《OpenShift AI - 部署 OpenShift AI 环境,运行 AI/ML 应用(视频)》一文完成 OpenShift AI 环境的安装。
注意:本应用无需 GPU 即可运行。

安装 Minio 对象存储软件

根据《OpenShift 4 - 管理和使用 OpenShift AI 运行环境》一文安装 MinIO。

配置 Single Model Serving 运行环境

  1. 使用默认选项安装 Red Hat OpenShift Service Mesh Operator 和 Red Hat OpenShift Serverless Opeartor。
  2. 查看 OpenShift AI Operator 的 DSC Initialization 对象,确认包含以下内容:
spec:
 applicationsNamespace: redhat-ods-applications
 monitoring:
   managementState: Managed
   namespace: redhat-ods-monitoring
 serviceMesh:
   controlPlane:
     metricsCollection: Istio
     name: data-science-smcp
     namespace: istio-system
   managementState: Managed
  1. 查看 OpenShift AI Operator 的 Data Science Cluster 对象,确认包含以下内容:
   kserve:
     managementState: Managed
     serving:
       ingressGateway:
         certificate:
           secretName: knative-serving-cert
           type: SelfSigned
       managementState: Managed
       name: knative-serving
  1. 确认在 OpenShift AI Operator 中的 “所有实例” 中出现以下 FeatureTracker。
    在这里插入图片描述
  2. 执行以下命令查看创建的 ServiceMesh 和 Serverless 对象。
$ oc get deploy -n istio-system
NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
istio-egressgateway        1/1     1            1           11m
istio-ingressgateway       1/1     1            1           11m
istiod-data-science-smcp   1/1     1            1           11m 
 
$ oc get deploy -n knative-serving
NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
activator               2/2     2            2           7m21s
autoscaler              2/2     2            2           7m21s
autoscaler-hpa          2/2     2            2           7m19s
controller              2/2     2            2           7m20s
domain-mapping          2/2     2            2           7m20s
domainmapping-webhook   2/2     2            2           7m20s
net-istio-controller    2/2     2            2           7m18s
net-istio-webhook       2/2     2            2           7m18s
webhook                 2/2     2            2           7m19s
 
$ oc get deployment kserve-controller-manager -n redhat-ods-applications
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
kserve-controller-manager   1/1     1            1           6m55s
  1. 在 OpenShift AI 控制台中的 Cluster setting 中确认 Single mode serving platform 被选中。
    在这里插入图片描述

创建项目和 Workbench

  1. 在 OpenShift AI 控制台中创建一个名为 llm 的 Data Science Project。

  2. 在 llm 项目中使用以下配置创建名为 llm 的 Workbench。

    Name:llm
    Image selection:TensorFlow
    Version selection:2023.2
    Container:Small
    Create new data connection
    	Name : My Storage
    	Access key : minio
    	Secret key : minio123
    	Endpoint : http://minio-service.minio.svc.cluster.local:9000
    	Region : no 
    	Bucket : my-storage
    

准备模型和配置 Model Server

  1. 进入 Workbench 对应的 Jupyter Notebook,然后克隆 https://github.com/rh-aiservices-bu/test-drive.git。
  2. 运行 /test-drive/llm/1_download_save.ipynb,完成后会自动将模型相关文件传到 Minio 中 my-storage/models/flan-t5-small 里。
    在这里插入图片描述
  3. 在 Workbench 的 Models and model servers 中进入 Single-model serving platform 的 Deploy model。
    在这里插入图片描述
  4. 在 Deploy model 弹出窗口按下图的配置部署模型。
    在这里插入图片描述
  5. 完成配置后 Workbench 将显示以下内容。将 flan-t5-small 对应的 Inference endpoint 地址复制下来。
    在这里插入图片描述

访问 LLM 模型

  1. 在 Jupyter 中打开 2_grpc_request.ipynb 文件,并将上一步复制的地址赋给 infer_endpoint 变量。
infer_endpoint = "https://flan-t5-small-llm.apps.cluster-4cc45.dynamic.redhatworkshops.io"
  1. 可以修改请求问题,然后运行2_grpc_request.ipynb 文件,即可获得由 flan-t5-small 生成的返回结果。
client.make_request("what is your name?", model_id=model_id)

在这里插入图片描述

  1. 查看 llm 项目的 “拓扑” 视图,确认已经运行起 knative Service 来响应请求。
    在这里插入图片描述

参考

https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2.5/html/working_on_data_science_projects/serving-large-language-models_serving-large-language-models#about-the-single-model-serving-platform_serving-large-language-models
https://github.com/opendatahub-io/caikit-tgis-serving#installation
https://rh-aiservices-bu.github.io/rhoai-rh1-testdrive/modules/llm/download-save-llm.html
https://github.com/openshift-ai-examples/openshift-ai-examples/blob

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1489372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python-分享篇-生成仿微信公众号推广的个性二维码(支持动态)

代码 生成仿微信公众号推广的个性二维码(支持动态)from MyQR import myqr # 要生成动态二维码,只需要将piture参数和save_name参数设置gif动图即可 myqr.run(wordshttps://blog.csdn.net/stqer/article/details/135553200, # 指定二维码包含…

制药企业制药设备如何进行设备维护与设备管理

在制药企业的生产中,制药设备的维护与管理是保障整个生产链顺利运转的重要环节。制药行业面临着诸多挑战,尤其是在涉及众多化学药品的生产过程中,对设备的要求更为严格。为了确保企业的稳健发展,制药企业需采取一系列措施&#xf…

ensp路由器将不同网络连通在一起

1.拓扑结构信息如下 二层交换机:lsw2,lsw3,lsw5,lsw6 不进行ip配置,只是定义vlan,和主机标注的保持一致,向下连接pc用access,向上连接路由交换机用trunk lsw2配置信息如下图 定义vlan,设置各个连接口的方式…

FreeRTOS学习笔记-基于stm32f103(1)基础知识

一、裸机与RTOS 我们使用的32板子是裸机,又称前后台系统。裸机有如下缺点: 1、实时性差。只能一步一步执行任务,比如在一个while循环中,要想执行上一个任务,就必须把下面的任务执行完,循环一遍后才能执行…

智能风控体系之基于IC值因子有效性研究

在量化金融股市市场中,因子有效性的检验是经常被提及的。实际上对于多因子量化选股模型的有效性分析,更有指导参考意义的指标应该观察看的IC和IR。 因子评价4大维度: 1.因子单调性:因子单调性越高,收益越强。 2.因子…

笔记74:在SLAM建图过程中,为什么要使用【障碍物点云配准算法】和【里程计估算算法】结合的方法

仅使用【障碍物点云配准算法】,很容易导致在一条长通道中,因为前后两帧的雷达点云图过于相似,导致特征匹配一直完全重合,使得机器人建图一直停留在原地,但实体机器人早就沿着通道跑向远端了; 使用Hector_ma…

三范式与ER模型

三范式 概念: 三范式(3NF)是关系型数据库设计理论的基础,它确保数据的结构化和减少数据的冗余性。三范式由数学家E.F. Codd在1970年提出,作为关系理论的一部分。三范式包括: 第一范式(1NF&am…

182基于matlab的半监督极限学习机进行聚类

基于matlab的半监督极限学习机进行聚类,基于流形正则化将 ELM 扩展用于半监督,三聚类结果可视化输出。程序已调通,可直接运行。 182matlab ELM 半监督学习 聚类 模式识别 (xiaohongshu.com)

我的NPI项目之Android 安全系列 -- Keymaster到底是个什么

最近因为一直在调研独立secure element集成的工作,不巧的是目前使用的高通平台只有NFC-eSE的方案。高通目前也并不支持独立的eSE集成,codebase中并无相对应的代码。举个例子,目前使用的STM的一款eSE,但是这款eSE的开发STM还没有完…

Mint_21.3 drawing-area和goocanvas的FB笔记(三)

一、改变goocanvas线条自动画线时间间隔 通过系统SIGALRM信号触发,每秒画一条线对于慢温湿度等慢变信号可以应付,但对于快速信号1秒的间隔就太慢了。可以改变方式,通过另外的线程,完成要做的任务。 1. 线程的回调函数 myfunc 2…

串的定义及BF算法

定义 BF算法——朴素查找算法——也叫做串的模式匹配算法 其应用特别多,比如经常在一篇文章里面搜索一些东西,(比如文章里的某个内容,或某些关键字词出现的位置,次数等) 之前我们大多数情况下是用来搜索关…

在Ubuntu中安装pycharm的专业版且可以激活到2099年(保姆级教学,值得借鉴与信任)

一、进入官网,下载Pycharm2021.3版本 1.官网如下 https://www.jetbrains.com/pycharm/2.在浏览器中进入官网后,点击Download 3.再点击右下角的Other versions 4.选择Version 2021.3下的2021.3-Linux(tar.gz)进行下载 二、安装Pycharm2021.3 1.先将该压…

还在手动Word转PPT?快来试试这些一键生成工具!

在我们日常的工作和学习中,将Word转化成PPT的需求时常出现,尤其是当我们需要进行演讲或者报告时。这不仅能使我们的演讲更具视觉冲击力,也有助于我们更好地传达信息。 那么,如何才能轻松地将Word转换成PPT呢?下面将为…

MWC 2024 | 紫光展锐推出业界首款全面支持5G R16宽带物联网特性的芯片平台V620

要点: 紫光展锐V620支持5/4/3/2G全网通。支持NR 2CC和LTE 5CC,在SA网络下,其5G下行速率可达4.67Gbps,上行速率高达1.875Gbps,相比紫光展锐上一代产品提升100%。紫光展锐V620率先支持5G TSN,把5G应用于工业…

汽车设计的视觉盛宴:艺术家的渲染效果图集锦

对于那些对汽车渲染艺术充满热情的朋友来说,"至臻汽车"渲染效果图总是心之向往。本回,我们精心准备了第十届3dmodels年度汽车渲染比赛的佳作,收录了来自全球的顶级创作者的精彩作品。每张作品都代表了艺术家对精细质感的深究及对极…

基于springboot+vue的流浪宠物管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【每日刷题】数组-LC56、LC238、随想录1、LC560

1. LC56 合并区间 题目链接 Arrays.sort先让intervals里的子数组按照子数组的第一个数字值从小到大排列。开一个新数组,newInterval,存放合并好的子数组让intervals的当前子数组i的第一个数字与newInterval的当前子数组index的最后一个数字比较大小&am…

软文推广带来的收录排名提升,助你在搜索引擎中脱颖而出

互联网营销是一种不受时间和空间限制的营销方式,是一些中小企业成本低、效果好的推广方式。 行业做软文推广,最重要的是选择合适的软文推广平台,现在市场上有很多软文推广平台,这使得很多企业难以选择,此时企业需要学会…

回溯算法套路③排列型回溯+N皇后【基础算法精讲 16】

46 . 全排列 链接 : . - 力扣&#xff08;LeetCode&#xff09; 思路 : 那么怎么确定选了那个数呢? 这里设置一个used表示i选没选过 ; class Solution { public:vector<vector<int>> ans;vector<int> path;void backtrack(vector<int>nums,vect…

常见漏洞的流量特征

1、SQL注入漏洞 查看url / Referer字段/User-Agent字段/cookie字段 出现一些特殊字符&#xff08;eg&#xff1a;单引号【‘】、双引号【“”】、括号【&#xff08;&#xff09;】、单引号括号【‘&#xff08;】、双引号括号【“&#xff08;】等一些常见的特殊的字符&#…