带你读《阿里云产品五月刊》——九、一文解读:阿里云AI基础设施的演进与挑战

简介: 一文解读:阿里云AI基础设施的演进与挑战

简介: 对于如何更好地释放云上性能助力AIGC应用创新?“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。

 

2024年4月18-19日,2024中国生成式AI大会在北京JW万豪酒店举行,阿里云高级技术专家、阿里云异构计算AI推理团队负责人李鹏受邀在【AI Infra】专场发表题为《AI基础设施的演进与挑战》的主题演讲。李鹏从AIGC对云基础设施的挑战、如何进一步释放云上性能、AIGC场景下训练和推理最佳实践三个方向逐一展开分享。

 

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

 

对于如何更好地释放云上性能助力AIGC应用创新?

 

“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。

 

以下是全文内容,供阅览。

  image.png

李鹏 阿里云高级技术专家 & 阿里云异构计算AI推理团队负责人

 

从2023年开始,生成式AI爆发,文生视频、文生图、文生文等场景有很多大模型/通用大模型产生,我也和我们的产品团队、架构师团队一起与阿里云客户做过多次技术分享交流,看到了企业客户开始逐渐将生成式AI技术应用到实际的业务当中。

 

image.png

 

从我的感受来讲,如今越来越多的云上客户拥抱生成式AI的场景,大模型的接受度也越来越高,比如电子商务、影视、内容资讯和办公软件、游戏等典型的行业。

 

image.png


上图左侧是2024GTC大会上展示的一张关于模型发展对算力需求的曲线图。从2018年开始这条绿色曲线,从Transformer模型、到如今的GPT、再到最新的1.8万亿参数大模型,对算力需求呈现了10倍规模递增的爆炸性增长,训练场景对算力的需求非常大。

 

另外根据估算,如果要训练一个GPT-3、1750亿参数的模型,训练的计算量大概在3640 PFLOP * 天,对芯片的需求大概需要1024张A100跑一个月的时间,这是一个相当大的千卡规模,换算到成本上则是一笔非常巨大的计算开销。总体来说,当前阶段的GPU算力价格相对较贵,再到推理/微调本身的算力需求和成本,也可以看到部署的成本也比较高,开销同样较大。

 

AIGC对云基础设施的挑战

image.png

谈到大模型发展对体系结构的挑战,首先看到的是功耗墙的问题。以NVIDIA GPU举例,2017年开始,V100的功耗只有250瓦,递增到A100功耗接近400瓦,H100功耗700瓦,到最新B200功耗大概到了1000瓦,算力成倍增长,计算功耗也会增加的越来越多。最近业界也有许多讨论说到AI的尽头是能源,随着计算需求的增大,会带来能源上更大的需求。

 

第二个体系结构挑战就是内存墙。所谓内存墙,计算过程数据在CPU和GPU之间会做搬移/交换,如今PCIE的体系结构逐渐成为数据交换和传输的瓶颈。可以看到,像NVIDIA也在Grace Hopper架构上推出了NVlink C2C方案,能够大幅提升整个数据传输的速率。

第三个是通讯墙。

 

尤其对于训练来说,分布式训练规模还是非常大的,从去年的千卡规模到了如今万卡甚至十万卡规模,分布式训练场景下如何增加机器之间的互联带宽也是一个巨大的挑战。

 

 

从国内外各个厂商的一些进展来看,在A100上会采用800G互联的带宽,在H100上会有3.2T带宽,也就是更大的互联带宽。所以现在看到的趋势就是硬件堆砌的趋势,总结下来就是会有更大的显存、更高的显存带宽,还有更高的CPU和GPU之间的互联带宽,最后还有PCIE本身的向下迭代。

 

image.png  

