CANN 5.0 黑科技解密 | 算力虚拟化,让 AI 算力“物尽其用”
摘要:算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本。
为什么要做算力虚拟化
近年来,人工智能领域呈井喷式发展,算力就是生产力,以 AI 集群为基础的人工智能计算中心在国内多点开花,为政府、企业及个人,提供了一种新的城市公共资源,成为了智能世界的“黑土地”。
算力资源共享势必会带来资源分配问题,无论是人工智能计算中心这种大型 AI 基础设施还是 AI 计算卡这种小型 AI 计算资源,都承载着用户多样化的 AI 算力诉求。
比如,在某些算力要求不高的场景下,AI 模型在训练或推理时并不需要占用整张 AI 计算卡,希望更低的资源配置满足要求,比如 1/4 切片;再或者,在教学场景,一台 AI 服务器(可由单张或多张计算卡组成)希望可共享给整个班级使用。
借助虚拟化技术可轻松应对以上问题!
我们将整卡或整机的计算资源虚拟化为多个虚拟计算设备,并在上面部署不同的虚拟机或容器,分别运行 AI 训练或推理应用服务。
对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本。
业界常见虚拟化技术
业界常见的虚拟化技术有「基于时间分片」和「基于计算实例隔离」。
举个例子,三胎政策来了,未来几年,妈妈们可能会面临同时应付三个神兽的情况,老大要辅导作业,老二要读绘本,老三要喝奶…先忙谁都有意见,怎么办?
遇事不要慌,坐等天塌是没用的,基于时间分片的虚拟化技术为三胎妈妈提供了友好的解决方案,让每个娃都不会等太久,雨露均沾,不偏不倚:
这实际上是对计算资源从时间层面上划分,与 CPU 进程调度类似,各任务进程按时间切片占用全部的物理设备资源。
而基于计算实例隔离的虚拟化技术,是对计算资源本身的直接划分,正如文章开头的举例,老师在教学时,将一台 AI 服务器划分成 N 个虚拟组并做好安全隔离,然后共享给整个班级使用,使得每个学生都能独立使用,互不干扰,实现多个虚拟机实例共享同一硬件资源。
显而易见,两种虚拟化技术均能有效提升算力资源利用率,但并不是天衣无缝。
基于时间分片,无法做到 AI 任务之间的安全隔离;而基于计算实例分片,在目前市面上支持的切分粒度不够细,不能满足用户更高规格的切分诉求。
而华为提供的 AI 算力虚拟化技术,支持足够细致的切分粒度,且在各个虚拟设备间可做到足够安全的相互隔离,无论从切分粒度还是安全角度来说,都要更胜一筹!
下面我们就来看看,华为是怎样做到的。
华为 AI 算力虚拟化技术解读
众所周知,昇腾 910 是华为推出的一款具有超高算力的 AI 处理器,它集成了 32 个达芬奇架构的 AI Core 计算引擎,可高效执行矩阵、向量计算密集的算子任务,八位整数精度(INT8)下的性能达到 640 TOPS,16 位浮点数(FP16)下的性能达到 320 TFLOPS。
单片昇腾 910 AI 处理器提供的算力如此之大,为了使其“物尽其用”,必须充分利用好虚拟化技术,将硬件的计算资源利用到极致。
CANN 作为 AI 领域的异构计算架构,不仅能充分做好本职工作——极大程度释放硬件性能,为 AI 应用提供强大的算力支持,还在最新的 5.0 版本中,借助“基于 AI Core 切分的算力虚拟化技术”,最高可支持切分成 32 个分片,充分提升了硬件的资源利用率。
下图是 CANN 5.0 的算力虚拟化框架:
基于该框架,可支持虚拟机、容器的单一或混合部署,并能支持不同类型算力单元的划分,实现算力、内存、带宽的灵活切分、隔离。
下表是昇腾 910 支持的基于 AI Core 切分的算力虚拟化典型配置:
比如,教学场景下,有人算力诉求小,有人算力诉求大,基于 AI Core 切分的算力虚拟化技术,能够将一片昇腾 910 AI 处理器进行灵活切分,以匹配开发者多样化的算力诉求:
算力就是智能时代的粮草,半丝半缕弥足珍贵,正是得益于 CANN 超小粒度的算力切分机制,让小算力场景下算力分配更加合理,宝贵的计算资源才能得到更加充分的利用。
CANN 在实现算力切分的同时,也实现了各个虚拟设备间的安全隔离,包括:
支持虚拟设备间内存隔离:
通过算力配置,实现 HBM、DDR 等内存的自动切分和隔离。
支持虚拟设备间的数据隔离
通过虚拟设备的标识,实现用户数据按照虚拟设备自动处理和隔离。
支持虚拟设备间的业务故障管理隔离
各个虚拟设备的故障信息反馈给对应的虚拟机或容器。
除了支持对单个昇腾 910 AI 处理器按照 AI Core 级别进行算力切分,CANN 还支持在搭载多个昇腾 910 AI 处理器的 AI Server 或集群系统中,按照昇腾 910 AI 处理器维度做算力划分。
从技术角度看,CANN 5.0 的算力虚拟化方式切分更细致、隔离更安全,给予了行业开发者更多选择;
从性能角度看,虚拟化和非虚拟化场景下性能持平,提升灵活性的同时,也妥善保证了用户体验不打折!
写在最后
CANN 5.0 在算力虚拟化方面做出的努力,可有效降低管理成本,提高系统利用率和安全性。
自此,云端个人用户或者小企业客户,只用按需购买资源和算力,即可以最低成本完成 AI 应用部署。
未来的智能世界里,AI 一定是人人皆可得的通用技术,算力也必然是人人皆可用的平民化资源。
借力于 CANN 5.0,AI 正在逐步成为大家“用得起”的普惠 AI。
未来不远,已在路上,你准备好了么?
欢迎登陆昇腾社区网站了解更多信息。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/697f4020907f28c16dda89e3e】。文章转载请联系作者。
评论