【Hello AI】AI通信加速库Deepnccl-实现更高效的多GPU互联通信

简介: Deepnccl是为阿里云神龙异构产品开发的一种用于多GPU互联的AI通信加速库,在AI分布式训练或多卡推理任务中用于提升通信效率。本文主要介绍Deepnccl的架构、优化原理和性能说明。

Deepnccl是为阿里云神龙异构产品开发的一种用于多GPU互联的AI通信加速库,在AI分布式训练或多卡推理任务中用于提升通信效率。本文主要介绍Deepnccl的架构、优化原理和性能说明。

一、Deepnccl的架构

Deepnccl基于NCCL(NVIDIA Collective Communications Library)通信算子的调用,能够实现更高效的多GPU互联通信,无感地加速分布式训练或多卡推理等任务。

Deepnccl的关联架构布局图如下所示:

架构层

说明

AI模型

Deepnccl在AI场景下使用时,具备通用性能,适用模型包括但不限于LLM大模型和SD文生图等AI模型。

AI框架层

在AI框架层,支持的AI框架和功能如下:

  • 支持通用的AI框架,例如PyTorch、TensorFlow、Mxnet等AI框架。
  • 支持基于AI框架之上的并行框架,例如Megatron、DeepSpeed、Collossal-AI等衍生框架。
  • Deepnccl通过底层Deepytorch实现了PyTorch框架的充分兼容和无感分布式训练性能优化,增加融合优化等额外调优手段。

说明

如需了解Deepytorch的更多信息,请参见什么是AI加速器Deepytorch

Deepnccl通信加速

接口层

在接口层,通过DeepncclWrapper封装nccl-base函数,提供了对通信算法的通用支持。支持的NCCL通信算法包括allreduce(全局归约)、reduce-scatter(分散归约)、allgather(全收集)等。

集合算法层

在集合算法层,通过集合通信编译技术,针对不同的机型构建自适应拓扑算法,实现NCCL Runtime充分兼容和无感的集合通信拓扑优化。

网络层

在网络层,通过对阿里云的VPC、RDMA或者eRDMA网络基础设施进行适配优化,实现网络层无感的通信优化。

二、优化原理

Deepnccl通信加速库在AI分布式训练或多卡推理任务中,具有显著的通信优化效果。具体说明如下:

  1. 单机优化

单机内的优化主要针对不同硬件拓扑机型的通信优化,以PCIe互连的机型和NVLink互连的机型为例,具体说明如下:

  • PCIe互连拓扑优化:该机型的多GPU卡之间共享PCIe带宽,通信容易受限于物理带宽。针对PCIe互连拓扑的通信优化特点,理论上,可以采用基于流水线的PS(Parameters Server:参数服务器)模式梯度规约算法CPU-Reduce大幅降低通信耗时。该算法按照GPU到CPU再到GPU的顺序构建流水线,将梯度规约的计算分散到多个设备上运行,来减少通信瓶颈。

例如,在通信数据量超过4 MB的场景,PCIe互连拓扑优化方案相比NCCL原生在性能上提升了20%以上。

  • NVLink互连拓扑优化:NCCL默认使用的Binary-Tree算法在V100机型上并不能充分发挥多通道性能。针对NVLink互连拓扑的通信优化,可以通过扩展单机内部不同的N-Trees拓扑结构组合,实现了拓扑调优并发挥多通道性能。

例如,在通信数据量超过128 MB的场景下,NVLink互连拓扑优化方案相比NCCL原生在性能上提升了20%以上。

  1. 多机优化

多机优化体现在通信算子编译优化、TCP多流优化、多机CPU-Reduce优化三个方面,具体说明如下:

  • 通信算子编译优化:针对阿里云上不同机型,以及网卡与GPU的不同拓扑连接等特点,相比较基于全局拓扑结构实现的Allreduce、Allgather或Reduce-scatter等算法,Hybrid+算法支持单机和多机的分层通信,充分利用单机内部高速带宽的同时降低了多机之间的通信量,通信算子编译优化方案相比NCCL原生在性能上提升了50%以上。
  • 通信多流优化:通常情况下,因网络带宽没有被充分利用,会导致上层集合通信算法的跨机性能无法达到最优。而采用基于TCP/IP的多流功能,提升分布式训练的并发通信能力,可以实现多机训练性能提升5%~20%。
  • 多机CPU-Reduce:该优化继承了单机内CPU-Reduce高效的异步流水线,并将跨机Socket通信也设计为流水线形态,实现多机通信全过程流水化,有效减少通信延迟,提高整体训练性能。

