智东西(公众号:zhidxcom)
作者 | GenAICon 2024

2024中国生成(cheng)式AI大会于4月18-19日在北京举行,在大会第二(er)天(tian)的(de)主会场AI Infra专(zhuan)场上,阿(a)里(li)云高级技术专(zhuan)家、阿(a)里(li)云异构计(ji)算AI推理团队负责人李鹏以《AI基础设施(shi)的(de)演(yan)进(jin)与挑战》为题发表演(yan)讲。

李鹏谈道,大模型的发展给计算体系结构带来了功耗墙、内存墙和通讯墙等多重挑战。其中,大模型训练层面,用户在模型装载、模型并行、通信等环节面临各种现实问题;在大模型推理层面,用户在显存、带宽、量化上面临性能瓶颈。

对于如何进一步释放云上性能?阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利(li)用(yong)效率。

目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%

以下为李鹏的演讲实录:

今(jin)天我(wo)分享的(de)(de)是(shi)(shi)关于AI基础(chu)设施(shi)的(de)(de)演(yan)进(jin)和(he)挑战。我(wo)讲的(de)(de)内容分三个部分:第一部分是(shi)(shi)关于生成(cheng)式AI对(dui)云(yun)基础(chu)设施(shi)的(de)(de)挑战;第二部分是(shi)(shi)如何进(jin)一步压榨云(yun)上GPU资源的(de)(de)性能,保证(zheng)训(xun)练(lian)和(he)推(tui)理(li)的(de)(de)效率达到最大化(hua);第三部分是(shi)(shi)生成(cheng)式AI场景下训(xun)练(lian)和(he)推(tui)理(li)的(de)(de)客户案例和(he)最佳实践。

一、算力需求规模10倍递增,带来三大计算结构挑战

关于生(sheng)成(cheng)(cheng)式(shi)AI最(zui)近的发展和行业趋(qu)势(shi),我(wo)们看到(dao)的情况是,2023年(nian)生(sheng)成(cheng)(cheng)式(shi)AI爆(bao)发,文(wen)(wen)生(sheng)视频(pin)、文(wen)(wen)生(sheng)图、文(wen)(wen)生(sheng)文(wen)(wen)等场(chang)景下有很多垂类大模(mo)型(xing)或通用大模(mo)型(xing)出来。我(wo)和公司的产品团(tuan)队(dui)、架构(gou)师团(tuan)队(dui)与客(ke)户进行了(le)很多技术分享(xiang)和交(jiao)流。

我的感受是,现在很多云上客户逐渐在拥抱生成式AI场景,开始使用大模型,比较典型的行业是电子商务、影视、内容咨询、办公软件这几大部分

大模型发(fa)展对AI算力(li)的需(xu)(xu)(xu)求(qiu)方面,左边(bian)这张图是前几天GTC大会上黄仁勋展示的关于模型发(fa)展对算力(li)的需(xu)(xu)(xu)求(qiu)曲线图。2018年(nian)开始,从Transformer模型到现(xian)在(zai)的GPT-MoE-1.8T,其(qi)对算力(li)的需(xu)(xu)(xu)求(qiu)呈现(xian)出10倍逐(zhu)渐递增的规模性增长,可以看(kan)出训练的需(xu)(xu)(xu)求(qiu)非常大。

另外,我(wo)们也做了一些估算(suan),比如训练1750亿参(can)数的GPT-3模型,训练的计(ji)(ji)算(suan)量(liang)大概(gai)在3640PFLOP * 天,相(xiang)当(dang)于需(xu)(xu)要大概(gai)1024张A100跑1个月,达到了千卡规模。换算(suan)到成(cheng)本(ben)上就是一笔巨(ju)大的计(ji)(ji)算(suan)开销。总(zong)体来看,因为当(dang)前的GPU算(suan)力价格还比较昂贵,所以推理(li)或微调(diao)本(ben)身的成(cheng)本(ben),以及计(ji)(ji)算(suan)需(xu)(xu)求和推理(li)部署成(cheng)本(ben)也会比较高。

大(da)模型发(fa)展给计算体系结构带来挑战。

首先就是功耗墙的问题。以(yi)NVIDIA的GPU举(ju)例,V100的功(gong)(gong)耗(hao)大概(gai)只有250W,A100功(gong)(gong)耗(hao)增加到400W,H100功(gong)(gong)耗(hao)达到750W,最新的B200功(gong)(gong)耗(hao)大概(gai)为1000W。可以(yi)看到,算力8年间增长1000倍(bei),其计算功(gong)(gong)耗(hao)也(ye)会相应增加。最近有相关的讨论提到,AI的尽头是能(neng)(neng)源(yuan),计算需(xu)求(qiu)的增大会带来更大的能(neng)(neng)源(yuan)需(xu)求(qiu)。

