900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 突破英特尔CPU+英伟达GPU的大模型训练组合:苹果与AMD都有新进展

突破英特尔CPU+英伟达GPU的大模型训练组合:苹果与AMD都有新进展

时间:2020-04-19 01:22:15

相关推荐

突破英特尔CPU+英伟达GPU的大模型训练组合:苹果与AMD都有新进展

本文来自DataLearner官方博客:突破英特尔CPU+英伟达GPU的大模型训练硬件组合:苹果与AMD都有新进展! | 数据学习者官方网站(Datalearner)

大语言模型的训练和微调的硬件资源要求很高。现行主流的大模型训练硬件一般采用英特尔的CPU+英伟达的GPU进行。主要原因在于二者提供了符合大模型训练所需的计算架构和底层的加速库。但是,最近苹果M2 Ultra和AMD的显卡进展让我们看到了一些新的希望。

上图来自:/blog/1051623142390129

本文主要介绍一下苹果芯片和基于AMD软硬件系统的大模型训练体系做简单的介绍。因为二者最新的硬件和生态建设都让我们有一种新的性价比选择。尽管除了硬件外还需要考虑加速库和开源库的选择,但是开源的速度让我们看到这些新选择完全没问题。

基于因特尔CPU+英伟达GPU的大模型训练基础架构

当前主流的大模型架构都是基于transformer的架构,属于一种深度学习架构的模型。使用GPU训练深度学习架构的大模型主要优势在于:

高性能计算:深度学习中的大部分计算都是浮点计算,包括矩阵乘法和激活函数的计算。GPU的设计目标是为了高性能图形渲染,因此它们在浮点计算方面表现出色。并行计算能力:GPU的另一个主要优势是其高度并行的计算架构。深度学习模型通常需要执行大量的矩阵乘法和向量运算,这些操作可以以高度并行的方式进行。GPU具有大量的处理单元,能够同时执行多个计算任务,从而提高了训练深度学习模型的效率。高内存带宽:GPU提供高达几百GB/s的内存带宽,满足深度学习模型对数据的大容量访问需求。

然而,大模型的训练只有GPU是不够的。GPU主要负责并行计算和深度学习模型的训练,而CPU则负责处理数据的预处理、后处理以及管理整个训练过程的任务。GPU和CPU之间的协同工作可以实现高效的大规模模型训练。

那么,为什么当前大多数大模型训练采用因特尔的CPU加英伟达的GPU作为计算基础设施呢?

首先就是因英特尔的CPU和英伟达的GPU在同等级产品中性能很强。英特尔的CPU在12代之后更换了Alder Lake架构,采用英特尔7制造工艺,通用计算方面非常强。而英伟达最新的GPU H100的显存带宽为3.35TB/s,显存大小为80GB,显卡间通信速度900GB/s。对于大数据吞吐和并行计算来说支持十分友好。 其次, 重要的是二者都有广发的支持和生态系统。不管是基于因特尔CPU所提供的AVX2指令集,还是基于英伟达GPU提供的并行计算的平台和编程模型CUDA都是加速大模型训练最优秀的底层加速库,基于这些加速库构建的PyTorch等上层应用构建了非常高的竞争壁垒 最后,因特尔的CPU和英伟达的GPU都具有较好的兼容性和互操作性。它们在硬件和软件方面的设计考虑了互相配合使用的需求,能够很好地协同工作。这种兼容性和互操作性使得因特尔的CPU和英伟达的GPU成为一种流行的组合选择,被广泛应用于大规模模型训练。

当然还有其他的我们不一一列举。但是显然这些优点共同支撑了英特尔CPU和英伟达GPU在大模型训练领域的市场份额。

不过,最新的进展表明。苹果的M2 Ultra和AMD的架构也可能是一些情况下的更好选择。

苹果的M2 Ultra和统一内存架构

是的,你没看错,是苹果在WWDC 推出的M2 Ultra芯片。为什么这样一个好像是CPU的M2 Ultra芯片能够在大模型训练与英特尔CPU+英伟达GPU组合竞争呢?这主要是因为苹果的一个所谓的统一内存架构和超高的内存带宽。

首先,我们看一下M2 Ultra的芯片参数和4090以及A100的对比(CPU采用英特尔最新的i9-13900KS):

