全面解析 | 大模型时代如何利用弹性计算服务应对大算力挑战

简介: 2023年6月20日,阿里云弹性计算团队与智东西公开课联合出品的系列课程「阿里云弹性计算技术公开课」正式播出,阿里云弹性计算产品专家张新涛作为该系列课程首位主讲人,带来了主题为《大模型时代如何应对大算力挑战》的课程分享,本次课程也在阿里云官网、钉钉视频号、阿里云官方视频号、阿里云开发者视频号、阿里云创新中心直播间&视频号等多平台同步播出。

技术圈.png2023年620日,阿里云弹性计算团队与智东西公开课联合出品的系列课程「阿里云弹性计算技术公开课」正式播出,阿里云弹性计算产品专家张新涛作为该系列课程首位主讲人,带来了主题为《大模型时代如何应对大算力挑战》的课程分享,本次课程也在阿里云官网、钉钉视频号、阿里云官方视频号、阿里云开发者视频号、阿里云创新中心直播间&视频号等多平台同步播出。

 

大模型开启了人工智能的新时代,但其动辄千亿规模的参数量,极大的算力需求也对计算基础设施提出了更高的要求和挑战。阿里云弹性计算基础设施,通过从底层到中间件的全系优化,能够为大模型提供软硬一体的、弹性灵活的AI算力支持。


【课程完整版精彩回放】


本篇文章根据张新涛的课程整理而成,供读者阅览:


关于AI,在今年大家比较关注的两件事应该就是:AI是否会替代我们的工作以及我们如何借助AI获得竞争优势,今天我的分享将会帮助大家解答第二个问题。相信大家也非常好奇,几年前人们口中的“人工智障”为何摇身一变成了如今的人工智能,现如今的ChatGPTGPT4是不是真的很惊艳?相关的内容,我会在接下来的课程中分享给大家。

 

一、大模型带来的变化和机会

幻灯片4.PNG

首先我们简单梳理一下,这次大模型带来了哪些变化?

 

首先,AI智能从感知智能转变为认知智能,这是跨越式的进步。感知智能最典型的应用就是各种AI音箱,虽然机器可以通过语音识别听懂每一句话,但却不能给出聪明的回答。而现在的机器则变得十分聪明,可以分析、推理、概括、总结,你能明显的体会到科幻中的人工智能到来了。

 

其次,AI的应用方式有了巨大变化。AI技术的使用者再也不用从头训练一个模型,且也不用生产和存储非常多的训练数据集,AI技术开发者和使用者如果需要,只需下载预训练模型并且使用少量的微调数据样本就可以练出自己需要的专业模型。

 

最后的变化是模型参数规模变大了,这也是最根本的变化。

幻灯片5.PNG

当模型的规模大到一定程度,AI的使用模式就会产生一些微妙的变化。可以使用预训练模型+少量训练样本微调训练,即可实现更好的智能表现,这在业内也称之为“涌现”。

 

在目前看,通常模型规模突破1000亿参数后,涌现出来的智能就非常强了。这里我们来记住一个模式,预训练模型+微调,这种方式可以大大降低AI应用的技术门槛,后面的分享也会再次提到。

 

总结以上,大模型带来了三个变化:

 

1、智能从感知智能进化到了认知智能;

2、AI进入了广泛应用的低门槛时代;

3、模型参数量变大了。

 

以上就可以得出大模型开启了AI新时代这样的结论,但要迎接这个新时代,我们还要迎接伴随而生的挑战。

幻灯片6.PNG

这个挑战来自哪里呢?主要来自模型参数规模的快速增长,以至于在工程上极难处理,且已经成为趋势。

 

从上面两张图可以看到,2018年开始,无论是大语言模型和还是预训练模型,他们的参数规模都在快速增长,斜率很大,甚至到了2020年开始出现超过1000亿参数的模型,代表就是GPT-3

 

前面讲过,这种规模的模型有了新的特征,即预训练+微调就可以产生智慧涌现。因此,在这个新发现之后,大家从图上可以看到,从2021年开始,大模型爆发式增长,而且模型规模已经开始向万亿参数挑战。

 

总的来说,大模型和超大模型是产业发展方向。但这种发展趋势也带来了巨大的计算挑战。

幻灯片7.PNG

实际上大模型在训练,微调和应用上线的阶段是最消耗算力的。我们拿GPT-3举例,整个预训练阶段GPT-3的总算力需要3640PFlops*天,换个算法就是需要1024A100GPU)连续跑1个月。

 