第二个体系结构挑战就是内存墙。所谓(wei)内存墙,就是数(shu)据在CPU和(he)GPU之间做搬移或者(zhe)交(jiao)换,现在PCIe的体系结构(gou)已(yi)经成为数(shu)据交(jiao)换和(he)传输的瓶(ping)颈。目前,NVIDIA已(yi)经在Grace Hoper架构(gou)上推出了NVLink-C2C的方案,能(neng)够大幅提(ti)升整个数(shu)据传输的速率。

第三个是通讯墙。分布式训练(lian)的(de)(de)规(gui)模(mo)非常大(da),已(yi)经从(cong)(cong)去年的(de)(de)千卡(ka)规(gui)模(mo)达(da)到了现在的(de)(de)万卡(ka)甚至十万卡(ka)的(de)(de)规(gui)模(mo)。分布式训练(lian)场景下如何增强机器之间的(de)(de)互连(lian)带(dai)宽有很大(da)的(de)(de)挑战。从(cong)(cong)国内外厂商(shang)的(de)(de)进展来看,他(ta)们(men)会在A100上(shang)采用800Gbps互连(lian)的(de)(de)带(dai)宽,在H100上(shang)采用3.2Tbps带(dai)宽。

总结下来,现在的趋势就是硬件堆砌,会有更大的(de)显存、更高的(de)显存带宽、更高的(de)CPU和(he)GPU之间的(de)互连(lian)带宽,同(tong)时PCIe本身也会向下迭(die)代。

以NVIDIA的(de)GPU为例,可以看到从Ampere这一代架(jia)(jia)构到Blackwell架(jia)(jia)构的(de)变(bian)(bian)化。算(suan)力计算(suan)规模(mo)会(hui)越来(lai)越高,从不到1P增长(zhang)到1P以上;显(xian)存(cun)规格越来(lai)越高,从80GB增加到100多GB规模(mo);显(xian)存(cun)带(dai)宽不断增加。这反映了未来(lai)AI计算(suan)上硬件规格的(de)变(bian)(bian)化趋势。

二、大模型训练的现实难题:模型装载、并行、互连

第二部分是大模型训练对于云上技术的挑战

大模(mo)型训练(lian)技术(shu)栈包含Transformer模(mo)型结构、海(hai)量数(shu)据级、梯度寻优算(suan)法(fa)(fa),这三块构成(cheng)了(le)AI训练(lian)的(de)(de)软件(jian)和算(suan)法(fa)(fa)。硬(ying)件(jian)就(jiu)是GPU计(ji)算(suan)卡(ka)(ka)(ka),从单卡(ka)(ka)(ka)扩(kuo)(kuo)展到(dao)单机8卡(ka)(ka)(ka)的(de)(de)服(fu)务器,再扩(kuo)(kuo)展到(dao)千卡(ka)(ka)(ka)、万卡(ka)(ka)(ka)互连规模(mo)的(de)(de)更大服(fu)务器集群,构成(cheng)整个大模(mo)型训练(lian)硬(ying)件(jian)的(de)(de)计(ji)算(suan)资源。

大模型训练中遇到的典型现实问题是模型的加载模型(xing)的(de)并(bing)行

以175B参数的GPT-3模型为例,其训练需要的显存规模大概为2800GB。我们可以根据A100 80GB来计算所需卡的数量。但是要解决的问题,一是我们需要多少张卡装载模型?二是装载这个模型之后如何提升训练效率?解决这个问题就需要用到模型并行技术,现在已经有各种各样的模型并行技术去解决这样的问题。三是互连的(de)问题(ti)(ti),有(you)NVLink单机(ji)内(nei)部互连、机(ji)器跟机(ji)器之(zhi)间的(de)互连网络。对于分布式训练(lian)来说,这都是(shi)非(fei)常重要的(de)问题(ti)(ti),因为(wei)会在通信上产生瓶颈。

大模型训练中的模型装载过程中,175B模型以FP16精度计算,大概需要350GB显存规模,模型梯度也需要350GB,优化器需要的显存规模大概为2100GB,合并起来大概是2800GB规模(mo)。分布式(shi)训练(lian)框架目前(qian)已经有比较成熟的(de)方(fang)案,比如NVIDIA的(de)Megatron-LM框架、微软开发(fa)DeepSpeed ZeRO3的(de)算法,都(dou)可以用来解(jie)决模(mo)型装载和并行的(de)问题(ti)。

