当前位置:   article > 正文

【GPU虚拟化到池化技术深度分析 2024】_显卡虚拟化技术

显卡虚拟化技术

文末有福利!

随着大模型的兴起,对GPU算力的需求越来越多,而当前现实情况使企业往往受限于有限的GPU卡资源,即便进行了虚拟化,往往也难以充分使用GPU卡资源或持续使用资源。为解决GPU算力资源不均衡等问题,同时支持GPU算力的国产化替代,提升GPU资源的利用率,GPU算力池化需求迫在眉睫。本文分享了GPU设备虚拟化的几种路线、GPU虚拟化和共享方案以及GPU算力池化云原生实现。

智能化应用如人脸识别、语音识别、文本识别、智能推荐、智能客服、智能风控等已广泛应用于各行各业,这些应用被称为判定式AI的范畴,通常和特定的业务场景相绑定,因此在使用GPU(Graphics Processing Unit)卡的时候也通常各自独立,未考虑业务间GPU共享能力,至多实现vGPU 虚拟化切分,从而一张物理GPU卡虚拟出多张vGPU,可以运行多个判定式AI 应用。

随着大模型的兴起,对GPU算力的需求越来越多,而当前现实情况使企业往往受限于有限的GPU卡资源,难以支撑众多的业务需求,同时由于业务特性等,即便进行了虚拟化,往往难以充分使用GPU卡资源或持续使用资源,从而也造成有限的卡资源也无法有效利用。

一、从GPU虚拟化需求到池化需求

智能化应用数量的增长对GPU算力资源的需求越来越多。NVIDIA虽然提供了GPU虚拟化和多GPU实例切分方案等,依然无法满足自由定义虚拟GPU和整个企业GPU资源的共享复用需求。TensorFlow、Pytorch等智能化应用框架开发的应用往往会独占一张GPU整卡(AntMan框架是为共享的形式设计的),从而使GPU卡短缺,另一方面,大部分应用却只使用卡的一小部分资源,例如身份证识别、票据识别、语音识别、投研分析等推理场景,这些场景GPU卡的利用率都比较低,没有业务请求时利用率甚至是0%,有算力却受限于卡的有限数量。

**单个推理场景占用一张卡造成很大浪费,和卡数量不足形成矛盾,因此,算力切分是目前很多场景的基本需求。**再者,往往受限于组织架构等因素,GPU由各团队自行采购和使用,算力资源形成孤岛,分布不均衡,有的团队GPU资源空闲,有团队无卡可用。

为解决GPU算力资源不均衡等问题,同时支持GPU算力的国产化替代,协调在线和离线资源需求、业务高峰和低峰资源需求、训练和推理、以及开发、测试、生产环境对资源需求不同,实现算力的统一管理和调度复用,实现GPU资源的切分、聚合、超分、远程调用、应用热迁移等能力,提升GPU资源的利用率,GPU算力池化需求迫在眉睫。

二、GPU设备虚拟化路线

GPU设备虚拟化有几种可行方案。

首先是PCIe直通模式(PCIe Pass-through技术,pGPU),也就是将物理主机上的整块GPU卡直通挂载到虚拟机上使用。但这种方式是独占模式,GPU卡没有虚拟化切分,并不能解决多个应用运行在一张卡上的问题,因此意义不是很大。

**第二是采用SR-IOV技术,允许一个PCIe设备在多个虚拟机之间共享,同时保持较高性能。**通过SR-IOV在物理GPU设备上创建多个虚拟 vGPU来实现的,每个虚拟vGPU可以被分配给一个虚拟机,让虚拟机直接访问和控制这些虚拟功能,从而实现高效的I/O虚拟化。NVIDIA早期的vGPU就是这样的实现,不过NVIDIA vGPU需要额外的license,额外增加了成本。SR-IOV虽然实现了1:N的能力,但其灵活性比较差,难以更细粒度的分割和调度。

**第三是MPT(Mediated Pass-Through,受控的直通)模式。**MPT本质上是一种通用的PCIe设备虚拟化方案。兼顾了1:N灵活性、高性能、功能完整性,但逻辑上相当于实现在内核态的device-model,厂商通常不会公开硬件编程接口,因此采用MPT可能会形成厂商依赖。

第四用的最多的模式是API转发模式。

根据AI应用的调用层次(如下图),API转发有多个层次,包括:

  • CUDA API转发(图中①)

  • GPU Driver API转发(图中②)

  • 设备硬件层API转发(图中③)

设备硬件层API通常是难以获得的,因此目前市面上通常采用CUDA API转发模式(截获CUDA请求转发,也被称为用户态)和GPU卡驱动 Driver API转发模式(截取驱动层请求转发,也被称为内核态)。

另外AI开发框架往往和GPU卡绑定(比如华为支持CANN框架,海光支持DTK框架,英伟达则支持TensorFlow、Pytorch等框架),AI应用在使用AI框架时,也可以在AI框架层进行转发,在AI应用迁移时比较有用。


AI应用调用层次

三、GPU虚拟化和共享方案

了解了GPU设备虚拟化的方式,基于设备虚拟化技术,看下GPU虚拟化和共享的实现方式。GPU虚拟化和共享有多种方案,英伟达从官方也提供了vGPU、MIG、MPS等方案,以及非官方的vCUDA、rCUDA、内核劫持等多种方案。

四、NVIDIA VGPU方案

