2023年6月20日,阿里云弹性计算团队与智东西公开课联合出品的系列课程「阿里云弹性计算技术公开课」正式播出,阿里云弹性计算产品专家张新涛作为该系列课程首位主讲人,带来了主题为《大模型时代如何应对大算力挑战》的课程分享,本次课程也在阿里云官网、钉钉视频号、阿里云官方视频号、阿里云开发者视频号、阿里云创新中心直播间&视频号等多平台同步播出。
大模型开启了人工智能的新时代,但其动辄千亿规模的参数量,极大的算力需求也对计算基础设施提出了更高的要求和挑战。阿里云弹性计算基础设施,通过从底层到中间件的全系优化,能够为大模型提供软硬一体的、弹性灵活的AI算力支持。
本篇文章根据张新涛的课程整理而成,供读者阅览:
关于AI,在今年大家比较关注的两件事应该就是:AI是否会替代我们的工作以及我们如何借助AI获得竞争优势,今天我的分享将会帮助大家解答第二个问题。相信大家也非常好奇,几年前人们口中的“人工智障”为何摇身一变成了如今的人工智能,现如今的ChatGPT和GPT4是不是真的很惊艳?相关的内容,我会在接下来的课程中分享给大家。
一、大模型带来的变化和机会
首先我们简单梳理一下,这次大模型带来了哪些变化?
首先,AI智能从感知智能转变为认知智能,这是跨越式的进步。感知智能最典型的应用就是各种AI音箱,虽然机器可以通过语音识别听懂每一句话,但却不能给出聪明的回答。而现在的机器则变得十分聪明,可以分析、推理、概括、总结,你能明显的体会到科幻中的人工智能到来了。
其次,AI的应用方式有了巨大变化。AI技术的使用者再也不用从头训练一个模型,且也不用生产和存储非常多的训练数据集,AI技术开发者和使用者如果需要,只需下载预训练模型并且使用少量的微调数据样本就可以练出自己需要的专业模型。
最后的变化是模型参数规模变大了,这也是最根本的变化。
当模型的规模大到一定程度,AI的使用模式就会产生一些微妙的变化。可以使用预训练模型+少量训练样本微调训练,即可实现更好的智能表现,这在业内也称之为“涌现”。
在目前看,通常模型规模突破1000亿参数后,涌现出来的智能就非常强了。这里我们来记住一个模式,预训练模型+微调,这种方式可以大大降低AI应用的技术门槛,后面的分享也会再次提到。
总结以上,大模型带来了三个变化:
1、智能从感知智能进化到了认知智能;
2、AI进入了广泛应用的低门槛时代;
3、模型参数量变大了。
以上就可以得出“大模型开启了AI新时代“这样的结论,但要迎接这个新时代,我们还要迎接伴随而生的挑战。
这个挑战来自哪里呢?主要来自模型参数规模的快速增长,以至于在工程上极难处理,且已经成为趋势。
从上面两张图可以看到,2018年开始,无论是大语言模型和还是预训练模型,他们的参数规模都在快速增长,斜率很大,甚至到了2020年开始出现超过1000亿参数的模型,代表就是GPT-3。
前面讲过,这种规模的模型有了新的特征,即预训练+微调就可以产生智慧涌现。因此,在这个新发现之后,大家从图上可以看到,从2021年开始,大模型爆发式增长,而且模型规模已经开始向万亿参数挑战。
总的来说,大模型和超大模型是产业发展方向。但这种发展趋势也带来了巨大的计算挑战。
实际上大模型在训练,微调和应用上线的阶段是最消耗算力的。我们拿GPT-3举例,整个预训练阶段GPT-3的总算力需要3640PFlops*天,换个算法就是需要1024片A100(GPU)连续跑1个月。
当然预训练之后的模型还不能直接用,至少还需要一个Finetune,那Finetune需要多少算力呢?类比GPT-3这种规模的模型,如果要做微调,就需要超过1000PFlops*天的算力,也需要数百片A100(GPU)跑一个月。
最后,Finetune完成的模型上线运营需要多少算力呢?我们还以ChatGPT举例,仅使用完成量化优化的模型,仍然需要巨大算力来支撑,具体的数字表现大家可以看图中所示。
所以我们看到了,大模型业务的几个关键环节,对应算力的需求都十分惊人。虽然算力需求如此惊人,带来的算力挑战不小,但是大模型给产业带来的新机会也更多。
大模型也带来了应用场景的蓬勃发展。不仅可以生成文本,还可以生成音频、图像、视频以及3D空间,甚至可以综合音视频和3D生成AI 游戏剧情和人物,还可以生成数字人。
结合前面讲到的AI应用技术门槛的降低,AI不仅可以便利的服务于更多行业,还会产生更多新的应用场景。
二、大模型对计算设施演进的影响
假设我们大家对于GPT模型的发展过程已经了解的很详细了,那么在这个过程中,我们就能看到一个很明显的趋势,即GPT模型的参数量以几何级数增长。这种增长给计算基础设施也带来了很大的压力,主要体现在三个方面:
1、对计算能力的需求。这个表现最为直接,尤其是训练场景,模型对计算需求实际上已经快于芯片性能的提升。
2、对于芯片显存的需求。最典型的就是语言模型对于显存尺寸的需求,已经远远快于硬件的增长速度。
3、并行通信的需求。前面讲到了芯片算力性能的提升是慢于模型的需求的,所以只好通过并行计算堆叠更多的计算芯片来实现,因此对于并行通信的需求就越来越多。我们看到了显存带宽增长,GPU之间总线的带宽在增长,但是这些也远低于芯片算力的增长。
综上可以得出,大模型的快速增长给计算基础设施带来了巨大压力。相比于传统计算基础设施,逐步发展起来的AI和大模型促使计算基础设施产生了变化。
如上图所示,我们来一起回顾一下过去20年计算的变化。
我们使用的计算终端,初始以PC为主,后续逐步过渡到手持设备为主,再逐步过渡到更多终端,比如:手机、平板、个人电脑、汽车、机器人以及其他智能硬件。
终端需求牵引导致数据中心计算产生巨大变化 ,从单服务器、单核CPU,到分布式、多核CPU,又过渡到异构计算,到了今天我们对于异构计算需求依赖变得越来越明显,很多企业的业务如果缺少异构计算或者GPU的计算芯片,其实是无法进行下去的。
因此,如果我们在业界工作时间稍长,其实就有强烈体会,20年前如日中天的公司是做系统软件和CPU芯片的,而当下如日中天的公司是做大模型和AI芯片的。这里发生了一个很明显的改变,即技术变革让我们进入到了智能计算时代。
三、阿里云如何应对大模型的挑战
接下来我们一起看一下,产业是如何选择AI芯片的,以及阿里云是如何使用这些芯片去实现自己的AI基础设施的。
首先和大家分享一下面对AI大模型这种需求,我们是如何选择芯片的。我们大家应该经常可以听到CPU、GPU、TPU、FPGA、ASIC等等概念,那么它们在计算特性上有什么不同呢?
今天,我们就花稍长时间用一页把他们讲明白,都是干货,大家认真来听。
我们首先需要知道AI计算的数据特征和计算操作是什么。AI计算通常做的都是概率计算,因此通常使用浮点数,比如:32位的单精度或者16位的半精度。
而计算的数据结构通常是张量,张量可以使用CPU来计算,也可以通过GPU或者TPU来计算,但是计算时效和成本相差巨大。比如:使用CPU来计算,每个操作只能计算两个操作数,效率很低。而使用GPU,每次就可以计算两组操作数,效率就有数倍提升,但是相对于计算需求的增长,也捉襟见肘。
因此出现了一次计算两个矩阵的芯片,比如TPU,效率比GPU有了数倍提升,相比于CPU则有了百倍提升。当然,从V100(GPU)开始,GPU也引入了Tensor Core(张量计算核心)这种DSA单元,每个操作也是两个以上的矩阵在计算。因此后续GPU就有了两个性能指标:CUDA性能指标和Tensor性能指标。
而FPGA和ASIC芯片则是两个极端,FPGA追求软件定义的灵活性,而ASIC追求极致性能和极致性价比。例如:在自动驾驶业务初期,为了寻找到低功耗芯片,许多厂商开始用FPGA来实现车载推理计算机。也就是把车载的摄像头和雷达的数据拿到FPGA芯片上,通过事先软件定义好的硬件计算单元使FPGA芯片可以运行AI算法,处理视频或雷达图像。
后来,在算法和算子逐步稳定后,我们就将FPGA的实现硬化成ASIC芯片来实现,这个的好处是效率更高,功耗更低了。当然,车载自动驾驶芯片是个SOC,除了AISC的AI加速,还有CPU带来的控制灵活性。
所以我们选用什么样的芯片来做AI大模型呢?相比而言GPU芯片面对AI业务挑战应对更为积极也更有预见性。
下面我们来看下主流GPU芯片做了哪些架构和工艺上的跃迁来带性能的急速增长,这里面GPU芯片有很多,我们着重看几个比较有代表性的芯片。
1、Kepler架构,从这代GPU开始,GPU开始大规模的用于深度学习的训练和推理。我们国内有很多友商也是从这一代芯片开始把他们引入到自己的公共云上来,为AI用户提供算力支持。
2、Pascal架构,从这代GPU开始,英伟达开始针对深度学习的计算负载做了专门的增强,比如:使用带宽更高的HBM显存和NVLink互联以及使用性能高一倍的FP16计算引擎。
3、Volta架构,从这代GPU开始,英伟达正式发布了Tensor Core用于进一步提升GPU的Tensor计算能力来应对语言模型规模不断增长的挑战。
4、Hoper架构,从这代GPU开始,英伟达开始通过面对大模型做了很多优化,比如优化了计算能力,访存效率和组网带宽比都有了跨越式发展,更加适合大模型训练和推理的负载。
实际上每一代GPU架构的进化,都融入了更多性能提升的创新,这里不再赘述。了解完GPU迭代的驱动逻辑,就更容易理解阿里云异构计算产品体系。
阿里云异构计算产品的体系是面向加速计算全场景的,所以有面向人工智能场景的实例,有面向视觉计算场景的实例,以及面向定制计算场景的实例。但我们今天的主题是大模型,所以主要来看人工智能的场景。
上图主要显示的是当前最新一代产品,也就是基于A100(GPU)的训练实例和基于A10的推理实例。但实际上在之前我们还有V100的实例、T4的推理实例、P100的实例、P4的实例等等非常丰富的实例。
那么我们除了实例之外,还有面向帮助用户提升计算效率、提升易用性和业务效率的软件产品。这里值得注意的是,我们一直在探索的软硬一体的实例产品:EAIS加速实例。我们正在将EAIS做成超级弹性的计算基础设施,来解决巨大算力需求与业务成本降低之间的矛盾。新版的EAIS产品敬请大家期待。
四、面向AI大模型的解决方案
我们针对AIGC和大语言模型的客户提供了有针对性的解决方案。前面介绍过,新的AI技术应用模式与以往的AI有很大区别,我们只需要使用开源或者商业化的预训练模型加上少量个性化数据,就可以微调训练出来具备垂直领域知识和能力的AI模型来。
比如,我们可以使用开源的某个大语言模型加上某个行业或者企业特有的业务数据就可以训练出这个行业或者企业所需的大语言模型,诸如企业写标书,合同审核等等耗时业务都可以高效处理。
具体过程如下:
首先,需要收集足够丰富的行业或者企业分门别类的知识信息,将其整理成语料数据;
其次,基于阿里云的IaaS产品、AI性能分析及优化软件,资源编排服务以及配合开源的开源微调工具集等,在极短时间内就可以微调训练出自有的语言模型。
最后,用户可以将模型部署于阿里云上,阿里云提供全球网络投送能力,同时针对大模型部署面临的性能与成本挑战,提供相对应的性能优化工具,易用性等工具。
以上是我们大致的解决方案,当我们决定要微调训练一个大模型时,第一件事情还是GPU实例的选型,接下来我们一起来看一下。
大语言模型和AIGC由于参数与数据类型不同,对于GPU实例选择还是有比较大的差异。因此,我们把大语言模型的选型与AIGC的选型分开来看。
首先,看一下大语言模型,它除了有预训练的需求以外,更多的是微调训练,二者需要的GPU实例区别不大,但是数量有较大差异。
到了大语言模型推理阶段,选型的问题就更复杂了,除了显存限制,计算能力需求,还需要考虑大规模部署的性价比,目前我们在市场上见到最多的模型是130亿到2000亿参数的模型,但是更多集中在130亿到650亿,因此我们在这里可选的GPU实例还是非常多的。
其次,我们看AIGC模型,由于参数规模相比大语言模型较小,对于显存和计算能力的需求就没有那么突出,用户更多会关注大规模部署的成本和业务效率等问题,同样,在这里我们的可选型也会非常多。后面我们具体看看我们选型的GPU实例以及相配套的服务和软件。
上图展示了我们面向大模型训练的高性能计算集群的产品。
这个产品围绕提升集群并行性能展开,GPU之间使用了NV-Switch的互联方式,也是目前最高效的互联方式。节点之间使用了非阻塞式的RDMA网络,同时节点间还有VPC网络互联,以及集群方面还用了高性能的集群存储CPFS和块存储。
除了这种更强计算的需求,还有更细粒度的计算需求。
我们还可以提供更小的GPU计算粒度,通过池化的方式来提升资源使用效率。比如,我们通过cGPU技术实现GPU的资源切割和跨主机资源池,来解决GPU资源的使用不充分、或者更加夸张的计算资源配比需求等等,帮助用户获得更有效率和更有性价比的GPU计算资源。
当然,除了充分利用GPU计算资源外,我们还有帮助用户提升各类AI负载的加速软件。
我们提供的AI加速套件在业界十分有名。比如,我们通过结合IaaS优势,也实现非常可观的性能优化,而通过这套加速软件,我们也帮助用户的业务在不同业务负载上提升40%到80%的性能。换句话说,可以帮助用户节省这么多的TCO支出或者时间支出。
最后和大家分享一下阿里云的全栈AI技术体系。我们从AI IaaS层到模型层面,给用户提升全栈的AI技术和产品能力,帮助不同用户建设更加贴合业务实际的AI业务。以上就是我本次的分享。
想要关注更多精彩直播/观看课程回放的同学,可以点击下方海报/扫描二维码均可观看。