当然预训练之后的模型还不能直接用,至少还需要一个Finetune,那Finetune需要多少算力呢?类比GPT-3这种规模的模型,如果要做微调,就需要超过1000PFlops*天的算力,也需要数百片A100GPU)跑一个月。

 

最后,Finetune完成的模型上线运营需要多少算力呢?我们还以ChatGPT举例,仅使用完成量化优化的模型,仍然需要巨大算力来支撑,具体的数字表现大家可以看图中所示。

 

所以我们看到了,大模型业务的几个关键环节,对应算力的需求都十分惊人。虽然算力需求如此惊人,带来的算力挑战不小,但是大模型给产业带来的新机会也更多。

幻灯片8.PNG

大模型也带来了应用场景的蓬勃发展。不仅可以生成文本,还可以生成音频、图像、视频以及3D空间,甚至可以综合音视频和3D生成AI 游戏剧情和人物,还可以生成数字人。

 

结合前面讲到的AI应用技术门槛的降低,AI不仅可以便利的服务于更多行业,还会产生更多新的应用场景。

 

二、大模型对计算设施演进的影响

幻灯片10.PNG

假设我们大家对于GPT模型的发展过程已经了解的很详细了,那么在这个过程中,我们就能看到一个很明显的趋势,即GPT模型的参数量以几何级数增长。这种增长给计算基础设施也带来了很大的压力,主要体现在三个方面:

 

1、对计算能力的需求。这个表现最为直接,尤其是训练场景,模型对计算需求实际上已经快于芯片性能的提升。

 

2、对于芯片显存的需求。最典型的就是语言模型对于显存尺寸的需求,已经远远快于硬件的增长速度。

 

3、并行通信的需求。前面讲到了芯片算力性能的提升是慢于模型的需求的,所以只好通过并行计算堆叠更多的计算芯片来实现,因此对于并行通信的需求就越来越多。我们看到了显存带宽增长,GPU之间总线的带宽在增长,但是这些也远低于芯片算力的增长。

 

综上可以得出,大模型的快速增长给计算基础设施带来了巨大压力。相比于传统计算基础设施,逐步发展起来的AI和大模型促使计算基础设施产生了变化。

幻灯片11.PNG

如上图所示,我们来一起回顾一下过去20年计算的变化。

 

我们使用的计算终端,初始以PC为主,后续逐步过渡到手持设备为主,再逐步过渡到更多终端,比如:手机、平板、个人电脑、汽车、机器人以及其他智能硬件。

 

终端需求牵引导致数据中心计算产生巨大变化 ,从单服务器、单核CPU,到分布式、多核CPU,又过渡到异构计算,到了今天我们对于异构计算需求依赖变得越来越明显,很多企业的业务如果缺少异构计算或者GPU的计算芯片,其实是无法进行下去的。

 

因此,如果我们在业界工作时间稍长,其实就有强烈体会,20年前如日中天的公司是做系统软件和CPU芯片的,而当下如日中天的公司是做大模型和AI芯片的。这里发生了一个很明显的改变,即技术变革让我们进入到了智能计算时代。

 

三、阿里云如何应对大模型的挑战

幻灯片13.PNG

接下来我们一起看一下,产业是如何选择AI芯片的,以及阿里云是如何使用这些芯片去实现自己的AI基础设施的。

 

首先和大家分享一下面对AI大模型这种需求,我们是如何选择芯片的。我们大家应该经常可以听到CPUGPUTPUFPGAASIC等等概念,那么它们在计算特性上有什么不同呢?

 

今天,我们就花稍长时间用一页把他们讲明白,都是干货,大家认真来听。

 

我们首先需要知道AI计算的数据特征和计算操作是什么。AI计算通常做的都是概率计算,因此通常使用浮点数,比如:32位的单精度或者16位的半精度。

 

而计算的数据结构通常是张量,张量可以使用CPU来计算,也可以通过GPU或者TPU来计算,但是计算时效和成本相差巨大。比如:使用CPU来计算,每个操作只能计算两个操作数,效率很低。而使用GPU,每次就可以计算两组操作数,效率就有数倍提升,但是相对于计算需求的增长,也捉襟见肘。

 

因此出现了一次计算两个矩阵的芯片,比如TPU,效率比GPU有了数倍提升,相比于CPU则有了百倍提升。当然,从V100GPU)开始,GPU也引入了Tensor Core(张量计算核心)这种DSA单元,每个操作也是两个以上的矩阵在计算。因此后续GPU就有了两个性能指标:CUDA性能指标和Tensor性能指标。

 