例如,在通信量较大的Transformer-based模型的多机训练场景下,多机CPU-Reduce优化方案可将端到端性能提升20%以上。

三、性能说明

Deepnccl通信加速库具有Allreduce单机优化、Allreduce多机优化、Reduce-scatter多机优化以及Allgather多机优化性能,具体说明如下:

特性

支持范围

性能提升率说明

Allreduce单机优化

支持A10的8卡机型,例如ecs.ebmgn7ix.32xlarge。

相比NCCL原生,使用Deepnccl进行Allreduce单机优化后,当通信数据量为512 B~2 M时,其通信性能提升10%~100%。

Allreduce多机优化

支持V100或A10等机型,例如

ecs.gn6v-c10g1.20xlarge或

ecs.ebmgn7ix.32xlarge。

  • 相比NCCL原生,使用Deepnccl进行Allreduce双机优化后,当通信数据量为128 M~256 M时,其通信性能提升10%~20%。
  • Deepnccl目前支持最多在8台机器上进行协同训练。

Reduce-scatter多机优化

支持V100或A10等机型,例如

ecs.gn6v-c10g1.20xlarge或 ecs.ebmgn7ix.32xlarge。

  • 相比NCCL原生,使用Deepnccl进行Reduce-scatter双机优化后,其通信性能提升30%。
  • Deepnccl目前支持特定的多机进行扩展,即2机2卡、2机4卡、2机8卡、4机8卡、7机8卡或8机8卡机型。

allgather多机优化

支持V100或A10等机型,例如

ecs.gn6v-c10g1.20xlarge或

ecs.ebmgn7ix.32xlarge。

  • 相比NCCL原生,使用Deepnccl进行Allgather双机优化后,其通信性能提升80%。
  • Deepnccl目前支持最多在20台机器上进行协同训练。

好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
20天前
|
人工智能 运维 Serverless
Serverless GPU:助力 AI 推理加速
近年来,AI 技术发展迅猛,企业纷纷寻求将 AI 能力转化为商业价值,然而,在部署 AI 模型推理服务时,却遭遇成本高昂、弹性不足及运维复杂等挑战。本文将探讨云原生 Serverless GPU 如何从根本上解决这些问题,以实现 AI 技术的高效落地。
|
13天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置选项,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文汇总了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等多款GPU卡,适用于人工智能、机器学习和深度学习等场景。详细价格表和实例规格见文内图表。
|
1月前
|
人工智能 调度 开发工具
xGPU来啦!免费GPU资源开发花样AI应用!
为了降低AI应用服务和推广的门槛,解决开发者面临的实际痛点,ModelScope社区推出 xGPU 服务,让大家能够免费使用高性能 GPU 资源,托管自己的AI应用服务。
|
30天前
|
人工智能 供应链 安全
BSI 第七届万物互联智慧高峰论坛:主题:拥抱AI时代,标准赋能组织实现可持续发展
BSI 第七届万物互联智慧高峰论坛:主题:拥抱AI时代,标准赋能组织实现可持续发展
40 0
|
2月前
|
存储 机器学习/深度学习 并行计算
GPU通信互联技术:GPUDirect、NVLink与RDMA
在高性能计算和深度学习领域,GPU已成为关键工具。然而,随着模型复杂度和数据量的增加,单个GPU难以满足需求,多GPU甚至多服务器协同工作成为常态。本文探讨了三种主要的GPU通信互联技术:GPUDirect、NVLink和RDMA。GPUDirect通过绕过CPU实现GPU与设备直接通信;NVLink提供高速点对点连接和支持内存共享;RDMA则在网络层面实现直接内存访问,降低延迟。这些技术各有优势,适用于不同场景,为AI和高性能计算提供了强大支持。
|
3月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多样化的选择,包括CPU+GPU、CPU+FPGA等多种配置,适用于人工智能、机器学习和深度学习等计算密集型任务。其中,GPU服务器整合高性能CPU平台,单实例可实现最高5PFLOPS的混合精度计算能力。根据不同GPU类型(如NVIDIA A10、V100、T4等)和应用场景(如AI训练、推理、科学计算等),价格从数百到数千元不等。详情及更多实例规格可见阿里云官方页面。
241 1
|
3月前
|
机器学习/深度学习 人工智能 数据可视化
10个用于可解释AI的Python库
10个用于可解释AI的Python库
|
3月前
|
存储 机器学习/深度学习 人工智能
【AI大模型】Transformers大模型库(十六):safetensors存储类型
【AI大模型】Transformers大模型库(十六):safetensors存储类型
162 0
|
14天前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
3月前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析

相关产品

  • GPU云服务器