基于阿里云弹性GPU服务的神龙AI加速引擎无缝提升AI训练性能

简介: 2023年3月23日14:00(中国时间),NVIDIA GTC开发者大会阿里云开发者社区观看入口正式开放,阿里云高级技术专家林立翔带来了题为《基于阿里云弹性GPU服务的神龙AI加速引擎无缝提升AI训练性能》的分享。

ECS.jpg

2023年3231400(中国时间),NVIDIA GTC开发者大会阿里云开发者社区观看入口正式开放,阿里云高级技术专家林立翔带来了题为《基于阿里云弹性GPU服务的神龙AI加速引擎。无缝提升AI训练性能》的分享,以下是他的演讲内容整理:


阿里云弹性GPU服务是阿里云为云上客户提供的包括NVIDIA GPU在内的IAAS 实例神龙AI加速引擎是构建在阿里云GPU IAAS服务之上的软件工具,旨在用户使用阿里云GPU IAAS 服务进行人工智能计算时可以高效地发挥GPU实例的效率。


云上用户在进行人工智能训练的场景与分布对我们分析用户的使用习惯与痛点针对性地提供优化解决方案具有很好的指导意义。

幻灯片2.JPG

Pytorch框架的易用性在学术界深入人心并逐渐蔓延到工业界目前,Pytorch几乎已经成为云上AI用户训练新的AI模型的框架首选。此外,在推荐系统等场景上Tensorflow 仍然占有重要的一席之地,而MXNETJAX目前被使用的频次越来越


其次,在AI训练任务的机器规模上,目前阿里云上提供单机8GPU的裸金属/虚拟机实例,用户可以使用单机或通过网卡互联组建多机的训练集群阿里云同时也提供了单卡/两卡/四卡等虚拟机实例供用户选择。


目前一部分用户的训练任务可以通过单机实现,比如部分fintune模型与训练时长可以接受的中小模型。有相当大的一部分用户有多台GPU实例组成训练集群,进行数据并行或模型并行训练任务的诉求比如拥有海量训练数据集的预训练模型的训练任务或超大规模模型的训练任务。


AI训练过程中,用户往往利用AI框架本身与NVIDIA 提供的构建在cuda之上AI框架之下的加速软件达成训练AI模型的目的。但在实际端到端训练任务过程中,往往存在计算网络存储等三大瓶颈,尤其在使用多机多卡进行分布式训练的场景下,机器之间网络效率问题常见主要的AI训练任务的性能瓶颈。


在深入理解用户使用云上GPU实例进行训练任务的场景与使用痛点,如何基于阿里云弹性GPU服务之上,硬结合解决用户痛点并最终提升用户AI训练的性能,尤其分布式训练的性能,是神龙AI加速引擎的目标。

幻灯片3.JPG

阿里云异构计算构建在神龙计算平台的底座之上,提供NVIDIA GPU与其他异构器件等多种异构实例产品。另外,在提供传统实例同时,也提供AI计算负载解耦的实例,如EAIS


神龙AI加速引擎AIACC如图所示,构建在异构实例之上在平台之下,作为IAAS+的软件工具形态,用于加速AI计算负载的场景。除了AIACC之外,层还提供了fastgpu等工具,用于方便快速搭建GPU集群。


神龙AI加速引擎AIACC提供的软件包括AI训练与AI推理两个方面。


AI训练领域,神龙AI加速引擎AIACC针对用户使用云上实例进行AI训练的主要痛点,分别在分布式训练与训练计算图上进行了软硬结合的优化,形成了相应的软件工具来加速用户的AI训练性能。

幻灯片4.JPG