在大模型训练方式上也(ye)有比较多(duo)的(de)并行(xing)(xing)技术,包括张量并行(xing)(xing)、流水线并行(xing)(xing)、数据并行(xing)(xing)等。

在模型分布式训练过程中,我们还看到一些比较关键的问题,如集合通信性能问(wen)题(ti)。比如(ru)在(zai)TP切分(fen)中会产(chan)生(sheng)一些(xie)All-Reduce(全局(ju)归约操作),这些(xie)操作夹杂在(zai)计(ji)算(suan)流当中,会产(chan)生(sheng)计(ji)算(suan)中断(duan)影响计(ji)算(suan)效率,因(yin)此(ci)会有相(xiang)应的集合(he)通(tong)信算(suan)法(fa)、优化(hua)软(ruan)件被开发(fa)出来,去(qu)解(jie)决(jue)集合(he)通(tong)信性能的问(wen)题(ti)。

三、显存、带宽、量化,成大模型推理瓶颈

大模型推理时我们需要关注三个点:一是显存,模型参数量大小决定了需要多少显存;二是带宽,大模型推理时是访存密集型计算方式,在计算当中需要频繁访问显存,所以这种情况下带宽的规格会影响推理速度;三是量化,现在很多模(mo)(mo)型(xing)发布(bu)时除了(le)提供基础的(de)(de)FP16精(jing)(jing)度的(de)(de)模(mo)(mo)型(xing),还会提供量化后(hou)的(de)(de)模(mo)(mo)型(xing),因为低精(jing)(jing)度量化可以省下更多显存,也(ye)可以提高(gao)带宽访问速度,这也(ye)是模(mo)(mo)型(xing)推理中业界经常会采用的(de)(de)一种技(ji)术。

总结下来就是,大模型推理有显存瓶颈;在推理方面可以走多卡推理,训练卡也可以用在推理业务,而且会产生不错的效果。

我(wo)们在做模型微观性能分析时发现(xian),典型的Transformer-Decoder,很多(duo)大(da)模型都是Decoder Only结(jie)构,里面包(bao)含注意力结(jie)构和(he)MLP层。

阿里云李鹏:进一步压榨云上GPU资源,将大模型训推效率最大化丨GenAICon 2024

在这些算子中,我们通过微观性能分析会看到,大部分的计算都是矩阵乘操作,实际(ji)85%的耗时都是访存(cun),进行显存(cun)读取(qu)。

由于大模型推理是自回归的生成方式,上一个生成出来的Token会被用于下一个Token的计算。这种访存方式就是我刚刚提到的访存密集型计算。基于这种行为,我们会把这些注意力结构和MLP层分别进行融合,形成更大的算子后执行推理,就会显著提高计算的效率

在(zai)大模型推(tui)理的带宽需求(qiu)方(fang)面,下图展示(shi)了Llama 7B在(zai)A10、A100上推(tui)理性能的对(dui)比(bi)。在(zai)不同的Batch Size下,A100和AI的比(bi)例关系基本是一条(tiao)比(bi)较水平的线(图中红线)。

这也可以反映A100的显存带宽和A10的显存带宽之间的比例关系,从侧面印证了大模型推理基本是访存密集型的操作,它的上限由GPU的HBM显存带宽决定

除此之外,我们(men)还分析了大(da)模型(xing)推理(li)时的(de)通信(xin)性能。这里主要说的(de)通信(xin)性能是指单机内(nei)部的(de)多卡(ka)推理(li),因(yin)为如果跑Llama 70B的(de)模型(xing),仅靠A10一(yi)张(zhang)卡(ka)没办法装载,至少需要8张(zhang)卡(ka)的(de)规格进行装载。

因(yin)为计(ji)算(suan)时做了(le)TP切分(fen),实际计(ji)算(suan)是每(mei)张卡(ka)算(suan)一部分(fen),算(suan)完之(zhi)后进行All-Reduce通(tong)信(xin)操作,所以我们针(zhen)对这种通(tong)信(xin)开销(xiao)做了(le)性(xing)能分(fen)析(xi)。最明显(xian)的(de)是在推理卡(ka)A10上(shang),通(tong)信(xin)开销(xiao)占(zhan)比(bi)较高,达到端(duan)到端(duan)性(xing)能开销(xiao)的(de)31%。

