超万卡集群的新型智算技术
共 8461字,需浏览 17分钟
·
2024-05-18 15:51
随着大模型从千亿参数的自然语言模型向万亿参数的多模态模型升级演进,超万卡集群亟需全面提升底层计算能力。具体而言,包括增强单芯片能力、提升超节点计算能力、基于DPU(Data Processing Unit)实现多计算能力融合以及追求极致算力能效比。这些系统性的提升将共同支持更大规模的模型训练和推理任务,满足迅速增长的业务需求。
1、单芯片能力
超万卡集群中,单芯片能力包括单个GPU的计算性能和GPU显存的访问性能。在单个GPU计算性能方面,首先需要设计先进的GPU处理器,在功耗允许条件下,研发单GPU更多并行处理核心,努力提高运行频率。其次,通过优化高速缓存设计,减少GPU访问内存延迟,进一步提升单GPU芯片运行效率。第三,优化浮点数表示格式,探索从FP16到FP8浮点数的表示格式,通过在芯片中引入新的存储方式和精度,在保持一定精度条件下,大幅提升计算性能。最后,针对特定计算任务,可在GPU芯片上集成定制化的硬件加速逻辑单元,这种基于DSA(DomainSpecificArchitecture)的并行计算设计,可提升某些特定业务领域的计算速度。
在GPU显存访问性能方面,为了将万亿模型的数据布放在数万张GPU显存上,要求显存支持高带宽、大容量的能力,确保计算单元能够高效完成访存任务,维持系统的低能耗运行。为便捷访问显存数据,建议GPU显存采用基于2.5D/3D堆叠的HBM技术[6],减少数据传输距离,降低访存延迟,提升GPU计算单元与显存之间的互联效率。
通过这些技术的实施,超万卡集群不仅能够为智算中心提供强大的单卡算力处理能力,还能为未来更大规模的模型训练和推理任务奠定坚实的硬件基础。
2、超节点计算能力
针对万亿模型的训练与推理任务,特别是在超长序列输入和MoE架构的应用背景下,应重点优化巨量参数和庞大数据样本的计算效率,满足由此引发的All2All通信模式下的GPU卡间通信需求。为此,建议超万卡集群的改进策略集中在以下几个关键领域:
●加速推进超越单机8卡的超节点形态服务器
为满足万亿或更大参数量模型的部署需求,建议产业界致力于研制突破单机8卡限制的超节点形态服务器,通过利用提高GPU南向的Scale up互联能力,提升张量并行或MoE并行对大模型训练任务的收益,实现性能跃升,缩短训练总时长,实现大模型训练整体性能的优化。
●加快引入面向Scale up的Switch芯片
建议在节点内集成支持Scale up能力的Switch芯片,以优化GPU南向的互联效率和规模,增强张量并行或MoE并行的数据传输能力。如图2所示,通过引入节点内的Switch芯片,以增强GPU卡间的点对点(Point to Point,P2P)带宽,有效提升节点内的网络传输效率,满足大模型日益增长的GPU互联和带宽需求为大规模并行计算任务提供强有力的硬件支持。
●优化GPU卡间互联协议
以实现通信效率跃升建议对GPU卡间互联协议进行系统性优化和重构,以提升All2All模式下的通信效率。通过重新设计卡间通信过程中的数据报文格式、引入CPO/NPO、提高和优化SerDes传输速率、优化拥塞控制和重传机制以及多异构芯片C2C(Chip-to-Chip)封装等多种途径,提高超万卡集群的GPU卡间互联的网络利用率,减少通信时延,实现带宽能力跃升,从而支持所需的更高频次、更大带宽和更低延迟通信特性。
3、多计算能力融合
面向超万卡集群,考虑到智算中心内部成倍增长的数据交换需求,通过堆叠CPU资源来处理网络数据的做法无疑是低效且昂贵的,对此,智算中心的计算架构需要转变方向,将原本运行在CPU、GPU中的数据处理任务卸载至具有层级化可编程、低时延网络、统一管控等特性的DPU上执行,在大幅扩展节点间算力连接能力的同时,释放CPU、GPU的算力,降低节点间的CPU、GPU协作成本,支撑集群发挥更大的效能。
具体地,可以对智算中心进行软硬一体重构,打造计算、存储、网络、安全、管控五大引擎,定义标准化的DPU片上驱动内核:
●计算引擎卸载加速I/O设备的数据路径与控制路径,面向节点提供标准化的virtio-net(Virtual l/O Network)、virtio-blk(Virtiual l/O block)后端接口,屏蔽厂商专用驱动。
●存储引擎在DPU上实现存储后端接口,可基于传统TCP/IP网络协议栈或RDMA(Remote Direct Memory Access)网络功能连接块存储集群、对象存储集群、文件存储集群及文件存储集群,将节点的全类型存储任务卸载至DPU中完成。
●网络引擎将虚拟交换机卸载至DPU上,采用标准的流表和卸载接口实现网络流量的卸载,全线速释放硬件性能;同时集成RDMA网络功能,降低多机多卡间端到端通信时延,提升多机间端到端通信带宽至400G级别,构建节点间数据交换的“高速通道”。
●安全引擎通过信任根机制以及标准的IPsec等加密通讯协议对系统和多租户网络进行安全防护,并基于DPU提供有效的卸载方案。
●管控引擎屏蔽裸金属、虚拟机和容器等算力单元的形态差异,实现DPU资源统一管理和全链路管控运维。
● 以上述五大引擎为蓝图,中国移动于2020开始打造具有自主知识产权的磐石DPU,并于2021年正式推出磐石DPU版本。经过移动云现网的打磨,中国移动持续升级磐石DPU产品能力,并于2024年将磐石DPU的FPGA架构全面升级为ASIC架构,旨在围绕磐石DPU软硬融合重构算力基础设施,重新定义算力时代云计算技术新标准,构建算力时代新技术曲线。
将以磐石DPU为代表的DPU芯片融入现有智算中心技术体系,将算力集群由CPU+GPU双平台支撑扩展至由CPU+GPU+DPU三平台支撑,可以有效联合集群节点间因数据I/O瓶颈而产生的算力孤岛,突破现有技术架构下的集群规模极限,使超万卡集群成为可能。
4、极致算力能效比
在制程工艺相对固定的条件下,芯片的高性能无疑会增加芯片的功耗,从而影响整机的散热。面对高性能计算芯片功率密度急剧上升的现状,需要通过制冷系统和GPU芯片两方面进行优化。
在制冷系统方面,当前单机8卡GPU 服务器功耗已经数倍于通用服务器,由于GPU的散热量大幅增加,为了增加计算密度,节省空间,超万卡集群建议采用当前较成熟的高密度冷板式液冷机柜,一个液冷机柜可容纳多台液冷GPU训练服务器,相比传统风冷机柜大幅提升空间利用率。
在GPU芯片方面,为了提升GPU单芯片的能效比,应采取多领域的优化策略,实现高性能与低能耗之间的平衡。在芯片工艺领域,建议采用更加先进的半导体制造工艺,如7nm或更小的特征尺寸,以此降低晶体管的功耗,同时提升单芯片集成度。此外,应加强超万卡集群内GPU架构的创新设计,包括优化片上总线设计、改进流水线结构、优化电压和频率策略以及精确的时钟门控技术,从而在不同工作状态下实现最优的能耗效率。在软件层面,超万卡集群应采用更加精细的监控和分析,实时跟踪GPU的运行数据,并不断优化算法和工作负载分配,以实现更加均衡和高效的算力利用。通过上述设计和优化,不仅能提高用户的计算体验,降低成本,也为智算中心可持续发展和绿色环保提出了可行方案。
5、高性能融合存储技术
为了实现存储空间高效利用、数据高效流动,并支持智算集群大规模扩展,超万卡集群应采用多协议融合和自动分级存储技术,提升智算数据处理效率,助力超万卡集群支撑千亿乃至万亿大模型训练。
6、多协议融合
超万卡集群融合存储底座承载Al全流程业务数据处理,兼容Al全流程工具链所需的NFS(Network File System)、S3(Sample Storage Service)和并行客户端POSIX(Portable Operating System Interface)等协议,支持各协议语义无损,达到与原生协议一样的生态兼容性要求,在不同阶段实现数据零拷贝和格式零转换,确保前一阶段的输出可以作为后一阶段的输入,实现Al各阶段协同业务的无缝对接,达到“零等待”效果,显著提升大模型训练效率。
7、集群高吞吐性能
为满足超万卡集群大模型对于存储高吞吐性能需求,基于全局文件系统技术,可支持超3000节点扩展规模,为大模型训练提供百PB级全闪存储大集群能力,从闪存密度、数据面网络、并行客户端和对等通信机制等多个维度全面提升存储系统性能,实现存储集群10TB/s级聚合吞吐带宽、亿级IOPS,智能算力利用率提升20%以上,大模型checkpoint恢复时长从分钟级提升至秒级,同时对高价值智算存储数据提供强一致性访问和99.9999%可靠性能力。
8、大规模机间高可靠网络技术
超万卡集群网络包括参数面网络、数据面网络、业务面网络、管理面网络。业务面网络、管理面网络一般采用传统的TCP方式部署,参数面网络用于计算节点之间参数交换,要求具备高带宽无损能力。数据面网络用于计算节点访问存储节点,也有高带宽无损网络的诉求。超万卡集群对参数面网络要求最高,主要体现在四个方面:大规模,零丢包,高吞吐,高可靠。
目前业界成熟的参数面主要包括IB(InfiniBand)和RoCE两种技术。面向未来Al大模型演进对网络提出的大规模组网和高性能节点通信需求,业界也在探索基于以太网新一代智算中心网络技术,包括由中国移动主导的全调度以太网(GlobalScheduled Ethernet,GSE)方案[6]和Linux Foundation成立的超以太网联盟(UltraEthernet Consortium,UEC),两者通过革新以太网现有通信栈,突破传统以太网性能瓶颈,为后续人工智能和高性能计算提供高性能网络。中国移动也将加速推动GSE技术方案和产业成熟,提升Al网络性能,充分释放GPU算力,助力Al产业发展。
9、大规模组网
根据不同的Al服务器规模,参数面网络推荐采用Spine-Leaf两层组网或胖树(Fat-Tree)组网。
Spine-Leaf两层组网如图3所示。每8台Leaf交换机和下挂的Al服务器做为一个group,以group为单位进行扩展。在group内部,推荐采用多轨方案将Al服务器连接至Leaf交换机,即所有Al服务器的1号网口都上连至Leafl,所有2号网口上连至Leaf2,依此类推,所有8号网口上连至Leaf8。Spine交换机和Leaf交换机之间采用Fullmesh全连接。Leaf交换机上下行收敛比为1:1。
胖树(Fat-Tree)组网由Leaf交换机、Spine交换机和Core交换机组成,如图4所示。每8台Leaf交换机和下挂的Al服务器做为一个group,8台Leaf交换机又和上面N台Spine交换机组成一个pod,胖树组网以pod为单位进行扩展。在胖树组网中,Spine交换机和Leaf交换机之间采用Fullmesh全连接,所有Spinel都Full-Mesh连接至第一组Core,所有Spine2都Full-Mesh连接至第二组Core,依次类推。Spine交换机和Leaf交换机上下行收敛比都为1:1。
10、高容错高效能平台技术
智算平台是智算中心承载模型训练、推理和部署的综合性平台系统,在智算中心技术体系架构中承担着重要的角色,对算力基础设施进行统一纳管、调度、分配和全生命周期管理,主要包含对计算、存储、网络等laaS资源的云化管控,在此基础上通过云原生的容器底座能力,实现智算资源纳管分配、Al任务作业调度、拓扑感知调度、训练全链路监控等满足智算业务的核心需求。
11、断点续训高容错能力
大模型训练面临的困难在于确保训练任务能够持续进行而不中断。在训练过程中,可能会遇到硬件故障、软件故障、网络故障以及其他故障。这种频繁中断导致的训练进度的损失对于耗时又耗资源的大模型训练来说是难以承受的,需要具备自动故障检测和训练重启。当前业界大模型训练主要容错方案依赖于训练过程中周期性保存checkpoint,故障发生后从上一个周期性checkpoint重新启动训练。
基于平台的运维监控能力,可以实现对超万卡集群的软硬件故障检测和预警,但是当故障发生且导致模型训练中断或停止时,通常需要人工介入排查故障信息,隔离故障并重新触发容器pod资源调度,重新完成并行训练中集合通信的初始化,重新加载基于中断前最近一次保存的checkpoint信息,最后经历算子库的重新编译,完成训练任务的继续。
在断点续训过程中,checkpoint是模型中断训练后恢复的关键点,因此checkpoint密集程度、保存和恢复的性能尤为重要,checkpoint本身的耗时与模型的大小成正比,当模型参数达到百亿甚至千亿时,checkpoint的时间开销通常在几分钟到十几分钟之间。此时,训练任务需要暂停,使得用户难以频繁进行checkpoint操作,因此为保证训练效率,会适当拉长checkpoint保存周期。然而,一旦发生中断,之前损失的迭代次数在恢复时需要重新计算,需要花费更长的时间。
为解决该问题,需要尽量降低checkpoint流程的开销,既能大幅降低训练暂停时间,也能支持高频的checkpoint来减少容错时浪费的迭代步数。业界通常采用checkpoint多级存储的方式,构建基于更高10性能的内存介质构建存储系统,相比于磁盘或者网络文件存储系统,checkpoint在内存空间的保存可以大幅缩短训练暂停等待时间。同时,结合业务需求定期地将checkpoint异步写入到持久化的存储系统中,异步流程不干扰正常的训练。当发生故障导致训练任务重启时,由于内存系统中的checkpoint数据并未丢失,新启动的训练进程可以直接读取内存系统中的checkpoint数据来加载模型和优化器状态,从而省去了读取网络存储系统的IO开销。
本号资料全部上传至知识星球,更多内容请登录智能计算芯知识(知识星球)星球下载全部资料。
免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言联系删除,谢谢。
温馨提示:
请搜索“AI_Architect”或“扫码”关注公众号实时掌握深度技术分享,点击“阅读原文”获取更多原创技术干货。