查看原文
其他

浅谈训练型AI服务器之魅力所在

郭振宇 中国金融电脑+ 2022-12-13

验“金”室


文 / 工商银行大数据与人工智能实验室 郭振宇


一、背景介绍


1

AI服务器产生背景

众所周知,深度学习发展至今已有50多年的历史,直到2016年AlphaGo战胜围棋顶尖高手李世石,掀起了人工智能浪潮,如今深度学习在各行各业已经得到广泛的应用。


深度学习应用的崛起,并不是偶然,之前已经有了充分的理论依据,只是因为当时的计算能力不足,无法完成模型的训练。2016年随着英伟达公司AI芯片P40的发布,搭载P40的AI服务器为深度学习提供强大的算力,能够保证在可接受的时间内完成模型训练,促进了深度学习算法往更复杂的方向发展。


AI服务器是指搭载GPU、FPGA以及AISC等不同类型AI芯片的服务器,根据使用场景可分为训练型AI服务器和推理型AI服务器。训练型AI服务器主要搭载V100、A100、P40等高端的GPU卡;推理型AI服务器主要搭载T4等低端的GPU卡或搭载FGPA、ASIC芯片。


随着深度学习的不断发展,搭载P40的单机双卡AI服务器,已经无法满足最新深度学习算法的性能要求。为满足算法的性能要求,单机8卡以上(含8卡)的训练型AI服务器迅速发展起来。


2

训练型AI服务器发展历程

随着深度学习模型的复杂度不断增加,训练数据不断增加,对模型分布式训练性能要求也在不断提升,因此对AI服务器在单芯片算力、芯片之间的通信带宽提出了更高的要求,训练型AI服务器也在不断地推陈出新,其发展历程如下:


训练型AI服务器发展历程


三、核心技术


1

原理简介

深度学习的分布式训练性能取决于AI芯片算力、通信带宽,如图1所示。当AI芯片完成第t+1次计算,但是第t次的计算结果尚未完成传输,此时通信带宽成为了性能瓶颈;反之,当第t次的计算结果已经完成传输,但是第t+1次的计算尚未完成,此时算力就成为了性能瓶颈。


图1 深度学习的分布式训练


因此,AI服务器的设计既要保证AI芯片的高算力,也要保证AI芯片间的通信高带宽。训练型AI服务器配置最新架构的AI芯片,以保证高算力;通信带宽由AI芯片连接方式决定,AI芯片通过以下三种方式互连:专用主板、PCI-e、网卡。其中,专用主板提供的带宽最高,网卡提供的带宽最低。训练型AI服务器适配AI芯片专用主板、高带宽网卡避免因AI芯片的低效通信影响性能。


2

算力

随着纳米技术的不断发展,相同大小的AI芯片可集成更多的计算单元,AI算力在快速提升。目前最新款AI芯片A100单卡可提供的单精度算力最高是312.5TFLOPS,是2016年发布的P40的26倍,2017年发布的V100的22倍;半精度算力最高是625TFLOPS,是其2016年发布的P40的26倍,2017年发布的V100的5倍,如图2所示。


图2 最新款AI芯片算力对比


3

带宽

使用AI芯片专用主板对单节点的AI芯片进行纵向扩容(SCALE-UP),保证AI芯片间通信带宽最高,使中高复杂度模型训练性能达到最佳。


适配AI芯片专用高性能RDMA网卡,通过横向扩容(SCALE-OUT),保证跨节点AI芯片间的通信高带宽,使超高复杂度模型的提升训练性能达到最佳。


配套高性能RDMA网卡支持存算分离,避免因存储容量不足进行AI服务器的横向扩展,同时减少存算分离带来的性能影响。


(1)AI芯片专用主板


训练型AI服务器配套AI芯片专用主板,支持8块AI芯片互连,其架构如图3(英伟达NV-LINK架构)、图4(华为HCCS架构)所示。通过该方式连接各AI芯片,最高提供600GB/s的通信带宽,是PCI-e提供带宽的20倍,是100GE网卡提供带宽的25倍,此时AI芯片间的通信带宽不会成为性能瓶颈。


图3 英伟达NV-LINK架构


图4 华为HCCS架构


(2)AI芯片专用网卡


训练型AI服务器适配更多可适配8块支持200GE的RDMA网卡,提升跨节点AI芯片的通信性能,减少因网络带宽导致的性能损失。其架构如图5(英伟达DGX A100架构,图中的NIC即是网卡,平均每块GPU适配200GE网卡)、图6(华为Atlas 800架构,绿色模块表示NPU,每块NPU都配套100GE网卡)所示:


图5 英伟达DGX A100架构


图6 华为Atlas 800架构


(3)存算分离用网卡


业界一般采用存算分离方案解耦计算与存储,在模型训练时会增加计算节点和存储节点的数据交互,导致网络带宽将成为性能瓶颈。训练型AI服务器配套高性能RDMA网卡,减少因存算分离方案带来的性能损失。


三、训练性能


1

单节点性能

训练型AI服务器单节点训练性能可以达到单机单卡性能的数倍以上。以目前最为典型的ResNet50为例,训练时间由天级别缩短为小时级别:单机单卡的训练时间需要1天3小时(即27小时);华为Atlas800(单节点配置8块Atlas300-9000)训练时间为2.5小时;英伟达DGX A100(单节点配置8块A100)训练时间为4小时。


2

集群性能

由训练型AI服务器组成超算集群性能可以达到单机单卡性能的数百倍以上。以目前最为典型的ResNet50为例,模型训练时间由天级别缩短为分钟级别:单机单卡的训练时间需要1天3小时(即1620分钟);根据最新MLperf打榜数据,华为Atlas900集群(由512块Atlas300-9000组成的集群)训练时间为1.56分钟;英伟达SuperPod集群(由768块A100组成的集群)训练时间为1.06分钟。


3

性能曲线

利用训练型AI服务器(集群)进行分布式训练,能够明显提升模型的训练性能。但不是AI服务器数量越多越性能越好,当某个训练任务使用的AI服务器数量达到一定的规模时,其性能反而会下降,如图7所示。


图7 训练型AI服务器的性能曲线


四、总结


训练型AI服务器不仅单节点计算性能强,由其组成的集群保证了计算性能曲线趋近于线性加速,大大缩短模型训练时间,对深度学习领域起到至关重要的作用。基于训练型AI服务器搭建的集群或者通过公有云资源租用,可以为企业的人工智能需求赋能,加速人工智能应用落地,为企业创造超额利润。



更多精彩内容


FCC30+

长按左边二维码

关注我们不迷路


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存