《异构计算云服务和 AI 加速器》系列,共包含以下文章:
- 异构计算云服务和 AI 加速器(一):功能特点
- 异构计算云服务和 AI 加速器(二):适用场景
- 异构计算云服务和 AI 加速器(三):GPU 虚拟化技术
- 异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术
- 异构计算云服务和 AI 加速器(五):EAIS & AI 加速器
😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!
异构计算云服务和 AI 加速器(五):EAIS & AI 加速器
1.EAIS 软件池化技术
🚀 在云计算领域(如阿里云),EAIS 代表一种弹性加速服务,允许用户将 GPU 等加速资源动态附加到 ECS 实例,以提升计算性能(如 AI 推理、深度学习等),而无需更换原有实例。
除了支持预定义规格的异构计算加速实例,还可以通过 弹性加速实例(Elastic Accelerated Computing Instance
,EAIS
)以池化的方式将前端 CPU 的核心数和后端的异构加速设备解耦,让前端 ECS 动态挂载、后端异构计算加速实例卸载。前端和后端异构计算加速实例都以虚拟化的方式启动。通过虚拟化的方式可以对 GPU、FPGA、NPU 等不同的异构加速实例化调度和管理。
EAIS 架构如下图所示,通过虚拟网卡技术将异构计算加速实例挂载到前端 ECS 上,后端异构计算加速实例会运行 一个监听前端请求的进程 及 一个推理服务进程,然后在前端 ECS 上启动弹性推理客户端,在推理前端服务和推理后端服务之间建立一个高速安全通信通道,前端应用的 AI 推理计算请求和模型通过通道发送到后端的推理服务进程上进行 AI 推理计算,推理的结果再通过安全通信通道返回给前端应用。
2.AI 加速器及其性能优化技术
AI 加速器主要面向人工智能领域的性能加速,目前应用最多的 AI 框架就是TensorFlow、PyTorch、MXNet、Caffe 等,而这些 AI 框架自身都有很多的发布版本被不同的开发者使用,并且各框架都有自己的一套分布式并行方式,我们为了屏蔽不同计算框架之间及不同计算框架版本间的分布式训练差异,通过统一的框架和统一的优化代码来优化这 4 种计算框架的不同版本。我们研发了统一的 AI 加速器,其架构如下图所示。
我们把这些分布式训练框架的通信部分整合到了同一个框架之中,接下来在这框架之下的所有优化工作,都将直接加速支持的全部 AI 计算框架。
2.1 分布式通信优化方法
- 计算和通信的重叠。传统的计算和通信是串行的,即先做完梯度计算、再做梯度通信,我们的第一个优化工作是将计算和通信重叠起来,尽量减少通信的开销。
- 去中心化梯度协商。传统分布式梯度协商方式是根节点和所有节点都协商,因此根节点的负担会随着节点数增加而大幅升高。而我们采取的去中心化的梯度协商方式,将大规模下梯度协商的复杂度降低了一个数量级。
- 梯度压缩。将要传输的梯度从 FP32 压缩到 FP16,并建立了相应的数据缩放机制,从而防止精度损失。
- 分级通信优化。传统的环形通信方式是将所有节点上的 GPU 形成一个大环,致使其整体性能在以太网的通信上受到限制。我们做了分级通信的优化,首先在节点内部的 GPU 上做一级规约通信,每个节点都规约到一块 GPU 上,然后每个节点的这个 GPU 再做二级规约通信。这样一方面减少了以太网上传输的数据量,另一方面通过流水线将节点内部的规约通信和节点之间的规约通信重叠起来,减少了整体通信时间。
- 梯度融合优化。传统的通信方法是计算出一个梯度通信一次,这样会产生很多小包的通信,对网络带宽非常不友好,优化是等一批梯度计算完成后再融合在一起做通信,这样的大数据包能够大大提升网络带宽的利用率。
2.2 性能加速效果
我们选择了将分布式性能优化得很好的 Horovod 框架和各 AI 计算框架本身进行性能对比,经过测试发现,AI 加速器支持的框架的分布式训练性能比 Horovod 及各 AI 计算框架能够提升 65 % 65\% 65% ~ 500 % 500\% 500% 不等的性能。
图像分类 TensorFlow ResNet-50 分 布 式 训 练, 在 4 机 32 张 P100 GPU 上比 Horovod-TensorFlow 提升 65% 的性能,如下图所示。
图像分类 TensorFlow VGG-16 分布式训练,在 2 机 16 张 P100 GPU 上比 Horovod-TensorFlow 提升 90 % 90\% 90% 的性能,如下图所示。
大规模人脸识别 MXNet 分布式训练,在 2 机 16 张 P100 GPU 上比 MXNet 提升 400 % 400\% 400% 的性能,如下图所示。