神龙AI加速引擎AIACC是基于阿里云IaaS资源推出的AI加速引擎,用于优化基于AI主流计算框架搭建的模型,能显著提升训练和推理性能。配合资源管理工具FastGPU快速构建AI计算任务,全面提升研发效率。

使用AIACC加速深度学习应用

一个使用AIACC加速的深度学习应用的基础架构如下图所示。aiacc
其中:
  • 资源层(阿里云IaaS资源):在资源层使用阿里云IaaS资源,按需开启,满足大规模GPU集群的计算、存储、网络资源的弹性需求。
  • 调度层(神龙AI加速资源管理):在调度层使用FastGPU构建AI计算任务并管理大规模GPU集群相关的资源。更多信息,请参见什么是集群极速部署工具FastGPU
  • 框架层(神龙AI加速引擎):在框架层使用AIACC实现多框架统一加速。AIACC主要利用了基于通信的性能优化技术,分布式训练时需要在各机器之间、GPU卡之间交换数据,需要做到高效数据通信才能保证加速效果。更多信息,请参见神龙AI训练加速引擎AIACC-Training(AIACC训练加速)神龙AI推理加速引擎AIACC-Inference(AIACC推理加速)
  • 应用层(神龙AI加速参考解决方案):在应用层实现针对各种应用场景的深度学习应用,覆盖图像识别、目标检测、视频识别、CTR预估、自然语言理解、语音识别等常见场景。由于在框架层使用AIACC实现多框架统一加速,您只需调整少量代码即可大幅提升应用性能。

产品优势

使用AIACC加速深度学习应用具有以下优势:
  • 基于阿里云IaaS资源,资源易用性和稳定性有保障。
  • 配合FastGPU一键构建任务,缩短创建和配置资源的时间并提高GPU资源利用率,大大降低成本。
  • 支持多框架统一加速,显著提升训练和推理性能,而且适配工作量小。AI算法研发时验证周期更短,模型迭代速度更快,从而大大提升研发效率。

神龙AI训练加速引擎AIACC-Training(AIACC训练加速)

AIACC-Training(原Ali-perseus、Perseus-Training)是阿里云神龙计算加速团队基于阿里云IaaS资源层研发和维护的高效人工智能分布式训练加速组件,旨在实现开源兼容以及无感地加速您的分布式训练任务。

  • AIACC-Training支持基于AI主流计算框架(包括TensorFlow、PyTorch、MxNet和Caffe)搭建的模型进行分布式训练任务加速。
  • 在接口层面上,AIACC-Training兼容了PyTorch DDP和Horovod的API,对于原生的分布式训练实现了无感的性能加速。
  • 在底层加速上,针对阿里云网络基础设施和AI数据并行分布式训练的特性,AIACC-Training的优化带来了显著的性能提升。

AIACC-Training(AIACC训练加速)的详细架构如下图所示:

training-arc
AIACC-Training(AIACC训练加速)支持的加速特性包括但不限于:
  • 梯度融合通信支持自适应多流、自适应梯度融合,显著提升带宽密集的网络模型的训练性能,提速50%至300%。
  • 采用高度优化的在线/离线梯度协商机制,将大规模节点下梯度协商的开销降低一到两个数量级。
  • 采用分级的Allreduce方法,支持FP16梯度压缩及混合精度压缩。
  • 支持Gossip风格梯度压缩技术。
  • 支持Multistep梯度通信优化。
  • 提供针对RDMA/eRDMA网络的深度优化。
  • 提供针对MXNet的API扩展,支持InsightFace类型的数据+模型并行,以及SyncBN Operator增强。
  • 支持GroupComm的分组通信算子,能够快速构建数据+模型并行的复杂通信组合训练。

AIACC-Training(AIACC训练加速)的训练速度与训练成本具有显著优势。更多详细测试数据,请参见Stanford DAWNBench

典型分布式训练的优化案例如下表所示:

客户 模型 框架 规模(GPU张数) 训练速度提升
某智能芯片厂商 图像分类 MXNet 256 100%
某智能芯片厂商 人脸识别 MXNet 256 200%
某汽车厂商 FaceNet PyTorch 32 100%
某手机厂商 BERT TensorFlow 32 30%
某手机厂商 GPT2 PyTorch 32 30%
某人工智能厂商 Faster-RCNN MXNet、hvd、byteps 128 30%
某人工智能厂商 InsightFace MXNet、hvd、byteps 128 200%
某在线教育 ESPnet PyTorch-DP 16 30%
某在线教育 ESPnet2 PyTorch-DDP 16 30%
某在线教育 CTR PyTorch 32 80%
某在线教育 OCR PyTorch 32 30%
某手机厂商 图像分类 PyTorch 128 25%
某手机厂商 MAE PyTorch 32 30%
某研究院 GPT2 PyTorch+Megtragon 32 30%
某社交媒体 MMDetection2 PyTorch 32 30%
某金融智能 InsightFace PyTorch 32 50%
某手机厂商 Detection2 PyTorch 64 25%
某视觉团队 insightface MXNet 64 50%
某游戏厂商 ResNet PyTorch 32 30%
某城市大脑 InsightFace MXNet 16 42%
某制药科技 Autoencoder PyTorch 32 30%
某自动驾驶 swin-transformer PyTorch 32 70%

神龙AI推理加速引擎AIACC-Inference(AIACC推理加速)

AIACC-Inference(AIACC推理加速)支持优化基于TensorFlow和可导出ONNX格式的框架搭建的模型,能显著提升推理性能。

AIACC-Inference(AIACC推理加速)的推理速度与推理成本具有显著优势。更多详细测试数据,请参见Stanford DAWNBench

AIACC-Inference(AIACC推理加速)提供模型转换工具将已有模型统一转换到TF模型或ONNX模型,同时提供TensorFlow和ONNX加速引擎完成加速。详细架构如下图所示。inference-arc
AIACC-Inference(AIACC推理加速)支持的加速特性包括但不限于:
  • TensorFlow和ONNX加速引擎执行模型子图分割和子图融合,分割的子图传递给高性能算子加速库加速。
  • 高性能算子加速库会在自研高性能算子和NVIDIA算子中找到最优算子,并生成高性能算子列表供加速引擎进行子图分割和传递。

联系我们

如果您有任何AIACC相关的问题或需求,欢迎使用钉钉搜索群号33617640加入阿里云神龙AI加速AIACC外部支持群。(钉钉通讯客户端下载地址