NVIDIA vGPU是NVIDIA提供的一种虚拟化方案,可靠性和安全性高,但不支持容器,只能虚拟化若干个vGPU ,使用不灵活;无法动态调整资源比例;有一定的共享损耗;不支持定制开发,需支付额外license费用。

vGPU 原理揭秘:

在 NVIDIA 虚拟 GPU 助力的虚拟化环境中,NVIDIA 虚拟 GPU (vGPU) 软件与 Hypervisor 一同安装在虚拟化层上。

此软件可创建虚拟 GPU,使每个虚拟机 (VM) 都能共享安装在服务器上的物理 GPU。对于要求非常严苛的工作流程,单个 VM 可充分利用多个物理 GPU。我们的软件包含适用于各种 VM 的显卡或计算驱动。由于通常由 CPU 完成的工作分流到 GPU,因而用户可以获得更出色的体验。虚拟化和云环境可支持要求苛刻的工程和创意应用程序,以及计算密集型工作负载(例如 AI 和数据科学)。

NVIDIA 虚拟 GPU (vGPU) 软件为众多工作负载(从图形丰富的虚拟工作站到数据科学和 AI)提供强大的 GPU 性能,使 IT 能够利用虚拟化的管理和安全优势以及现代工作负载所需的 NVIDIA GPU 的性能。NVIDIA vGPU 软件安装在云或企业数据中心服务器的物理 GPU 上,会创建虚拟 GPU,这些 GPU 可以在多个虚拟机(可随时随地通过任意设备访问)之间共享。

优势:

  • 通过实时迁移 GPU 加速的 VM,您可以获得持续正常运行和前瞻性管理能力 – 不会对用户产生负面影响或丢失数据。

  • 利用统一的虚拟 GPU 加速基础设施来运行混合 VDI 和计算工作负载,从而提高数据中心资源的利用率。

  • 拆分 GPU 资源并在多个 VM 之间共享,或者将多个 GPU 分配给单个 VM,为要求极高的工作负载提供支持。

  • 借助灵活的调度选项,实现几乎与非虚拟化环境无异的性能。

**支持虚拟化的GPU 卡介绍:**‍‍‍‍‍‍

五、NVIDIA MIG 虚拟化 多实例 GPU

MIG是多实例GPU方案。只支持Linux操作系统,需要CUDA11/R450或更高版本;支持MIG的卡有A100, H100 等比较高端的卡;支持裸机和容器,支持vGPU模式,一旦GPU卡设置了MIG后,就可以动态管理instance了,MIG设置时persistent 的,即使reboot也不会受影响,直到用户显式地切换。

借助MIG,用户可以在单个GPU卡上获得最多7倍的GPU资源,为研发人员提供了更多的资源和更高的灵活性。优化了GPU的利用率,并支持在单个GPU上同时运行推理、训练和高性能计算(HPC)任务。每个MIG实例对于应用程序都像独立GPU一样运行,使其编程模型没有变化,对开发者友好。

单个 GPU 中包含七个独立实例。

多实例 GPU (MIG) 能够提升 NVIDIA Blackwell 和 Hopper™ 系列 GPU 的性能和价值。MIG 可将 GPU 划分为多达七个实例,其中每个实例均完全独立,并具有各自的高带宽显存、缓存和计算核心。如此一来,管理员便能支持各种规模的工作负载,确保服务质量 (QoS) 稳定可靠,并让每位用户都能享用加速计算资源。

优势概览:

  • 借助 MIG,您可以在单个 GPU 上获得多达原来 7 倍的 GPU 资源。MIG 可让研发人员和开发者获享更多资源和更高的灵活性。

  • MIG 允许灵活选择许多不同的实例大小,以便针对每项工作负载提供大小适当的 GPU 实例,最终优化利用率并充分发挥数据中心投资的价值。

  • 借助 MIG,可以在单个 GPU 上同时运行推理、训练和高性能计算 (HPC) 工作负载,并使延迟和吞吐量保持稳定。与时间分片不同,各项工作负载都将并行运行,从而能够提高性能。

技术原理:

若不使用 MIG,则同一 GPU 上运行的不同作业(例如不同的 AI 推理请求)会争用相同的资源。显存带宽更大的作业会占用其他作业的资源,导致多项作业无法达成延迟目标。借助 MIG,作业可同时在不同的实例上运行,每个实例都有专用的计算、显存和显存带宽资源,从而实现可预测的性能,同时符合服务质量 (QoS) 并尽可能提升 GPU 利用率。

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型实际应用案例分享

①智能客服:某科技公司员工在学习了大模型课程后,成功开发了一套基于自然语言处理的大模型智能客服系统。该系统不仅提高了客户服务效率,还显著降低了人工成本。
②医疗影像分析:一位医学研究人员通过学习大模型课程,掌握了深度学习技术在医疗影像分析中的应用。他开发的算法能够准确识别肿瘤等病变,为医生提供了有力的诊断辅助。
③金融风险管理:一位金融分析师利用大模型课程中学到的知识,开发了一套信用评分模型。该模型帮助银行更准确地评估贷款申请者的信用风险,降低了不良贷款率。
④智能推荐系统:一位电商平台的工程师在学习大模型课程后,优化了平台的商品推荐算法。新算法提高了用户满意度和购买转化率,为公司带来了显著的增长。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/1008278
推荐阅读
相关标签