AIMO一直是一个非常火的话题而随着前段时间CHECK TTP的一些大员模型的推出和不断的迭代AIMO技术以及相关的开源项目市场及需求量也在划出了增长而随着这些增长的市场和需求量一款的动漫族市面上客户们对AIMO项目开发技术需求的机器学习模型开发品牌的工具也变得非常的重要用择这张图为大家主要展示的就是好三对完善的机器学习模型的开发流程主要光含几个大块数据工程模型开发的机器学习工程以及最后的机器学习应用开发仅仅局限于其中一块或是其中某几块功能的AIMO OPS平台可能已经很难满足当下客户们的需求了因此针对以上这些问题和需求我们的首相目标就是希望可以为我们的客户打造出一款及数据管理模型开发及部署GPU资源及整个机器学习Live Cycle监管的并且可以能够在我们B-Sphere平台上丝滑运行的一款AIMO OPS平台同时我们也希望推出一款猫兜柱对我们的用户提供大量多元的能够进行一件事运行部署小优的模型在针对端弥补数据管理或是工作流、机器学习生命周期这些缺口的同时还能够通过大量的实质用意来帮助客户们用户们更好和高效的去学习理解AIMO OPS技术进行一些知识理念同时从而进行一些更多有意义的模型开发和机器学习Service比方同时为了适应AIMO OPS开发所需要的大数据量和打模型量我们这款项面计划以违远生开源的项目来推出鉴于以上这些愿性我们项目首先推出的就是Visper Meshall Meshall Extension而其中最为重要的是今天我主要会介绍的就是我们的QPro on Visper 项目这是一款开源的企业级的AIMO OPS铭海QPro是当前最流行的免费企业开源的AIMO OPS铭海之一它的核心功能就是可以让用户通过使用Machine Learning Pipeline来设计管理在Cubernetes上运行的复杂的工作流程它结合融入了很多主流的机器学习开源软件比如Tensor Board 啦Jupiter Flow 啦等等等等它的功能覆盖面也非常广比如可以监管实验运行情况以及进行可视化的Tensor Board进行超3条由的可提以及它最核心的功能Machine Learning Pipeline我们公司目前已经推出了一款可以让Qubeflow能够在VSphere with 摊组环境中丝滑安装并运行的开源项目兼容了Carvel Packaging以及Unified GTKG我们对Qubeflow 上面的核心功能进行了打包整合和验证同时还针对一些对硬件或软件有需求依赖的功能组件进行了调整和改善让它们都可以丝滑的在我们的VSphere with 摊组环境中运行同时我们还融入结合了更多功能性的组件比如L-DEP 认证模型Registry 特征存储等等同时我们还开发调试了多种结合了Qubeflow重要功能组件的大模型用力我们并针对以上推出了一款相对完善的企业机文Qubeflow on VSphere 的安装调配 认证再到重要核心功能的组件的使用以及再到最后我们自己开发整合验证的Use Case 的Tutorial接下来这张图为大家就是比较high-level 的展示了一下我们Qubeflowon VSphere 的整体架构它的底层infrastructure会涉及到VSphere, Kubernetes, Israel 和DEX同时可以使用让用户是可以使用的Vidia, Intel, AMD 等的GPU资源存储这里我们计划是使用MLflow或是GitLab来进行模型的存储命IO 来进行数据的存储Google 加的MLMD Library来进行Metadata 的存储然后UI上我们将要体现的功能将包括但不限于Qubeflow 基础的管理面板Jubiter Notebook以及它的核心功能就是Pepline还有就是会涉及到普罗米修斯以及TensorBoard来进行GPU等硬件资源的管理以及模型实验的数据可视化再包括甚至整个的继续学习Lifecycle 的监管我们这整个的VSphere Machine Learning Extension的目标是希望可以尽可能多的去打包验证整合多元的功能性组件一个用户提供更好的模型开发的体验同时还希望可以满足有不同技术背景的客户比如说对于从事Data Engineering 类别的客户我们就会整合Spark这类功能组件来帮助他们更好的在QubeflowInvisible 环境中去进行数据处理等功能而对于从事Machine Learning Engineering 类别的客户我们则融入了Fist这一功能组件来进行特征存储TensorFlow 派Torch这类功能组件来进行模型训练甚至是分布手模型训练再到进行Application Engineering 类别的客户我们会融入K-Serve 拖延似的功能还去进行模型的Model Serving 类功能同时我们还希望计划也是正在进行中的适合当下最有非常火的锐来进行一个融合从而来进行对整个机器学习模型开发Live Cycle的一个监管和追踪接下来给大家简单介绍一下我们Qubeflow on vSphere的这样的我们给用户提供了一个非常简单快捷的安装流程主要用到的工具就是CarvelCarvel 是一套帮助用户在 Kubernetes 上进行Application 研发搭建配置及部署的开源工具我们会在安装过程中用到它的一个Native Command Line Interface就是K-Control安装只需要三步第一步 Add Package Repository这里面我们会将打包好的Qubeflow Carvel Package存在一个 Public Ripple 中以供用户随时自由的铺下来去使用打包好的Qubeflow Carvel Package中将会涵盖所有要将Qubeflow安装到VSphere Kubernetes Cluster 环境中所需要的Configuration Metadata以及OCI 镜像我们会把所有的Padding 工作都做好也就是说用户不需要做任何其余的额外更改就可以在VSphere with 贪图环境中撕滑安装并运行Qubeflow及其功能组件了同时我们还配备了多个版本以便用户随时根据自己的UseCase 来进行调整第二步 创建Config文件这个Config文件将会在第三步安装过程中使用到我们为用户准备好的Config文件已经可以满足基本的Qubeflow 使用了第三步 安装这里用户如果想要更改版本只需要简单粗暴地更改一下这里的版本参数就可以了我们的安装是支持最新的Qubeflow 1.7.0同时我们还支持了LDAP 认证登录的结合比如我们祖先内部正在使用来工作的Qubeflow我们就是可以通过我们VM World 自己公司的帐密来进行登录的同时Admin管理员还可以进行纯线设置只允许部分员工进行登录来确保更好的安全性接下来我之前录制了一个Demo 视频主要会为大家展示一些Qubeflow Envy Sphere有一些是基于本身Vanilla Qubeflow又有一些是我们后期融入的新的在Qubeflow Envy Sphere上运行了一些功能组件来进行一个Demo展示先为大家展示的是Qubeflow Pipeline 功能这也是Qubeflow 最核心的功能让用户可以快捷高效的搭建部属测试机器学习模型每一个 Pipeline 都代表了一个机器学习 Workflow而 Pipeline 中的每一步也就是每一个 Component都代表了这个 ML Workflow 中的一个步骤比如数据下载数据预处理超三条优模型训练模型评估等我们用到的Qubeflow Pipeline 本身的 SDK简称 KFP本段视频将用我们为用户准备的一个端队端 Use Case一个基于 Object Detection 模型设计的公然安全帽识别这一 Workflow所生成的 Pipeline 进行展示关于这一模型Pipeline 生成的讲解和代码我们也涵盖在了文档中但时间原因视频中将不做细节展示在 Qubeflow UI 左侧工具栏选择 Pipeline 点击上传 Pipeline这里入入 Pipeline 的信息我们将通过上传 Pipeline 的压抹文件来完成 Pipeline 的上传这一压抹文件中包含了 Pipeline 的全部信息包括所有步骤以及每一步骤的定义和细节这个压抹文件是可以通过 Qubeflow Pipeline 的 SDK也就是 KFP 来生成的而如何使用 KFP 来生成某一模型的 Pipeline我们在文档中进行的细致的介绍点击 Create之后用户就可以看到这个 Pipeline 的步骤以及每一步的 Summer 信息了对于安全帽识别这一用力的 Pipeline我们涵盖了以下几步创建数据存储的 Volume下载数据 处理数据模型训练以及 Model Transformation创建好 Pipeline 后我们就可以新建 Experiment新建 Run 来进行 Pipeline 的运行输入 Pipeline 所需的参数信息点击 Start左侧工具栏 Ransley我们可以看到 Pipeline 的运行情况绿色标志表示当前步骤顺利完成蓝色步骤表示当前步骤人的运行中点击每一步的卡片右侧弹窗里可以看到这一步的详细运行信息比如 Input, Output, Locks 等接下来为大家带来一些具体功能组建的 demo 展示首先为大家展示的是模型训练功能也是刚在 Pipeline 中涉及到的一个功能组建我们的文档为用户提供了使用 Pytorch 或者 Tanser Flow来进行分布式模型训练的讲解本段 demo 中将具体展示 Tanser Flow也就是 TF Jump首先在一段分布式模型训练的概念讲解后就是细致的 Step by Step Tutorial我们的 Tutorial 包含了可以供用户直接复制粘贴使用的代码或是 Terminal 命令行以及对每段代码的详细解释同时还在用户可以或需要进行 Customize 的地方进行雕住以方便用户随时根据自己 useCase进行代码调整首先验证必要的 Operator是否在 Kubernetes 上正常进行比如最重要的 TF Job验证完毕后就可以进行 TF Training Job 的创建我们的文档里为用户提供了一个现场的压抹文件来创建一个 TF Training Job完成一项比较基础的分布式模型训练Amnist 手写数字的识别本段 demo 中展示的 Training Job 的创建会创建两个 Worker Pod使用 CPU 进行模型训练同时我们也提供了如何使用分配 GPU 资源来进行较大模型的分布式训练的压抹和讲解创建完 TF Job 后我们就可以对开始的训练工作进行 Monitor 了接下来展示的是模型开发中非常重要的 Model Serving 功能为了更好的和 Qflow 结合我们文档中推荐大家使用的功能组件是 K-Serve本段 demo 将和我们为大家提供的一个段地段 useCase公然安全帽识别进行结合这用力的详细讲解和使用方法也涵盖在了我们的文档内首先连接到一个 Notebook Server 上对于安全帽识别这一模型的 Model Serving我们为大家准备好了一个现成的详细完整的 Notebook用户可以直接下载使用来进行一个 Quick StartNotebook 内首先对 Model Serving 的概念进行了一个详细的讲解然后就是 Step by Step Tutorial包含了可以直接运行的代码以及每段代码的详细解释和注解完成 Model Serving 就可以进行测试了首先决定好 Host和 Session然后就可以对我们 Serp 的模型进行调用推理这里我们为用户准备好了一段现成的调用代码和一张 Input 图片用户可以直接使用也可以根据自己的 useCase 进行 Customize 更改输出中包含的就是 Input 图片里识别检测到的安全帽信息如 XY 位置等除却这种 Pure Text 的输出我们还为用户准备了可以将输出结果可实化的代码这里用户可以看到在输入图片中我们将识别道的安全帽框了出来并在旁边标注的数据信息这样用户就可以更直观的理解认知这个模型了同时用户也可以在 Qflow UI 中看到我们 Serp 好的模型主页左侧点击 Models选中我们 Serp 好的模型这里用户可以看到这一模型的详细信息包括 Lux 以及压抹文件等最后为大家展示的是模型开发中另一个比较重要的功能特征存储特征存储我们用到的功能组建是 Feast文档中首先讲解的相关概念如 Feast 特征存储Tutorial 中用力的 Workflow 档然后就是细致的 Step by Step Tutorial首先将数据上传到用来存储数据的 MIO Bucket 中这里对第一次使用 MIO 的用户我们也提供了详细的 Configure MIO 的步骤用户只需要 Follow 我们的文档 Step by Step理解并安装即可然后是 Feast 及其依赖包的安装之后是数据挖掘文档中我们为用户准备的是司机驾车过程中产生了一系列数据如兴致的礼成数 完成的礼成数量等接下来是特征存储 Ripple 的 Setup 以及特征的注册完成特征注册后用户就可以用我们准备好的特征来进行模型训练和模型预测了文档中我们的用力是预测 Performance 税优的司机首先为大家除去刚才那些 Demo 以外我们的文档以及我们之前为大家准备好的还有很多实际模型的用力我们也希望可以通过实际上的用力来帮助用户更加高效有效的理解我们 Q-Float on v-sphere 的一些功能以及 AIML 上面一些概念的使用这些用力里面首先包括了一些端对端的模型用力这些端对端用力都会包含重要核心的计计学习概念以及功能的使用比如模型部署 调油 超三调油等等刚才在视频中反复提到的基于 Object Detection 模型开发的工人安全帽识别 Workflow就是这其中的一个其次我们还有教用户如何使用TorchServe和 K-Serve来在我们的 Q-Float on v-sphere 环境中进行大模型 Model Serving 的用力其中就包含了当下非常火的 LLM 大语研模型比如Lamala Bloom 等等然后最后我们还先处理出了如何使用 Salesforce 它们家的 CodeGene来进行在我们的 Q-Float on v-sphere Notebook 环境中进行 Programming Synthesis 的用力刚才所有提到的用力我们都包含了细致的讲解以及可以用户直接Clone 下来直接在我们的环境中进行使用的 Github Ripple然后同时我们还推出了这款文档中会包含整个的安装啦 介绍啦以及装的功能组件等等这些都是我们已经打包验证整合过的了然后同时除去在 v-sphere 环境中运行我们公司现在我们祖先也正在努力尝试的是能不能够把我们打包好的这些可能包含了一些我们新整合进的功能软件在其他的环境中运行比如像艾莉云啦 或是罗吉拉等等我们也是希望除了可以更好的服务我们 v-sphere 的用户也能够就是把它作为一款比较 general 的一个 amelops 平台给大家推广出去然后感兴趣的用户也欢迎先下我们可以交流一下比如说感兴趣的可以看一下我们的文档链接等等好 我的部分是这样接下来请我的同事来为大家今天下一方面的介绍大家好 我是来自Waymer的徐静亨现在由我来带来 Project Pitch 的GPU 高级管理功能这个是木炉好 首先第一部分我要向大家介绍的就是数据科学家在使用GPU负载时候会遇到的挑战这个挑战我主要把它总结为两部分第一个就是数据科学家它信息受限那么信息受限什么意思呢也就是数据科学家他在比方说使用 Cooler Flow on v-sphere的时候它有很多关于GPU的信息它是很难去查询到的由于它的自己的专业知识或者是一些全线上的问题比方说 Cooler Natives 上GPU节点上的挂载的GPU的种类数量以及它所使用的具体的虚拟化技术第二部分比方说是当前的GPU的驱动以及枯大栏装状态以及相关版本信息第三个是集讯中的GPU整体使用情况比方说整个集讯中它的GPU总量是多少又有多少GPU它是处于控线状态可以被使用的然后还包括一些更细腻的比方说是一个集讯中其他的用户它对于GPU的使用情况包括各个项目对于GPU的使用情况以及不同的用户和项目它们的一些优先级的设置在进一步可能会有一些更专业的关于GPU的信息包括GPU的利用率内存占用的情况始终频率等等这些都是数据科学家可能会感兴趣的问题但是他们很难去查询到那么就导致了下面一个问题就是角色分工不清数据科学家他常常需要依赖语或者是他需要亲自去扮演一个育美工程师或者是集讯管理员他才能去拿到这些信息这就导致数据科学家他在除了机器学习知识方面之外他还需要了解KBAR-S相关的这些知识这对于几个数据科学家是非常难的那么这个是一个背景这就是讲了在以Wimler的Wizware上安装配置一个GPU所需要的步骤它所需要的是有两个角色第一个是集讯管理员那么如果需要在Wizware平台上启用GPU它首先需要在Wizware上去起来一个Cluster然后在它的物理机上安装相关的这些软件包括一些设置那么最重要的就是第五点就是绿色部分它需要集讯管理员需要提前定义一个VM-Class那么整个VM-Class它就是一个虚拟机的硬件配置的这么一个配置那么我们知道在Wizware的Kubernetes它的每一个节点对应于其实是一个虚拟机所以说集讯管理员就需要提前去定义它K8S集讯里虚拟机的配置包括CPU是多少然后内存是多少更重要的就是虚拟机上挂载了怎么样的GPU资源这个需要通过VM-Class去定义的然后因为工程师他在集讯管理员的基础上他会去使用VM-Class去创建一个对应的我们叫TKG Cluster也就是Tanzu Kubernetes Grid Cluster这样一个K8S Cluster然后创建Cluster之后它会去在上面安装Media的GPU Operator这个operator主要的功能是用来安装GPU的驱动然后这个就是刚才提到的VM-Class集讯管理员就需要提前去指定CPU的数量然后Memory是多少G的然后最重要的就是右边这个图它需要选择GPU具体的型号GPU所使用的虚拟化技术就是GPU Sharing这块然后GPUMemory就是你通过虚拟化技术你可以把GPU切分成更小的块你可以去定义你需要使用的到底是多少的显存以及它的GPU的数量刚才提到了GPU虚拟化技术这里再简单介绍一下在Visware上我们主要支持的两种GPU虚拟化技术是VGPU和Meg也就是Multi-Instance GPU这两种GPU它们主要就是用来服务于一方面是那种Experimental类型的这种任务比方说数据科学家他使用一个Notebook需要在上面做一些实验它可能并不需要一个完整的GPU的这些算力和显存另一方面就是像一些Inference的这种服务它也并不需要占用完整的一个GPU那么就可以用这种GPU虚拟化技术去把一个GPU进行切分然后去把一部分GPU去分配给这些比较小的任务然后具体到VGPU和Meg的区别右边有一个表格那么它们对于显存都是静态划分的而对于GPU的算力VGPU是采用了十分复用的方法而Meg也是把算力进行了静态的切分这样Meg它就可以保证更好的这种隔离这里就是我从Wirmer的一些blog上摘取了一些关于VGPU和Meg的行动对比然后左上角这个表格我们就可以看到它提到几个VM几个VM的意思就是说总共有几个VM在使用某一种虚拟化技术去共享同一个物理GPU然后左上角这个表格我们可以看到在使用Data Transfer也就是也就是这个任务中涉及到比较多的这种数据拷贝的时候然后我们可以看到使用VGPU进行GPU的一个分享的时候这个性能会更高一些然后左下角这个框圖也是类似的它是这个众作标是吞吐量它也是我们可以看到当使用的是VGPU的时候吞吐量随着VM的增加会更高然后在博客里的解释是说VGPU它的Memory Bandwidth是共享是几个VM之间共享的而Meg也是静态切分的这就导致VGPU在遇到这种数据拷贝的时候它的性能会更高一些右边两个图右上角我们可以看到随着同时使用一个GPU的虚拟技术量增多这个Meg在做TRAINING一个任务的时候它的性能也会更高这个是众作标越低越好然后右下角这个图我们可以看到就是在具体任务它是比较轻量级的任务的时候这个Meg它的性能会更好这个也比较好理解因为Meg它把GPU都是全部算力和内存全部静态切分那么它可能就更适合于同时执行一些轻量级的任务然后刚才介绍了这么多不同GPU训练花技术的这种优缺点我并不是想给大家安利某一种GPU训练花技术我想说的是就是不同的任务它们所需要的GPU训练花技术是不同的而刚才提到VM Class那么这个集群管理员它是需要提前去创建好一个VM Class那么他就遇到一个问题这个集群管理员他如何才能提前预测到接下来数据科学家要使用的GPU呢我们可以看到不同的任务所需要的GPU训练花技术是不同的而GPU内存的使用量随着数据科学家它调试网络调试这些不同的参数它也会不断在发生变化而如果到了这些influence阶段GPU的时间占用率又会更低可能会更需要一些这种切分之后的小GPU的这种节点而如果是到了training的阶段又需要更多的这种GPU去做可能超餐的调优这种事情那么这就带来一个挑战我们能不能实现一个GPU能在集群间进行调度按需的去创建销毁根据数据科学家当时的使用量我们去增加GPU减少GPU而不需要不需要用集群管理员去提前预测这是不可能的然后第二个背景就是刚才最开始提到了这个运媒公司它需要在集群中安装AMIDA GPO operator才能接下来的工作负载使用GPU那么GPU operator它包含了这么几个部分第一部分就是GPU Fisher discovery那么这个组件它会给GPU的它会给KBIS的节点上标注了GPU相关的信息比方说GPU的数量GPU的种类内存等等这些节点信息第二个就是AMIDA AI Enterprise Gas Driver这个东西就是给新增的KBIS节点装驱动的GPU驱动KBIS Dress Plagin这个东西就是我们在使用我们在使用KBIS创建一个GPU工作负载的时候我们不是要在压抹文件里指定Resource然后Limit那个要使用GPUAMIDA.com GPU数量是1或者2这种这个东西就是通过KBIS Dress Plagin来实现的然后AMIDA Container Toolkit这个是有了这个才能让这个Container能够使用GPU最后的就是DCGM Monitoring这个东西就是AMIDA推出的对于GPU各项具体的这种数据进行监控的这么一个组件刚才提到Fissure Discovery Label这个就是某一个KBIS节点上我们如果去看一下它的具体的Spec就可以发现它那个Metadata Labels被GPU Fissure Discovery上打了各种各样的Label那么这个Label我们可以看到它很复杂它也很多那么数据科学家如果去看这个东西它可能会看不懂而且它不一定有权限去看这个东西然后刚才的DCGM那个组件它里面我们可以读取到更多的这种信息然后这个表格做了一些解释但是即便做的解释我们还是觉得它特别的专业我们可能会看不懂那么数据科学家它可能就更不清楚这每一个指标是什么意思然后刚才提到那个DCGM它可以熟悉的朋友可能能看出来它是给那个普罗米修斯来用的所以这个东西也可以接到普罗米修斯上然后再接上Graph我们可以去做一些这种监控的这么一个图之类的但是它还是有问题它的指标数量太多了数据也太专业了对于数据科学家是太复杂了而且由于有这么多的指标那么其实是很难直观去判断这个系统是处于什么样的一个状态到底是现在是正常的还是不正常的你很难说那么这个软件也有一定的使用门看可能集群管理员或者运营工知识会更熟悉那么对于数据科学家它其实更关心的就是它自己想当前想要使用的GPU它能不能使用上好 这是第二个挑战然后第三个挑战就是最一开始提到在集群中GPU监控上能不能有一些更细腻度的这种调度优先级的设置不同的用户不同的项目他们使用GPU情况怎么样的以及有没有一些优先级的设置接下来就是介绍一下我们对于Core Flow Amazfit我们对于GPU管理功能做了一些定制我们结合了一个Coopernattice SIG的开源项目叫Cluster Auto Scalar这么一个项目我们将它集成进来然后帮助我们去动态管理GPU节点那么这个Cluster Auto Scalar它的工作的方式很简单我们可以看右下角的这个框图也就是当一个集群中的一些砲的它处于一个喷顶的状态的时候这个Cluster Auto Scalar它就会扫一遍这些砲的它发现这个喷顶它就会去Request它会去申请新加入一些KBS的节点这个节点也当然是有可能包括GPU的然后有这个新节点之后Pending状态的Pod就可以被安排到新的节点上基本上就是它的一个工作原理那么它当然支持添加新的节点它也支持删除空闲的节点它主要的两个功能那么如果要启用它集群管理员就可以对每一种提前定义好多种这种KBS节点的种类然后对每一种节点去配置它最大的数量和最小的数量是多少那么这个东西这个Cluster Auto Scalar它也是对GPU有一些支持和优化的那么通过这个项目的结合我们做了一个demo然后大家展示一下本demo展示了基于Coverflow的GPU高级管理功能为提升数据科学家使用Coverflow创建GPU工作负载的用户体验新增了按需动态分配GPU的功能并在Coverflow界面中直观的显示GPU的使用信息访机首先先介绍数据科学家使用原生Coverflow会遇到的三个问题第一无法方便获取集群中已有的GPU种类和数量以及哪些GPU处于空闲状态可以被使用数据科学家不得不扮演运为工程师的角色使用命令行登陆到集群中获取集群节点信息寻找Media.com-GPU.prodac这个标签还能知道集群中有一个四级显存的虚拟GPU和两个八级显存的虚拟GPU若要知道三个GPU中哪几个处于空闲状态数据科学家需要对GPU operator中的Media dcgmxporter执行端口转发对集群中的所有GPU进行主义查询第一种情况显示POD等于空意思是四级显存的GPU处于空闲状态在后面两种情况POD分别等于Notebook 8C-01和Notebook 8C-02说明这两个八级的GPU都被Notebook POD所占用无法被使用第二个问题是若要在创建Notebook时指定GPU卡型号比如集群中的四级显存或八级显存的Media ARGPU数据科学家需要手动修改Coverflow配置首先在Config web中找到Jubiter Web App Config对Affinity Config进行编辑加入Note Affinity的配置从而使创建的Notebook能够匹配Media.com.GPU.Podoc这个标签第三个问题是没有按需动态分配GPU的功能当集群中的GPU无法满足要求时数据科学家不得不请求集群管理员手动添加GPU总结一下在使用原生Coverflow时会遇到无法方便获取GPU状态无法自动配置使用GPU的种类无法按需动态分配GPU的三个问题数据科学家严重依赖于运为工程师或集群管理员的帮助影响用户体验我们所定制的Coverflow增强了GPU管理功能在界面中显示了详细直观的GPU使用信息并集成了Covernatis Cluster Auto Stroller来提供按需动态分配GPU的功能Covernatis Cluster Auto Stroller是由Covernatis SIG维护的开源集群谈信声缩项目这个表格中动态展示了集群中GPU的相关信息一目了然当前有一个4G显存的Media AR GPU并且处于空闲状态可以被使用有两个8G显存的Media AR GPU都被其他工作负载所占据当前不可使用由于目前只有4G显存的GPU处于空闲状态让我们来创建一个使用4G显存GPU的Notebook进入到刚刚创建的Notebook中输入命令Media AR SMI我们可以看到Notebook中包含了4G显存的GPU可以被使用回到刚刚的页面我们可以看到4G显存GPU的可用数量由1减少为0下面介绍按需动态分配GPU的功能让我们首先启用Auto Stroller回到用户界面我们可以看到Auto Stroller相关的信息Auto Stroller GPU Target代表Auto Stroller调整GPU数量的目标如果此数值大于Capacity意味着正在增加GPU如果小于意味着正在减少GPU在大多数情况下这个数值等于Capacity意味着GPU数量保持不变Auto Stroller没有执行增加或减少GPU的操作Auto Stroller GPU Range代表Auto Stroller对于每一种GPU可以调整的最大和最小数量这个数量是由集群管理员部署Auto Stroller是配置的首先也是动态增加GPU数据科学家在表国中看到8G显存的GPU都处于被占用状态但他希望Auto Stroller按需添加一个带有8G显存的GPU可以看到8G显存GPU的Auto Stroller GPU Target U2增加为3代表正在增加GPU此时数据科学家需要等待10-20分钟才能使用新添加的GPU15分钟后新的GPU已经准备就绪GPU Operator也已经将显卡驱动安装完毕我们可以看到表国中Auto Stroller状态也已经改变8G显存GPU的Capacity数量由2增加为了3刚才创建的Notebook 8C Stirling Up也已经被调度到新的GPU节点上下面演示动态删除GPU我们删除掉刚刚创建的Notebook当Auto Stroller检测到GPU节点的资源利用率较低时该节点会被删除可以看到表国中8G显存GPU的Auto Stroller GPU Target由3降低为2Capacity数量也由3降低为2总结一下增强的Coverflow GPU高级管理功能十分人性化对于没有Covernatis知识的数据科学家也可以轻松获取集讯中已有GPU的信息和潜在的可以被Auto Stroller动态分配的GPU信息数据科学家可以在没有预没工程师或集讯管理员的帮助下在用户见面就完成所有的任务弹幕完毕这个是Rodeman他其实就对应于刚才我提到的数据科学家在用GPU时会遇到的各种各样的问题然后我们现在是只实现了其中的一部分希望以后会慢慢的全部实现谢谢大家感谢两位老师的精彩分享大家有什么问题吗我对这块不算特别了解我想咨询一下第一个是你们这个Coverflow这个是开源的吗这个平台对我们这个是开源的在那个比如说我们本身安装这块网上已经有个开源的项目了就是但其实主要因为它是Carvel我不知道您对Carvel了解多少本身我们是用Carvel包起来的话它是存在我们公司一个public repo里了代码主要可能是压磨文件之类的比较多就如果您比如说您公司有一些自己额外需要配置的东西肯定是需要铺起来我们原文件完了可能再进行更改但如果正常的话其实可以持就文包好的包但是也是开源的项目您说你们这个服务的那个包管理器是用那个commaio那个东西管的是吗我们是用Carvel这个工具包去进行Coverflow整个的打包的就是把我们整个融合打包的那我可以用开源的Helm或者是压帽直接去了不太吗直接去布吗这个我们目前还没有尝试过但是我觉得您提的这个问题非常好因为我们之前也想过的是目前我们这个开源涉及到的是在VCR环境中进行部署但是比如说我们之前也有在和Ali什么的也聊过的时候确实也聊到他们也很希望我们整合起来的这个有新功能的CubeLogy像我同时刚才介绍的有这个比较不错的GPU可是话资源管理的这些如果能够在别的公司的环境里去部署肯定就比较general会更好一点这个我觉得像Helm是比较常用时机的一个我觉得这个我们是后期可以去就是研究整合的对好 谢谢老师第二个是我看里面有涉及到GPU operator那一块那个是NV达开源的是吗那个NV达提供出来也是开源的GPU operator做GPU只比较采集虚拟化那一部分的工具它那个东西你在网上能找到一些代码但是要部署那个东西好像是需要license是不是免费的是吧对好的那您这个平台说是开源的那这个到时候部署的时候像刚才那一块是提供免费的去测呢还是需要自己去付费对 这方面现在我们在做这样一个努力就是把我们现在做这一整套东西就是如果拿到外面开源之后不能用的一些地方我们希望能够把它去剥离开或者是找到一些解决方案去替代关于这个GPU这块的话现在就可能因为这个设计到跟Amedia那块我们不可能帮Amedia去开源对吧所以可能是如果要去用GPU的环境还是需要就是对方能够自己去想办法安装这一套东西其实我的核心点就是说对于刚刚GPU Overview那一套比较感兴趣就是可能我不需要比如说因为那个更通用性嘛我直接接普鲁米幼丝接给方案我直接就可以用了就可能和你平台可以接我开就想问一下那一块是不是可以我直接拿出来直接布直接用关于GPU这我稍微补充一小点就是其实不管不仅是这个像我们提供的一些大模型刚才提到的用力其实就是您要是说拿CPU生跑它也能跑但肯定它如果拿GPU资源去跑的话肯定管理的会更好这是为什么我们引入了管理但就是GPU资源管理这块我们可能不会计划说我们给大家提供GPU资源管理是大家各自的GPU资源去管理那么我觉得除了Amedia可能如果带带我别的GPU资源管理可能就像我同事说我们不仅接我开可能这里我们也会提供一个开口就是让大家可能自己去接入这个地方的管理这些等等对好的还有最后那个功能我可以理解成是一个节点级别的一个GPU节点级别的一个扩缩容能力是吧对是这样的好的好谢谢两位老师