上图是以NVIDIA GPU举例,展示了Ampere从这一代架构开始到后面的Blackwell芯片的一些特点变化,体现在算力维度就是计算规模会越来越高,过往的不到1PFlops、如今要到1P以上,且显存大小也会越来越大,从前的80G到如今的100G+的规模;显存带宽也是非常重要的指标,也在不断增加,这也反映了未来硬件、尤其是AI计算上硬件规格的变化。

 

如何释放云上性能?

 

image.png

 

对于大模型训练的技术栈,由AI训练算法与软件、Ai训练硬件资源两个部分构成。

 

当前,主要是模型结构(主要是Transformer结构)、海量级数据以及梯度寻优算法,这三块构成AI训练的软件和算法。

 

AI硬件就是GPU的计算卡,从单卡扩展到服务器(如8卡),再扩展到更大的服务器集群,做成千卡/万卡的规模,构成整个大模型训练硬件的计算资源。

image.png

大模型训练过程中有一个典型的现实问题:模型的加载和并行。以GPT 175B的模型举例来说,它需要的显存规模就训练来说大概需要2800G,上图是以A100 80G为例,要解决的问题是我们需要多少张卡装载这个模型,装载模型后还需要如何去把训练效率提升,这就需要用模型并行技术来解决。

 

另外,还有互联的问题,互联有单机内部互联(NVlink),还有机器与机器之间的互联网络,这对于分布式训练来说非常重要,因为会在通信上产生一些开销。

 

image.png

1. 大模型训练当中的模型装载

以175B模型为例,以FP16精度计算,模型参数大概350G显存,模型梯度也需要350G,优化器需要的显存规模大概在2100GB,合并起来大概是2800GB的规模,如今分布式训练的框架也有比较成熟的方案,像NVIDIA做的Megatron-LM和微软开发的DeepSpeed Zero算法,能够解决模型装载和并行的问题。

image.png

2. 大模型训练的并行方式

 

在大模型训练方式上,业界也有比较多的并行技术可以帮助提升训练效率,比如张量并行、流水线并行、数据并行等等。

 

TP是张量并行(Tensor Parallel) ,是对模型的每个层做了一个层内的拆分。使用TP能达到很好的 GPU 利用率。TP通信粒度是非常细的。TP 每计算完成一次层的拆分,就需要有一次通信来做AllReduce合并,虽然 TP 单次通信量较小,但是它通信频率频次都很高,对带宽的要求也很高。

 

PP是流水线并行(Pipeline Parallel),也就是模型的层与层之间拆分,把不同的层放到不同的 GPU 上。在计算过程中,必须顺序执行,后面的计算过程依赖于前面的计算结果。一个完整的 Pipeline运行起来需要将一个workload 切分成很小的多个 Workload,也就是需要将一个比较大 Batch size 切分成很多个小 Batch 才能保持流水线并行的高吞吐。

 

 

 

DP是数据并行(Data Parallel),数据并行是指将相同的参数复制到多个GPU上,通常称为“工作节点(workers)”,并为每个GPU分配不同的数据子集同时进行处理。数据并行需要把模型参数加载到单GPU显存里,而让多个GPU计算的代价就是需要存储参数的多个副本。更新数据并行的节点对应的参数副本时,需要协调节点以确保每个节点具有相同的参数。

 

image.png

 

在模型训练过程中, 尤其是分布式训练场景下, 我们还看到一些比较关键的问题,就是集合通信性能问题。

 

比如,在Tensor 并行的切分当中,实际上会产生一些allreduce的操作,这些allreduce操作是夹杂在计算流当中的,会产生一个计算中断的问题,因此会带来计算效率的影响。现在有相应的集合通信算法,或者是一些优化实现被开发出来去解决集合通信性能的影响,上图截图中展示的是我们在做一些并行训练时发现的部分瓶颈。

image.png

 

在大模型推理时,我们需要关注三个方面:显存、带宽和量化。

 

显存,模型参数量大小决定了需要多少显存。

 

