||
郑纬民 中国工程院院士,清华大学计算机科学与技术系教授,中国计算机学会第十届理事长,数博会专家咨询委员会委员,《大数据》主编,何梁何利科学与技术进步奖获得者,中国存储终身成就奖获得者,享受国务院政府特殊津贴。获北京市优秀教师奖和北京市教学名师称号,获国家科技进步奖一等奖1项、二等奖2项,国家技术发明奖二等奖1项,2016年获ACM戈登·贝尔奖。2019年当选中国工程院院士。主要研究方向为网络存储系统,长期从事网络存储系统科学研究、工程建设和人才培养,在存储系统扩展性、可靠性和集约性等科学问题和工程技术方面,取得了国内外同行认可的创新性成果;研制的网络存储系统、容灾系统和自维护存储系统在多个重大工程中发挥了重要作用。教学方面长期讲授计算机系统结构课程,2008年被评为国家级精品课程;已编写和出版计算机系统结构教材和专著10本,与合作者一起发表论文530余篇。
DOI:10.11959/j.issn.2096-0271.2024016
郑纬民. 构建支持大模型训练的计算机系统需要考虑的4个问题[J]. 大数据, 2024, 10(1): 1-8.1 三大算力系统目前,有3种支持大模型训练的算力系统,分别为基于英伟达公司GPU的系统、基于国产AI芯片的系统,以及基于超级计算机的系统,3种算力系统各有优劣。
目前国内已经有30多家公司推出了国产芯片,并取得了很多优秀的成果,进步很大。但用户不喜欢用国产AI芯片,最主要的原因是国产AI芯片的生态系统不好。要改变国产AI芯片生态系统不好的局面,需要做好10个关键软件,分别是:编程框架、并行加速、通信库、算子库、AI编译器、编程语言、调度器、内存分配系统、容错系统、存储系统。目前,上述10个软件都有国产的,但仍存在不足,比如种类做得不够齐全、性能不够好等。如果国产AI芯片硬件性能达到国外芯片性能的60%,只要把软件和生态做好,用户也会满意的。
3 做好软硬件协同设计,超算也可以支持大模型训练目前,我国超算水平已经处于国际第一梯队,有14个国家一级超算中心,另外还有不少由地方和行业建设运营的超算中心。部分超算中心的算力利用率并不饱和,可将空闲算力用于大模型训练。
3.1 新一代神威超级计算机如图1所示,新一代神威超级计算机采用全新的申威SW26010-Pro处理器,性能比上一代提高了4倍。它配备了96 000个处理器,共计37 440 000个核,半精度性能达到5.308 EFLOPS。此外,它的内存空间超过9 PB,聚合带宽高达23 Pbit/s。
图1 神威高性能计算机体系结构
3.2 利用超级计算机做大模型训练面临的3个问题
(1)新型硬件层出不穷
为了打破存储墙对应用程序计算性能的桎梏,新型存储器件(如固态存储设备SSD等)也被广泛应用于高性能计算机。国内正在积极探索硬件的国产化之路,新一代的神威、天河等超级计算机均采用了国产的处理器和加速器,如图2、图3所示。
图2 基于申威系列处理器的神威超级计算机
图3 基于飞腾处理器和迈创系列加速器的天河超级计算机
(2)新型应用程序快速发展近年来,新型的应用程序也在快速发展,如基于张量计算的人工智能应用、基于图数据的图计算应用、面向大规模数据的大数据应用等,如图4所示。如何在新型硬件系统上设计与优化新型应用程序,是一个亟待解决的关键问题。
图4 新型应用与新型硬件
(3)整体系统工程化的挑战
软硬件都在快速发展,整体系统工程化仍面临一定的挑战。如图5所示,在硬件层面,新型异构高性能计算机的体系结构在计算、网络、存储等方面存在硬件复杂性;在软件层面,不规则应用程序导致节点间负载不均衡、并行扩展难。
图5 整体系统工程化的主要挑战
3.3 软硬件协同设计与优化“八卦炉”是清华大学联合北京智源人工智能研究院、阿里达摩院等开发的超大规模预训练模型,模型参数接近于人脑中的突触数量,比GPT3多1 000倍。“八卦炉”的模型训练是在青岛超算中心完成的,以“八卦炉”的训练为例,介绍大规模预训练模型系统如何进行软硬件协同设计与优化。
(1)拓扑感知的混合并行策略
分布式训练能够加速深度学习模型的训练过程,是大模型常用的训练方式。当前分布式训练并行策略各异,各自具有特定的通信模式,如图6所示。简单使用单一并行策略,可能导致严重的性能降级,比如网络裁剪的影响。
图6 3种典型的大模型并行训练方式如何在新一代神威的网络上高效训练模型?拓扑感知的混合并行策略,面向网络拓扑结构选择合适的并行模式,将通信需求更高的任务分配到高带宽网络。相比对称策略,拓扑感知的混合并行策略的性能提升可达到1.6倍。
(2)体系结构感知的访存性能优化
如图7所示,申威26010 Pro异构处理器配备了6个存储控制器。核组和存储控制器通过片上环形网络互连,访存操作经环形网络到存储控制器进行处理。环形网络和存储控制器是影响访存操作性能的主要瓶颈。
图7 申威26010 Pro异构处理器
环形网络的一个潜在问题是网络拥塞。如图8所示,当CPU的390个核同时访问内存时,大量请求被提交到环形网络,环形网络无法及时处理请求,从而导致网络拥塞,应用程序的访存性能会明显下降。
图8 环形网络的网络拥塞
如何优化访存性能,可以参考以下方法:
(3)大规模检查点存储性能优化
机器在执行大规模训练任务时负载重,发生软硬件错误的概率高。因此,写容错检查点在大规模训练中至关重要。
容错
检查点
原理 在故障发生前将当前的软硬件状态存储到硬件中,存储完成后继续训练。当机器发生故障时,可直接取出硬盘中存储的软硬件状态,从这个状态继续训练。
问题 大模型的训练参数非常庞大,检查点需要存储大量的数据,会耗费很长时间。未经优化时,写一次检查点可能需要耗费多个小时。
如何优化检查点存储?一是使用高性能的存储硬件,如SSD、高速磁盘;另一方法是优化文件系统算法,利用并行I/O技术,将检查点数据划分为多个块,并通过多个存储节点并行写入。经过优化,我们在青岛的超级计算机上写一次容错检查点只需20 min。大规模预训练模型系统将以上优化方法整合到神威平台,并且做了以下调整。
“八卦炉”大模型的训练被扩展到新一代神威超级计算机的全机规模,这是首次在国产超算平台上支持完整的预训练流程,首次支持高达百万亿规模的模型训练。通过软硬件协同设计与优化,依托超算算力资源进行大模型训练完全可以达到英伟达GPU平台的性能。除此之外,我们团队目前已经在青岛超算中心成功适配了LLaMA大模型和国内的百川大模型,半精度和全精度的训练效果可以与英伟达GPU平台完全对齐,而成本只需要英伟达平台的六分之一。
4 大模型基础设施的4个问题大模型基础设施通常是指用于训练和部署大规模深度学习模型的庞大计算和存储系统。在搭建大模型基础设施时,需要考虑多个方面的问题,以确保系统的性能、可靠性和可扩展性。
(1)半精度运算性能与双精度运算性能的平衡
根据团队经验,双精度与半精度运算性能之比为1:100~1:50比较合适。根据科学智能(AI for science)和大模型训练的发展趋势,我们提出了变精度平衡设计的思想,为适应科学计算和更广泛的AI算法和应用提供了保障。
(2)网络平衡设计
网络设计不能只针对CNN类算法,还需考虑大规模预训练模型对系统的需求。大规模预训练模型需要高带宽、低时延的网络,这个网络要支持数据并行、模型并行和专家平行等模式。
(3)内存平衡设计
大量访问内存的请求会导致网络拥塞,吞吐量大大降低,应用程序的访存性能会显著下降。多个访问内存的请求可能访问同一存控对应的内存空间,负载不均,存控需要顺序处理访存请求。因此,要做好体系结构感知的内存平衡设计。
(4)I/O子系统平衡设计
系统的本地NVMe SSD仅通过本地文件系统访问,这限制了其应用范围,可将每台服务器上的快速本地NVMe整合成应用可见的全局分布式文件系统。此外,I/O子系统可以通过增加SSD来支持检查点。
英伟达GPU的利用率为50%左右,而国产卡很多只能达到20%。为什么只有20%?就是这4个问题没解决好。大模型基础设施的4点平衡设计做得好,别人要用1万块卡,我们可能用9 000块卡就可以了。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 21:34
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社