我们如何优化通信性能的开销?通常来说比较直观的方法是,如果有卡和卡之间的NVLink互连,性能自然会得到提升,因为NVLink互连带宽本身就比较高;另一个方法是,如果卡上没有NVLink,你就需要一些PCIe的P2P通信,这也能帮助提高通信开销占比。

基于在阿里云上的亲和性分配调优,我们摸索出了一套调优方法,能够在4卡、8卡场景下进一步优化通信开销占比。

对于视频模型,今年年初OpenAI发布Sora,虽(sui)然没有(you)公开太多技术(shu)细节,但国外机(ji)构已经给出了其关于算力需求的分析。

因为Sora的(de)模型结(jie)构(gou)与文生(sheng)图模型结(jie)构(gou)不同,其(qi)中比较显著的(de)区别(bie)就(jiu)是(shi),从原(yuan)来的(de)UNet结(jie)构(gou)变成Diffusion Transformer结(jie)构(gou),通过结(jie)构(gou)上的(de)变化(hua)和算力的(de)估算,我们(men)看到的(de)结(jie)果就(jiu)是(shi)Sora在训练和推理上都(dou)会对算力有比较大的(de)要求(qiu)。

下图是国外研究(jiu)机构(gou)估计的算(suan)力(li)需(xu)求(qiu)(qiu),他们估算(suan)训(xun)练(lian)Sora这(zhei)样的模型,需(xu)要(yao)大概4000到10000多张(zhang)A100训(xun)练(lian)1个月。在推理需(xu)求(qiu)(qiu)上,如(ru)果要(yao)像(xiang)Sora这(zhei)样生成5分钟长(zhang)视(shi)频,大概需(xu)要(yao)1张(zhang)H100算(suan)1个小时(shi)。

四、软硬协同优化方案,可将大模型微调效率提升80%

阿里云弹性计算为云上客户在AI场景提供了关于基础产品的增强工具包DeepGPU。DeepGPU是阿里云针对生成式AI场景为用户提供的软件工具和性能优化加速方案。用户在云上构建训练或者推理的AI基础设施时,该产品就能提高其使用GPU训练和推理的效率

这非常(chang)重要,因(yin)为AI算力(li)现(xian)(xian)阶段比较(jiao)贵,我(wo)们需要通(tong)过工具(ju)包的(de)(de)方式帮助用户优化使用GPU的(de)(de)效率。我(wo)们也会提供文(wen)生图、文(wen)生文(wen)等的(de)(de)解决方案(an),并且帮助众多云上客户实现(xian)(xian)了性能的(de)(de)大(da)幅提升。

接下来是阿里云帮助客(ke)户进行训练微调和推(tui)理(li)案例。

第一个案例是文生(sheng)图场(chang)景下的(de)微调训练。我(wo)们将DPU和阿里云GPU结合,在客(ke)户的(de)业(ye)务场景下帮助(zhu)客(ke)户提升(sheng)端(duan)(duan)到(dao)端(duan)(duan)微调(diao)的(de)性(xing)能,大(da)概(gai)会实现15%-40%提升(sheng)。

第二个案例是关于大语言模型场景的微调。很多客(ke)户(hu)(hu)想做(zuo)垂直领域或(huo)者垂直场景(jing)下(xia)的(de)大模(mo)型,会(hui)有模(mo)型微调(diao)的(de)需求。针对这种需求,我们会(hui)做(zuo)相应的(de)定(ding)制性解决方案或(huo)优(you)化方案,在(zai)这个场景(jing)下(xia),客(ke)户(hu)(hu)可以(yi)通过软硬结合的(de)优(you)化方法,提升大概(gai)10%-80%的(de)性能。

第三个案例是关于大语言模型的推理,这(zhei)个客(ke)户(hu)(hu)需要在细分场景(jing)做智能(neng)业务(wu)问答、咨询(xun)等,我们(men)在这(zhei)个场景(jing)下(xia)为客(ke)户(hu)(hu)提供(gong)了端到(dao)(dao)端的(de)场景(jing)优(you)化(hua)方案,从(cong)容器、环境、AI套件、DeepGPU到(dao)(dao)下(xia)层云服务(wu)器,帮(bang)(bang)助客(ke)户(hu)(hu)优(you)化(hua)端到(dao)(dao)端推理(li)性能(neng),这(zhei)会帮(bang)(bang)助客(ke)户(hu)(hu)提升接近(jin)5倍的(de)端到(dao)(dao)端请求(qiu)处理(li)或推理(li)的(de)效率。

以上是李鹏演讲内容的完整整理。