带宽,因为在大模型推理时实际上是访存密集型的计算方式,在计算当中需要频繁的访问显存,这种情况下带宽的规格是影响推理速度的首要因素。

 

量化,如今很多模型在发布时都会提供FP16精度的模型,还会给一些量化后的模型,低精度量化带来的效果是可以省下更多显存,也可以提高访存效率,因此现在很多大模型推理都会采用量化的方式。

 

总结来说:首先,大模型推理会有显存瓶颈;其次,在推理方面可以选择多卡推理,做TP方式切分,训练卡可以用在推理业务,且会有一些不错的效果。

image.png

 

上图展示的是我们在做一些模型微观性能分析时看到的一些状况,上面是典型的Tranformer结构,包含了像attention结构和MLP结构。

 

在这些算子里面,我们通过微观的分析可以看到,大部分的计算都是矩阵乘运算,就是GEMM的操作,实际有85%的耗时都是访存,主要是去做显存的读取。

 

大模型推理本身是自回归的方式,上一个生成出来的token会用在下一个token的计算,基本都是访存密集型计算。

 

总结来说基于这些行为,在优化时我们会把attention结构的许多算子以及MLP的算子分别融合成大的算子,这样会显著提高计算效率。

image.png

在大模型推理带宽需求方面,以LLaMA 7B在A10或者A100上的对比为例:如上图,红色曲线代表的是A100 VS A10 QPS的比例关系,在不同batchsize下,红色曲线基本上是一条水平的线,这从侧面印证了大模型推理基本是一个访存密集型的操作,它的上限是由GPU的HBM显存带宽决定的。

  image.png


除此之外,在大模型推理时的一些通信性能也需要特别关注。这里强调一下通信性能是指单机内部多卡通信。举例来说跑一个LLaMA 70B的模型,是没办法在A10一张卡上装载,需要至少8张卡的规格才能把这个模型装载下来,因为计算时做了TP切分,每张卡算一部分,计算完成后需要AllReduce通信的操作,我们针对通信开销做了一些性能分析,最明显的是推理卡上,A10通信开销占比是比较高的,能够达到整个端到端性能开销的31%,这个开销占比还是很高的,因此需要在这方面重点关注。

 

那如何优化通信的开销?

 

通常来说比较直观的方法是如果有卡和卡之间的Nvlink互联,性能自然会有提升,因为Nvlink互联带宽还是比较高的。另外,如果GPU卡没有像A100这样的Nvlink,则需要走PCIE P2P通信,这种通信方式也会从一方面帮助提高通信性能,在阿里云上我们团队通过亲和性分配调优,摸索出一套优化方法,能够在4卡、8卡场景下把通信开销占比进一步优化,实现开销下降。

 

image.png

 

从今年年初OpenAI发布Sora之后,国外已经有机构给出了关于Sora这样视频模型算力需求的分析,因为它的模型结构和原来文生图的模型结构有区别,其中较为显著的区别是原来的Unet结构变成了diffusion Transformer的结构,通过结构上的变化和一些算力的估算,可以看到Sora视频模型不管是在训练和推理上都会有比较大的算力需求。

 

上图展示的就是国外某研究机构给出的算力需求,他们估算如果要训练Sora这样一个模型大概需要4000-10000张H100训练一个月,基本能训练出Sora这样的模型。在推理上这个需求也会比传统的大语言模型来得更高,估算结果是如果我们要生成像Sora这样的5分钟长视频,大概需要一张H100推理一个小时的时间,所以算力的需求还是非常高的。

 

image.png

 

下面为大家介绍一下阿里云弹性计算为云上客户在AI场景下提供的基础产品增强工具包DeepGPU,这是针对生成式AI场景为用户提供的软件工具和解决方案,旨在帮助用户在云上构建训练/推理的AI基础设施时,提高其在使用GPU上训练和推理的效率。

 

因为,目前普遍AI算力还较为昂贵,我们需要用工具包的方式帮助用户优化他们使用GPU的效率,同时我们也会提供像文生图和文生文等场景下的解决方案。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。

 