FPGAASIC芯片则是两个极端,FPGA追求软件定义的灵活性,而ASIC追求极致性能和极致性价比。例如:在自动驾驶业务初期,为了寻找到低功耗芯片,许多厂商开始用FPGA来实现车载推理计算机。也就是把车载的摄像头和雷达的数据拿到FPGA芯片上,通过事先软件定义好的硬件计算单元使FPGA芯片可以运行AI算法,处理视频或雷达图像。

 

后来,在算法和算子逐步稳定后,我们就将FPGA的实现硬化成ASIC芯片来实现,这个的好处是效率更高,功耗更低了。当然,车载自动驾驶芯片是个SOC,除了AISCAI加速,还有CPU带来的控制灵活性。

 

所以我们选用什么样的芯片来做AI大模型呢?相比而言GPU芯片面对AI业务挑战应对更为积极也更有预见性。

幻灯片14.PNG

下面我们来看下主流GPU芯片做了哪些架构和工艺上的跃迁来带性能的急速增长,这里面GPU芯片有很多,我们着重看几个比较有代表性的芯片。

 

1、Kepler架构,从这代GPU开始,GPU开始大规模的用于深度学习的训练和推理。我们国内有很多友商也是从这一代芯片开始把他们引入到自己的公共云上来,为AI用户提供算力支持。

 

2、Pascal架构,从这代GPU开始,英伟达开始针对深度学习的计算负载做了专门的增强,比如:使用带宽更高的HBM显存和NVLink互联以及使用性能高一倍的FP16计算引擎。

 

3、Volta架构,从这代GPU开始,英伟达正式发布了Tensor Core用于进一步提升GPUTensor计算能力来应对语言模型规模不断增长的挑战。

 

4、Hoper架构,从这代GPU开始,英伟达开始通过面对大模型做了很多优化,比如优化了计算能力,访存效率和组网带宽比都有了跨越式发展,更加适合大模型训练和推理的负载。

 

实际上每一代GPU架构的进化,都融入了更多性能提升的创新,这里不再赘述。了解完GPU迭代的驱动逻辑,就更容易理解阿里云异构计算产品体系。

幻灯片15.PNG

阿里云异构计算产品的体系是面向加速计算全场景的,所以有面向人工智能场景的实例,有面向视觉计算场景的实例,以及面向定制计算场景的实例。但我们今天的主题是大模型,所以主要来看人工智能的场景。

 

上图主要显示的是当前最新一代产品,也就是基于A100GPU)的训练实例和基于A10的推理实例。但实际上在之前我们还有V100的实例、T4的推理实例、P100的实例、P4的实例等等非常丰富的实例。

 

那么我们除了实例之外,还有面向帮助用户提升计算效率、提升易用性和业务效率的软件产品。这里值得注意的是,我们一直在探索的软硬一体的实例产品:EAIS加速实例。我们正在将EAIS做成超级弹性的计算基础设施,来解决巨大算力需求与业务成本降低之间的矛盾。新版的EAIS产品敬请大家期待。

 

四、面向AI大模型的解决方案

幻灯片17.PNG

我们针对AIGC和大语言模型的客户提供了有针对性的解决方案。前面介绍过,新的AI技术应用模式与以往的AI有很大区别,我们只需要使用开源或者商业化的预训练模型加上少量个性化数据,就可以微调训练出来具备垂直领域知识和能力的AI模型来。

 

比如,我们可以使用开源的某个大语言模型加上某个行业或者企业特有的业务数据就可以训练出这个行业或者企业所需的大语言模型,诸如企业写标书,合同审核等等耗时业务都可以高效处理。

 

具体过程如下:

 

首先,需要收集足够丰富的行业或者企业分门别类的知识信息,将其整理成语料数据;

 

其次,基于阿里云的IaaS产品、AI性能分析及优化软件,资源编排服务以及配合开源的开源微调工具集等,在极短时间内就可以微调训练出自有的语言模型。

 

最后,用户可以将模型部署于阿里云上,阿里云提供全球网络投送能力,同时针对大模型部署面临的性能与成本挑战,提供相对应的性能优化工具,易用性等工具。

 

以上是我们大致的解决方案,当我们决定要微调训练一个大模型时,第一件事情还是GPU实例的选型,接下来我们一起来看一下。

幻灯片18.PNG

大语言模型和AIGC由于参数与数据类型不同,对于GPU实例选择还是有比较大的差异。因此,我们把大语言模型的选型与AIGC的选型分开来看。

 