这里面几个重要的概念解释一下,首先是CPU与GPU之间的通信在传统的英特尔+英伟达独立显卡的架构下,一般通过PCIe进行,目前最强的H100支持PCIe Gen5,速度为128GB/s,而A100和4090都是PCIe 4,速度是64GB/s。这部分影响数据预处理和训练后的处理以及训练过程管理等。

另外一个重要的参数是GPU的显存带宽,指GPU芯片与显存之间的读写速度,它是真正影响训练速度的因素,可以看到,英伟达4090显卡的显存带宽1.15TB/s,A100和H100的结果为1.99TB/s和3.35TB/s。

最后一个比较重要的参数是显存大小,目前4090是消费级显卡天花板:24GB,A100和H100单张显卡都是80GB。

从这些参数看,苹果的M2 Ultra比4090水平略低,与专业级显卡比则比较差。但是,M2 Ultra最重要的是统一内存,即CPU读写的内存可以被显卡直接当显存用。因此192GB的显存几乎可以理解为8个4090或者是2.5个A100/H100。那么,这意味着单个M2 Ultra芯片可以一次装入很大的模型。目前开源领头羊LLaMA 65B需要120GB显存才可以推理。这意味着,苹果这个M2 Ultra可以直接使用LLaMA 65B,而目前没有任何其它的芯片可以单张芯片载入这么大模型,包括最新的H100。

从上述指标对比看,M2 Ultra在其它指标接近4090的情况下,显存大小可以成为最大的优势。尽管M2 Ultra不是为了大模型训练打造的,但是这个架构正好适合用来做大模型训练。

在上层生态的进展也是很好的。5月18日,PyTorch官宣支持苹果芯片,开始适配M1 Ultra,使用了苹果提供的芯片加速库MPS(/metal/ )。因此,现在大家可以直接用PyTorch在苹果M2 Ultra上运行了。以文本生成图片为例,它可以一次生成更多更高精度的图片。

不过英伟达的专业级显卡A100/H100可以用8张卡连在一起,基本与一张卡使用类似。但是,这个成本也是极其高昂的!

关于这部分内容推荐大家看林亦LYi昨天发布的评测视频: /video/BV1fh4y1M7DX/?spm_id_from=333.337.search-card.all.click&vd_source=058cd1d3e65cc35d840e2babbe0c983c

AMD的大模型训练生态

除了苹果M2 Ultra在大模型训练上出现了不错的进展外,AMD的生态也在加速追赶。此前苏妈似乎对AMD这方面不太上心,尽管发布了AMD的米兰系列显卡,但是基于芯片的加速库开发似乎一直进展缓慢。而前几天,MosaicML宣布建立了基于AMD的大模型训练软硬件体系。用以直接和英特尔+英伟达对标。

可以看到,AMD的底层已经构建了可以完整对标英特尔+英伟达的大模型训练体系。包括各种加速库以及显卡之间的通信库等。而MosaicML基于AMD这套系统适配的AI框架也可以更好地支撑大模型的训练。当然,这里也离不开PyTorch2.0对ROCm 5.4+的支持。

使用PyTorch 2.0和ROCm 5.4+,在AMD MI250上进行的LLM训练可以直接运行,无需进行任何代码更改,只需使用MosaicML的LLM Foundry训练框架即可。

这套体系的特点:

LLM训练非常稳定:使用AMD MI250和NVIDIA A100训练MPT-1B LLM模型时,从相同的检查点开始,损失曲线几乎完全相同。甚至能够在单次训练中随时切换AMD和NVIDIA!性能与现有的A100系统相媲美:MosaicML对具有1B到13B参数的MPT模型的训练吞吐量进行了性能分析,并发现MI250的每个GPU吞吐量与A100-40GB相比在80%的范围内,并且与A100-80GB相比在73%的范围内。随着AMD软件的改进,官方预计这一差距将会缩小。基本没啥代码改动:得益于PyTorch对ROCm的良好支持,基本无需改动代码。

总结

大模型正在快速发展,尽管英特尔+英伟达体系是最为主流的方法。但是成本也不低。而随着苹果M系列芯片的发展以及AMD生态的完善,相信成本和性能都在快速增长以支持大模型的进一步发展。

比较可惜的是国内这部分基本上还没有拿得出手的竞争产品。此前,包括华为的昇腾芯片,宣称接近A100的性能,但是随着新的制裁政策显然发展也比较慢。不过,相比较而言,上层的训练和推理框架则相对发展丰富,包括MindSpore、Oneflow等国产优秀框架都是不错的。

期待国产底层硬件也有进一步发展~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。