AIGC场景下训练和推理最佳实践

image.png

 

上图展示的是关于SD文生图场景下的微调训练案例,我们可以通过DeepGPU和阿里云GPU云服务器结合在一起,在客户的SD微调场景下,帮助客户提升15%-40%的端到端性能。    

 

image.png

第二个是关于大语言模型场景的微调案例,可以看到有些客户想做一个垂直领域/垂直场景下的大模型,会有模型微调的需求。针对这一类模型微调需求,我们会做一些针对性的解决方案/优化方案,客户通过软硬结合的优化方法,性能最高可提升80%。

 

image.png

 

最后是关于大语言模型推理的客户案例。这个客户主要是做智能业务问答/咨询类业务,我们为客户在端到端的场景里面提供了方案,包括云服务器、容器环境、AI套件、DeepGPU等产品,帮助客户优化整个端到端的推理性能,最终帮助客户提升近5倍的端到端的请求处理/推理的效率。

 

以上就是本次分享的全部内容,也欢迎大家持续关注阿里云的产品,谢谢。


相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 运维
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
阿里云技术公开课预告:Elastic和阿里云搜索技术专家将深入解读阿里云Elasticsearch Enterprise版的AI功能及其在实际应用。
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
|
1天前
|
人工智能 大数据 测试技术
自主和开放并举 探索下一代阿里云AI基础设施固件创新
12月13日,固件产业技术创新联盟产业峰会在杭州举行,阿里云主导的开源固件测试平台发布和PCIe Switch固件技术亮相,成为会议焦点。
|
1天前
|
JSON 分布式计算 数据处理
加速数据处理与AI开发的利器:阿里云MaxFrame实验评测
随着数据量的爆炸式增长,传统数据分析方法逐渐显现出局限性。Python作为数据科学领域的主流语言,因其简洁易用和丰富的库支持备受青睐。阿里云推出的MaxFrame是一个专为Python开发者设计的分布式计算框架,旨在充分利用MaxCompute的强大能力,提供高效、灵活且易于使用的工具,应对大规模数据处理需求。MaxFrame不仅继承了Pandas等流行数据处理库的友好接口,还通过集成先进的分布式计算技术,显著提升了数据处理的速度和效率。
|
11天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
52 10
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
转载:【AI系统】AI的领域、场景与行业应用
本文概述了AI的历史、现状及发展趋势,探讨了AI在计算机视觉、自然语言处理、语音识别等领域的应用,以及在金融、医疗、教育、互联网等行业中的实践案例。随着技术进步,AI模型正从单一走向多样化,从小规模到大规模分布式训练,企业级AI系统设计面临更多挑战,同时也带来了新的研究与工程实践机遇。文中强调了AI基础设施的重要性,并鼓励读者深入了解AI系统的设计原则与研究方法,共同推动AI技术的发展。
转载:【AI系统】AI的领域、场景与行业应用
|
5天前
|
机器学习/深度学习 人工智能 算法
探索AI在医疗诊断中的应用与挑战
【10月更文挑战第21天】 本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状与面临的挑战,旨在为读者提供一个全面的视角,了解AI如何改变传统医疗模式,以及这一变革过程中所伴随的技术、伦理和法律问题。通过分析AI技术的优势和局限性,本文旨在促进对AI在医疗领域应用的更深层次理解和讨论。
|
11天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
10天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
12月05日,由中国软件行业校园招聘与实习公共服务平台携手阿里魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·电子科技大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
|
16天前
|
机器学习/深度学习 人工智能 JSON
【实战干货】AI大模型工程应用于车联网场景的实战总结
本文介绍了图像生成技术在AIGC领域的发展历程、关键技术和当前趋势,以及这些技术如何应用于新能源汽车行业的车联网服务中。
245 33
下一篇
DataWorks