首先,看一下大语言模型,它除了有预训练的需求以外,更多的是微调训练,二者需要的GPU实例区别不大,但是数量有较大差异。

 

到了大语言模型推理阶段,选型的问题就更复杂了,除了显存限制,计算能力需求,还需要考虑大规模部署的性价比,目前我们在市场上见到最多的模型是130亿到2000亿参数的模型,但是更多集中在130亿到650亿,因此我们在这里可选的GPU实例还是非常多的。

 

其次,我们看AIGC模型,由于参数规模相比大语言模型较小,对于显存和计算能力的需求就没有那么突出,用户更多会关注大规模部署的成本和业务效率等问题,同样,在这里我们的可选型也会非常多。后面我们具体看看我们选型的GPU实例以及相配套的服务和软件。

幻灯片19.PNG

上图展示了我们面向大模型训练的高性能计算集群的产品。

 

这个产品围绕提升集群并行性能展开,GPU之间使用了NV-Switch的互联方式,也是目前最高效的互联方式。节点之间使用了非阻塞式的RDMA网络,同时节点间还有VPC网络互联,以及集群方面还用了高性能的集群存储CPFS和块存储。

 

除了这种更强计算的需求,还有更细粒度的计算需求。

幻灯片20.PNG

我们还可以提供更小的GPU计算粒度,通过池化的方式来提升资源使用效率。比如,我们通过cGPU技术实现GPU的资源切割和跨主机资源池,来解决GPU资源的使用不充分、或者更加夸张的计算资源配比需求等等,帮助用户获得更有效率和更有性价比的GPU计算资源。

 

当然,除了充分利用GPU计算资源外,我们还有帮助用户提升各类AI负载的加速软件。

幻灯片21.PNG

我们提供的AI加速套件在业界十分有名。比如,我们通过结合IaaS优势,也实现非常可观的性能优化,而通过这套加速软件,我们也帮助用户的业务在不同业务负载上提升40%80%的性能。换句话说,可以帮助用户节省这么多的TCO支出或者时间支出。

image.png

最后和大家分享一下阿里云的全栈AI技术体系。我们从AI IaaS层到模型层面,给用户提升全栈的AI技术和产品能力,帮助不同用户建设更加贴合业务实际的AI业务。以上就是我本次的分享。

 

想要关注更多精彩直播/观看课程回放的同学,可以点击下方海报/扫描二维码均可观看。

张新涛 直播封面.jpg

相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
模型无关的局部解释(LIME)技术原理解析及多领域应用实践
在当前数据驱动的商业环境中,人工智能(AI)和机器学习(ML)已成为各行业决策的关键工具,但随之而来的是“黑盒”问题:模型内部机制难以理解,引发信任缺失、监管合规难题及伦理考量。LIME(局部可解释模型无关解释)应运而生,通过解析复杂模型的个别预测,提供清晰、可解释的结果。LIME由华盛顿大学的研究者于2016年提出,旨在解决AI模型的透明度问题。它具有模型无关性、直观解释和局部保真度等优点,在金融、医疗等领域广泛应用。LIME不仅帮助企业提升决策透明度,还促进了模型优化和监管合规,是实现可解释AI的重要工具。
77 9
|
12天前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
44 6
|
24天前
|
开发框架 供应链 监控
并行开发模型详解:类型、步骤及其应用解析
在现代研发环境中,企业需要在有限时间内推出高质量的产品,以满足客户不断变化的需求。传统的线性开发模式往往拖慢进度,导致资源浪费和延迟交付。并行开发模型通过允许多个开发阶段同时进行,极大提高了产品开发的效率和响应能力。本文将深入解析并行开发模型,涵盖其类型、步骤及如何通过辅助工具优化团队协作和管理工作流。
54 3
|
27天前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
61 3
|
10天前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
11天前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
1月前
|
机器学习/深度学习 搜索推荐 大数据
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
【10月更文挑战第2天】在处理大规模数据集的推荐系统项目时,提高检索模型的召回率成为关键挑战。本文分享了通过改进特征工程(如加入用户活跃时段和物品相似度)和优化模型结构(引入注意力机制)来提升召回率的具体策略与实现代码。严格的A/B测试验证了新模型的有效性,为改善用户体验奠定了基础。这次实践加深了对特征工程与模型优化的理解,并为未来的技术探索提供了方向。
82 2
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
|
16天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
13 1
|
23天前
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
134 1

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面