上图为神龙AI加速引擎AIACC在分布式训练方面的软件架构图。软件代码称为Acspeed(下文将以Acspeed来统称AIACC在分布式训练上的软件优化工具


在海量数据背景下,分布式训练用户进行AI训练的普遍诉求。而云上实例能提供的网卡间通信能力,相较于单机内部能提供的nvlink/nvswitch等,不管在通信延时还在通信带宽上,都具有不止一个数量级的优势


机器之间互联能力与机器内互联能力的差异在数据并行与模型并行等分布式训练场景下往往会使机器之间的数据交换成为整个训练效率的短板也是Acspeed需要重点解决的性能问题。


从用户的使用习惯看,Pytorch目前新的模型训练的主要框架,而Pytorch ddpPytorch进行分布式训练的原生选择。因此,除了对底层网络的性能优化外,Acspeed同时需要保障原生ddp的使用习惯兼容,使用户的使用成本降到最低。


因此,Acspeed在软件架构上采用了分层解耦的形式,对上实现了AI框架的无缝兼容,对下实现对底层基础设施的性能优化,跨层间实现了特定AI场景下通信效率的多维调优。

如图所示,Acspeed针对分布式训练的瓶颈,通过AI框架层集合通信算法层与网络层分层解耦的方式实现软硬结合的感性能优化。


AI框架层,Acspeed使用Pytorch c10d-plugin的接口与对应的wrapper实现对Pytorch ddp使用方式的无感支持与bucket层级的优化对使用Tensorflow的用户,Acspeed同样提供horovo-api的兼容层


集合通信算法层Acspeed使用集合通信编译器的技术,在nccl runtime的基础上,针对nvlink/nvswitch/PCIe/NIC交换机等互联信息进行自适应的拓扑感知与算法优化


在网络层,Acspeed针对阿里云VPC网络与eRDMA网络的基础设施进行了深入优化。由于对Pytorch ddp使用方式的无缝支持,用户无需改动业务代码即可享受到Acspeed带来的分布式训练性能的优化效果。

幻灯片5.JPG

AIACC针对Pytorch训练计算图进行了编译优化软件代码Agspeed文将统一使用Agspeed来表示AIACCPytorch计算训练图的优化工作


众所周知,Pytorch的模式以其出众的易用性席卷学术界与工业界。相对于graph模式,Pytorch模式虽然直接,但缺少了图融合的机制,在部分场景下会不同程度导致GPU计算效率不高。Pytorch社区也发现了问题,并且已经着手graph模式的工作,在保障使用体验不受影响的前提下进行计算图的优化,涌现包括torchscriptorchdynamoinductor出色的项目,并进行持续的集成与迭代。到Pytorch2.0时代,计算图编译的功能将成为Pytorch框架缺省的选项。


目前整个Pytorch训练计算图组件在端到端场景仍有待改善的环节,包括频繁的graph recompilegraph break等问题,限制了在用户场景的落地与使用。


Agspeed在吸收社区优秀工作的基础上,针对目前Pytorch计算图的不足,在端到端场景做了长足的覆盖性与优化工作。


如图所示,Agspeed上层保障用户侧Pytorch eager API使用场景不变重点针对编译器的前端与后端进行了覆盖度的优化。在编译器前端,Agspeed引入了torch dynamograph catch机制,针对catch的异常做了捕获与优化。通过前端的autotuner自动选择性能最优的后端优化器。在编译器后端,Agspeed引入了包括torchscriptFunctor aotnvfusorinductor等后端,并且针对端到端模型在特定后端的性能不足问题,通过plugin的方式添加到优化路径中。


Agspeed相较于eager模式与目前的编译手段,保障了用户端到端性能的增强以及提供了SLA保障。

幻灯片6.JPG

我们Acspeed软件优化栈分为AI框架层集合通信算法层与网络层。特例到使用Pytorch进行AI训练的场景,即对应着Pytorchnccl层与操作系统的TCP


在分布式训练中PytorchncclTCP不同层级分别有不同的通信数据结构作为载体承接进行分布式通信的任务。比如,对应 Pytorch框架的ddpbucket,它在框架层的通信传输数据结构对应nccl的通信载体nccl侧的chunk它是nccl进行通信传输的数据结构tcp层对应的tcpbuffer它是tcp进行通信的真实传输数据。


影响不同层次通信载体或数据结构的带宽利用率的因素不尽相同相互关联


不尽相同的部分在于:对于ddp bucket,影响通信效率的主要因素计算与通信overlapbucket粒度;nccl chunk影响通信效率的主要因素sliceoverlapchannel的影响等;TCP buffer影响通信效率的主要因素是延时带宽的乘积等。


而相互关联的部分在于:pytorchddpbucket向下会拆解ncclchunk进行传输,而ncclchunk又会向下拆解成tcpbuffer进行传输。


上层的通信数据划分粒度与策略会影响下通信的效率与策略的选择。


Acspeed在架构上打通了框架层集合通信算法层到网络层,同时对多层的影响因素进行跨层的autotune来实现整体通信效率的提升。与此同时,针对影响不同的通信效率问题,在工程上做了进一步软硬结合的优化。


AI框架层,对Pytorch reducer的通信粒度进行了动态调整,实现了最佳的融合粒度寻优nccl侧工程上,通过动态channel slice的自动调节,提升了nccl primitive通信的pipeline能力在网络,实现了自适应延迟带宽乘积的buffer,并且支持阿里云特有的eRDMA功能。


不同于传统的TCP/IPRDMA可以将网络协议栈卸载在网卡上,从而优化网络间的通信。RDMA在使用方式上相较于TCP/IP也会有所不同。

幻灯片7.JPG

eRDMA阿里云创新性提出的大规模云网络使用RDMA的解决方案,实现了在云化网络的大规模RDMA集群组网能力。它不仅可以实现通信软件Bypass os kurnel的能力以提升通信带宽的利用率同时针对GPU训练场景,结合GPU Direct RDMA技术可以bypass host实现GPU buffer的高效跨机传输。


如图所示,eRDMA最大效率实现了在大规模云场景下,AI分布式训练对网络大带宽与延迟的要求。由于eRDMA与传统的TCP/IP程序逻辑上存在着较大的区别,Acspeed在通信层提供的nccl plugin可以无感支持ncclRDMA能力的使能与优化,让用户在无需改变任何现有使用方式的前提下,享受eRDMA在分布式训练带来的效果。

幻灯片8.JPG

我们选取的阿里云上某款实例单机到8进行分布训练扩展的benchmark,比较Pytorch原生ddp与叠加了AIACC优化能力的性能。


上图横坐标表示各个不同模型在不同机器规模下使用Pytorch ddpAcspeedAgspeed进行训练的数据。纵坐标归一化的性能数据单机的性能表示1,理想的8的性能为8。可以看出从单机8卡到864卡,AIACC的扩展性更优,相对于Pytorch原生的ddp有显著的性能提升,提升效果在30%150%不等。

幻灯片9.JPG

AIACC实现了对客户代码的兼容,客户可以无感地使用AIAC进行加速,结合阿里云的IAAS资源实现了软硬结合的深度优化。而以上所有能力都以便捷开源兼容的方式提供给客户,提升了客户AI训练的业务性能,加快了客户算法的研发效率与模型的迭代速度,同时也提升了用户使用GPU资源的效率,降低计算资源的成本,最终提升客户产品的竞争力,也体现了AIACC的客户价值。

幻灯片10.JPG

欢迎大家使用AIACC加速云上的训练业务。


我们提供一键勾选软件包安装等多种方式,方便用户直接在异构实例上或容器上运行AIACC。以Acspeed为例,只需在业务代码上import torch后加上import acspeed的一行代码,便可以开启您的AIACC加速之旅。


AI分布式训练通信优化库AIACC-ACSpeed官方使用文档:

https://help.aliyun.com/document_detail/462031.html

AI训练计算优化编译器AIACC-AGSpeed官方使用文档:

https://help.aliyun.com/document_detail/467465.html

林立翔.jpg


点击链接进入阿里云开发者社区直播间 / 扫描上方海报中的二维码进入 NVIDIA GTC官网,均可观看完整视频。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
2天前
|
人工智能 物联网
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
32 10
|
2天前
|
机器学习/深度学习 存储 人工智能
【科普向】我们所说的AI模型训练到底在训练什么?
人工智能(AI)模型训练类似于厨师通过反复实践来掌握烹饪技巧。它通过大量数据输入,自动优化内部参数(如神经网络中的权重和偏置),以最小化预测误差或损失函数,使模型在面对新数据时更加准确。训练过程包括前向传播、计算损失、反向传播和更新权重等步骤,最终生成权重文件保存模型参数,用于后续的应用和部署。理解生物神经网络的工作原理为人工神经网络的设计提供了灵感,后者广泛应用于图像识别、自然语言处理等领域。
|
6天前
|
存储 人工智能 数据管理
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
|
6天前
|
人工智能 运维 监控
阿里云Milvus产品发布:AI时代云原生专业向量检索引擎
随着大模型和生成式AI的兴起,非结构化数据市场迅速增长,预计2027年占比将达到86.8%。Milvus作为开源向量检索引擎,具备极速检索、云原生弹性及社区支持等优势,成为全球最受欢迎的向量数据库之一。阿里云推出的全托管Milvus产品,优化性能3-10倍,提供企业级功能如Serverless服务、分钟级开通、高可用性和成本降低30%,助力企业在电商、广告推荐、自动驾驶等场景下加速AI应用构建,显著提升业务价值和稳定性。
|
8天前
|
人工智能 Cloud Native 数据管理
数据+AI融合趋势洞察暨阿里云OpenLake解决方案发布
Forrester是全球领先的市场研究与咨询机构,专注于新兴技术在各领域的应用。本文探讨如何加速现代数据管理,推动人工智能与客户业务的融合创新。面对数据标准缺乏、多云环境复杂性、新兴业务场景及过多数据平台等挑战,Forrester提出构建AI就绪的数据管理基石,通过互联智能框架、全局数据管理和DataOps、端到端数据管理能力、AI赋能的数据管理以及用例驱动的策略,帮助企业实现数据和AI的深度融合,提升业务价值并降低管理成本。
|
2月前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
8天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
5月前
|
机器学习/深度学习 编解码 人工智能
阿里云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云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
14天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
2月前
|
弹性计算 固态存储 Linux
阿里云服务器、轻量应用服务器、gpu云服务器收费标准与实时活动价格参考
云服务器ECS、轻量应用服务器和gpu云服务器是阿里云的主要云服务器产品,目前轻量应用服务器2核2G收费标准为60元/月,活动价格只要36元/1年或68元1年,云服务器1核1G包月收费标准最低为24.0元/月,GPU云服务器中gn6i实例4核15G配置月付1681.00/1个月起,gn6v实例8核32G配置月付3817.00/1个月起。本文为大家整理汇总了阿里云服务器、轻量应用服务器、gpu云服务器的最新收费标准与活动价格情况,以表格形式展示给大家,以供参考。

相关产品

  • GPU云服务器