当前位置: 首页 > article >正文

【弹性计算】异构计算云服务和 AI 加速器(五):EAIS AI 加速器

异构计算云服务和 AI 加速器》系列,共包含以下文章:

  • 异构计算云服务和 AI 加速器(一):功能特点
  • 异构计算云服务和 AI 加速器(二):适用场景
  • 异构计算云服务和 AI 加速器(三):GPU 虚拟化技术
  • 异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术
  • 异构计算云服务和 AI 加速器(五):EAIS & AI 加速器

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

异构计算云服务和 AI 加速器(五):EAIS & AI 加速器

  • 1.EAIS 软件池化技术
  • 2.AI 加速器及其性能优化技术
    • 2.1 分布式通信优化方法
    • 2.2 性能加速效果

1.EAIS 软件池化技术

🚀 在云计算领域(如阿里云),EAIS 代表一种弹性加速服务,允许用户将 GPU 等加速资源动态附加到 ECS 实例,以提升计算性能(如 AI 推理、深度学习等),而无需更换原有实例。

除了支持预定义规格的异构计算加速实例,还可以通过 弹性加速实例Elastic Accelerated Computing InstanceEAIS)以池化的方式将前端 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% 的性能,如下图所示。
在这里插入图片描述


http://www.kler.cn/a/614878.html

相关文章:

  • Apache Iceberg 解析,一文了解Iceberg定义、应用及未来发展
  • 【SDMs分析1】基于ENMTools R包的生态位分化分析和图像绘制(identity.test())
  • 全局思维与系统思考
  • Vue学习笔记集--computed
  • Jenkins插件安装失败如何解决
  • Spring Cloud Consul使用指南
  • 【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)
  • 指针和引用
  • 通过一个led点灯的demo来熟悉openharmony驱动编写的过程(附带hdf详细调用过程)
  • 聚合根的特性
  • JavaScript基础-navigator 对象
  • Docker 的实质作用是什么
  • 蓝桥杯省模拟赛 质因数之和
  • 视频AI赋能水利行业生态治理,水电站大坝漂浮物实时监测与智能预警方案
  • 【C++标准IO库】文件的输入输出
  • 机器视觉基础—高斯滤波
  • Pod 网络与 CNI 的作用
  • 【Go】数组
  • 如何低成本选择讯投QMT 的服务器/电脑,低成本运行?
  • Zynq + FreeRTOS 笔试题1