华为云:2024年EMS弹性内存存储技术白皮书_第1页
华为云:2024年EMS弹性内存存储技术白皮书_第2页
华为云:2024年EMS弹性内存存储技术白皮书_第3页
华为云:2024年EMS弹性内存存储技术白皮书_第4页
华为云:2024年EMS弹性内存存储技术白皮书_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华为云计算技术有限公司非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部您购买的产品、服务或特性等应受华为云计算技术有限公司商业合同和条款的约或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约地址:贵州省贵安新区黔中大道交兴功路华为云数据中心邮编网址:/文档版本01(2024-03-301)版权所有©华为云计算技术有限公 3 4 4 5 52.2.2DRAM利用率低 6 6 8 10 11 11 12 12 12 13 14 15 16 16 17 18 18 193.5.1Embedding池化存储 203.5.2Embedding均衡打散 20 21 文档版本01(2024-03-301)版权所有©华为云计算技术有限公司 基于大模型的生成式AI技术的重大突破推动了人工智能的应用范围从传统的分类任务扩展至广泛的生成任务,引发了AI应用的爆发性增长,并引领IT产业迈入全新的“AI时代”。随着AI产业的迅猛发展,云计算基础设施也在从以通用算力为核心向以智能算力为核心转变。在这种新型云计算基础设施中,数据的“算力”和“存力”是相辅相成的。尽管云数据中心在智能算力方面取得了显著进步,但是在存力方面的不足已成为制约效率的关键瓶颈。存力问题主要表现在三个方面:持久化存储性能不足、DRAM利用率低、以及HBM内存墙问题。为解决这些存力问题,华为云推出了全球首创的弹性内存存储服务EMS(ElasticMemoryService一种以内存为主要存储介质的云基础设施服务。通过EMS,华为云将传统的“计算-存储”分离的两层云架构升级为“计算-内存-存储”分离的三层云架构,其中新增的“内存层”即为EMS。这种新型的三层云架构能有效解决上述存力痛点,从而具有高资源弹性、高资源利用率和高性能等优势。具体来说,EMS通过以下方式解决三大存力问题:1)作为计算与存储之间的高性能缓存层,使用DRAM介质缓存来自HDD和SSD的数据,显著提升数据访问速度,解决“持久化存储性能不足”问题;2)将AI服务器中的DRAM资源解耦并池化,形成EMS内存池,实现DRAM资源的按需分配和高效利用,解决“DRAM利用率低”问题;3)扩展AI加速器中的HBM内存,通过DRAM内存容量和带宽的补充,大幅提升AI训练和推理的性能,解决“HBM内存墙”问题。EMS的软件架构主要由分布式内存池、领域专用服务SDK和管理控制面三部分组成,具备易用性、弹性扩展和高可用性。分布式内存池提供跨节点的内存管理、数据负载均衡和数据恢复等功能,确保内存数据存储的低成本、高扩展性和高可用性。领域专用服务SDK提供针对不同AI场景的内存加速技术,如在AI推理场景中,通过以存代算、显存扩展和计算卸载技术降低首token时延,提升解码吞吐量,并支持更长的序列长度。在AI训练场景中,通过并行训练拓扑感知的检查点读写技术,实现极低的检查点操作时延。在推荐模型场景中,通过Embedding存取优化技术,实现高性能访问。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司 近年来,随着基于大模型的生成式AI技术的显著进步,人工智能的应用领域已从传统的分类任务扩展至包括文本对话、图片生成、视频生成、代码生成、Copilot、数字人等在内的生成类任务。这一变革推动了IT产业进入了一个全新的时代——“AI时代”,也预示着整个世界正迈向一个更加智能、高效、互联的未来。据Gartner预测,到2026年,超过80%的企业将采用生成式AI模型或在生产环境中部署支持此类技术的应用;到2028年,75%的企业软件工程师将依赖AI编码助手1。此外,AI技术的广泛应用预计将创造巨大的经济价值,根据Mckinsey的预测,生成式AI有望为全球经济贡献约7万亿美元,其中中国预计将贡献约2万亿美元2。随着AI产业的快速发展,云计算基础设施正从以通用算力为核心转向以智能算力为核心。OpenAI的统计数据显示,自2012年以来,最大规模的人工智能训练任务所需的计算量每3.4个月翻一番,至2018年该指标已增长了30万倍3。大模型的性能通常遵循规模法则(ScalingLaw)4,即模型参数、训练数据量和训练计算量的增加会带来模型性能的相应提升。这意味着,为了提高大模型的性能,训练和推理所需的算力将持续大幅增长。在未来,智能算力规模将远超通用算力规模。IDC预测,2022至2027年间,中国智能算力规模的年复合增长率将达到33.9%,而同期通用算力规模的年复合增长率为16.6%,到2027年,智能算力(FP16)规模将达到1117.4EFLOPS,而通用算力(FP64)规模是117.3EFLOPS5。华为预测,到2030年,全球AI计算(FP16)总量将达到105ZFLOPS,较2020年增长500倍,而通用算力(FP32)总量是3.3ZFLOPS6。在以智能算力为中心的新型云计算基础设施中,数据的“算力”和“存力”是相辅相成的。一方面,强大的数据算力(包括GPU、NPU等算力单元)需要充足的数据存力(如HBM、DRAM、SSD等存储单2《生成式AI在中国:2万亿美元的经济价值》,麦肯锡,2023年9月.3“AIandCompute”,OpenAI,May2018.4Kaplanetal."ScalingLawsforNeuralLanguageModels."arXivpreprintarXiv:2005《中国人工智能计算力发展评估报告,2023-2024》,IDC,2023年16《智能世界2030》,华为,2021年9月.文档版本01(2024-03-301)版权所有©华为云计算技术有限公司元)来保证数据处理的连续性和稳定性。另一方面,高效的数据存力也需要数据算力的支持,以便对存储的数据进行有效处理和利用。数据的算力和存力之间存在着紧密的联系和相互依赖。尽管云数据中心中的AI算力持续增强,数据存力的不足已成为制约其效率的关键瓶颈。存力的痛点主要表现在三个方面:持久化存储性能不足、DRAM利用率低、以及HBM内存墙问题。随着AI大模型和AI系统技术的迅速发展,传统的持久化存储介质已难以满足大模型训练和推理的高性能需求。近年来,大模型的参数数量呈指数级增长,导致模型大小急剧增加。例如,GPT-3的参数数量为1750亿,而据推测GPT-4的参数数量将达到1.76万亿。若使用FP16格式存储模型参数,GPT-3的模型大小约为350GB,GPT-4则约为3.52TB。在模型训练过程中,除了模型参数外,还需存储如优化器状态等其它信息,使得模型的Checkpoint大小通常是模型参数大小的6倍左右。在云环境中,这些大模型的参数和Checkpoint通常存储在持久化存储服务(如对象存储服务OBS)中,而云厂商提供的对象存储服务中单个租户桶的访问带宽一般在几十Gbps。因此,从对象存储服务中读取或写入一个模型往往需要几十分钟到数小时,这种长时间的读写延迟是不可接受的,会导致AI集群的计算资源等待,从而大幅增加AI集群的使用成本。图2-1:持久化存储的模型读取耗时与推理和训练的时延需求对比在模型推理过程中,AI加速器需要将模型参数加载到其HBM内存中进行推理。在Serverless推理场景中,AI加速器还需频繁切换不同的模型以满足不同用户的推理任务需求,这种模型切换的时延需求通常在秒级别。在模型训练过程中,AI集群的故障是不可避免的。当故障发生时,AI集群需要读取模型Checkpoint来恢复训练,此时所有参与训练的AI加速器(通常在几千到上万卡级别)都需要等待文档版本01(2024-03-301)版权所有©华为云计算技术有限公司Checkpoint的读取,这种读取时延需求也在秒级别。此外,在训练过程中,AI集群还需周期性地保存Checkpoint,Checkpoint的保存频率越高,故障发生时的训练时间损失越小。在保存Checkpoint的过程中,通常会造成AI加速器的阻塞,因此对Checkpoint写入的性能要求更高,写入时延需求在毫秒级别。如图2-1所示,AI推理和训练对大模型参数的读写时延需求与当前持久化存储的实际读写耗时之间存在2至4个数量级的差距。2.2.2DRAM利用率低当前的AI集群不仅包含AI加速器,还配备了大量的DRAM内存资源。例如,一台昇腾910服务器配置了8张NPU卡和1.5TB的DRAM,而NVIDIAGH200服务器中每张GPU卡则配备了512GB的DRAM。然而,在运行流行的大语言模型训练和推理任务时,这些DRAM资源的利用率却非常低。一项研究论文分析了两个较大规模的GPU集群的资源利用率情况,结果显示其中一个集群在90%的使用时间内DRAM利用率低于25%,另一个集群在76%的使用时间内DRAM利用率同样低于25%,且在几乎整个使用过程中,两个集群的DRAM利用率均未超过50%7。AI集群中DRAM利用率低的主要原因在于,AI服务器上的DRAM资源通常是按照各种负载场景的最大需求进行配置的,以确保能够运行所有类型的负载。这种配置策略导致在某些特定负载下DRAM利用率较高,而在大多数其它负载下DRAM利用率则较低。例如,在华为云的一个GPU服务器集群上,运行推荐模型训练时DRAM利用率接近100%,运行CV模型训练时DRAM利用率可达70%,但在运行大语言模型(LLM)训练时,DRAM利用率则低于35%。由于目前AI集群主要由LLM负载主导,因此DRAM的整体利用率普遍偏低。AI加速器(如GPU、NPU、TPU等)面临的HBM内存墙问题,已成为限制AI算力充分发挥的关键障碍。HBM内存墙主要包括内存容量墙和内存带宽墙两个方面。在内存容量墙方面,AI加速器的HBM内存容量增长速度远远落后于大模型存储需求的增长速度。如图2-2所示,典型的Transformer大模型的参数量每两年以240倍的速度增长,而业界典型的商用AI加速器的内存容量仅每两年翻两倍。这种大模型参数量与AI加速器HBM内存容量增长速度之间的巨大差距,意味着训练和推理一个模型需要更多的AI加速器,这将显著增加AI训练和推理的成本。此外,增加AI加速器数量的主要目的是为了让大模型能够存储在AI加速器的HBM内存中,这通常会导致AI算力的利7Hu,etal."Characterizationoflargelanguagemodeldevelopmentinthedatacenter."In21stUSENIXSymposiumonNetworkedSystemsDesignandImplementation(文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图2-2:SOTA模型的参数量增长趋势和AI硬件HBM内存容量增长趋势8在内存带宽墙方面,AI加速器的HBM内存带宽的增长速度远低于其算力的增长速度。如图2-3所示,过去20年间,单个AI加速器的峰值计算能力增长了9万倍,而内存访问带宽仅提高了30倍。这是因为提升硬件算力的工艺相对容易,而增加内存带宽的硬件工艺则难度较大。AI加速器内存带宽与算力增长速度之间的巨大差距,意味着在进行AI计算时,往往需要等待数据从内存中读取,这导致算力的利8AmirGholami,ZheweiYaoandmemorywall."IEEEMicro(2024).文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图2-3:AI加速器的计算能力、内存带宽和互联带宽的增长趋势8为了解决云基础设施中存在的上述三大存力痛点,华为云推出了全球首创的弹性内存存储服务EMS(ElasticMemoryService),一种以内存(如DRAM、HBM等)为主要存储介质的云基础设施服务。华为云将传统的“计算-存储”分离的两层架构升级为“计算-内存-存储”分离的三层架构,如图2-4所示,其中新增的“内存层”即为弹性内存存储服务EMS。这种包含EMS的新型三层云基础设施架构具有高资源弹性、高资源利用率和高性能等优势,能够有效解决上述三大存力痛点。首先,针对AI场景中“持久化存储性能不足”的问题,EMS作为计算层与存储层之间的高性能缓存层,利用DRAM介质缓存来自HDD和SSD介质的数据,显著提升数据访问速度。其次,针对AI场景中“DRAM利用率低”的问题,EMS将AI服务器中的DRAM资源进行解耦并池化,形成EMS内存池。EMS内存池中的DRAM资源根据不同计算任务的需求进行动态分配,从而实现内存资源的高效利用。计算层与内存层之间通过华为专有的高性能网络总线连接,确保内存资源解耦池化后的高访问性能。最后,针对AI加速器中的“HBM内存墙”问题,EMS利用内存池中的DRAM资源扩展AI加速器的HBM内存,通过增加DRAM容量来扩展HBM容量,并利用DRAM带宽补充HBM带宽,从而大幅提升AI训练和推理的整体性能。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图2-4:“计算-内存-存储”分离的新型三层云架构演进文档版本01(2024-03-301)版权所有©华为云计算技术有限公司 本章将首先阐述EMS的软件架构,随后探讨EMS内存解耦池化的关键技术,最后介绍EMS针对不同AI场景的内存加速关键技术。EMS的软件架构主要由三部分组成:领域专用服务SDK、分布式内存池和管理控制面,如图3-1所示。EMS的软件面向高易用性、高弹性扩展性和高可用性设计。图3-1:EMS软件架构领域专用服务SDK包含一系列面向不同AI应用场景的插件和接口服务SDK,提供业务系统接入、业务数据布局和近数据处理等功能,实现业务请求的内存加速。目前,该技术主要应用于大语言模型、多模态模型、推荐模型等的训练和推理,通过分布式内存池提升处理效率并降低成本。领域专用服务SDK的具体技术细节将在第3.3章、第3.4章和第3.5章中详细介绍。分布式内存池负责跨节点的内存空间管理、数据负载均衡和数据恢复等任务,通过空间池化、共享访问和故障切换等机制,确保系统具有低成本、高扩展性和高可用性。内存池提供两种部署模式:a)融合部署,即利用AI服务器中的DRAM,将DRAM内存池化以实现分布式共享,并进行本地亲和的调度和访问;b)分离式部署,即使用独立内存服务器提供内存池空间,通过高速内存总线实现对内存池空间的访问。分布式内存池的具体技术将在第3.2章中详细介绍。文档版本01(2024-03-301)管理控制面负责服务的部署、监控、升级及运维管理等功能,通过华为云的云原生基础设施为用户提供一站式的云上运维解决方案。在AI训练和推理场景中,AI服务器的数量可达数千至数万台,每个服务器上的DRAM内存通常按照最大需求进行配置和预留。然而,实际操作中,服务器间的内存利用率往往不均衡。由于DRAM是AI服务器成本的重要组成部分,池化DRAM以提高利用率和降低成本显得尤为重要。此外,随着“HBM内存墙”问题的日益凸显,EMS通过在HBM和DRAM之间进行卸载及相应的数据管理来解决这一问题。EMS内存池需要满足池化和卸载两个关键需求,具体技术将在后续章节详细介绍。图3-2:内存池融合部署架构内存池融合部署架构通过利用AI服务器内的本地DRAM进行池化管理,提升内存利用率,如图2-2所示。内存池化还带来了共享能力,使得卡间能够进行高效的数据共享,具体技术点如下。1)服务器内DRAM池化:AI加速卡根据需求从内存池中分配DRAM,避免了按卡粒度预留导致的卡间使用不均和利用率低的问题。2)服务器间DRAM池化:整个AI服务器集群形成一个大的内存池,解决了服务器间内存利用率不均的问题,提高了利用率并降低了成本。此外,任意AI节点能够访问任意缓存数据的能力,为AI训练和推理场景下的加速技术(如基于内存checkpoint的故障快速恢复、长文本推理和PD分离等)的应用提供了支持。3)数据访问亲和性调度:在典型场景下(如大模型训练Checkpoint和KVCache存储),通过亲和感知、动态均衡和预加载的方式,确保训练和推理过程中的高带宽内存访问需求,并在一定程度上解决了内存利用不均衡的问题。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司基于高速网络总线加速的分离式内存池,是EMS内存池化和容量卸载的最终形态,如图3-3所示。通过引入DRAM专有服务器硬件最大化降低成本,在内存使用均衡性、利用率和共享方面都提供了最优解。对外以一个整体展示,即体现在整柜硬件交付,也体现在如全局地址空间的空间管理能力。图3-3:内存池分离部署架构通过DRAM卸载解决HBM的内存容量墙问题,但在某些场景下,DRAM同样面临容量不足和成本过高的问题。EMS进一步将数据卸载到高速持久化存储介质(如SSD最终形成多级的分层卸载存储形式,如图3-4所示。通过引入AI训练和推理流程感知的算法,进行HBM和DRAM之间、DRAM和SSD之间的主动卸载和取回调度,使得在训推效率和成本上达成平衡。图3-4:分级存储技术示例在云数据中心中,通常拥有成千上万的AI服务器。EMS为如此大规模的AI服务器提供内存存储服务,也会具有较大的分布式规模。AI训练和推理过程中卸载到EMS中的数据如果丢失,将会造成AI任文档版本01(2024-03-301)版权所有©华为云计算技术有限公司务的中断或重新执行。EMS内存池提供基于副本和纠删码的内存数据冗余能力,以大幅提升数据的可用性,如图3-5所示。图3-5:内存数据冗余技术示例在本章节中,将首先探讨AI推理的背景及其面临的问题,随后详细介绍EMS针对AI推理的加速技在AI推理过程中,Transformer模型接收用户的问题输入,并通过迭代方式生成相应的回答。每个Transformer层由自注意力模块和前馈网络模块组成。在自注意力模块中,上下文词元(token)与模型参数结合,生成中间数据K(键)和V(值),并进行注意力计算。为避免在迭代生成过程中重复计算KV,生成的KV中间数据被存储在AI加速器的HBM内存中,形成KV缓存。每个词元的KV缓存大小取决于模型的维度、层数以及数据精度,计算公式为:单个词元的KV缓存大小=模型维度*模型层数*数据精度*2。例如,GPT3模型的数据维度和层数分别为12288和96,在双字节精度下,单个词元的KV缓存大小为12288*96*2*2字节=4.5MB。在推理过程中,每个推理请求所需的KV缓存大小与上下文长度成线性关系。例如,在GPT3模型的推理中,长度为2048的上下文将占用4.5MB*2048=10GB的AI加速器HBM内存空间。然而,AI加速器通常只能提供几十GB的HBM容量,其中一部分用于存储模型参数,仅剩余有效的空间用于KV缓存。例如,使用8张64GB的AI加速器部署GPT3模型,系统HBM总容量为8*64GB=512GB,其中350GB用于模型参数,剩余162GB仅能支持162GB/10GB=16个2048上下文长度的推理请求缓存KV值。因此,AI加速器能够同时处理的请求数量受限于HBM内存容量。综上所述,Transformer模型推理中存在严重的HBM内存墙问题。为解决这一问题,EMS提供了以下三种技术以加速AI推理:以存带算、显存扩展和计算卸载,如图3-6所示。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图3-6:AI推理场景中的EMS关键技术在Transformer模型的推理过程中,由于AI加速器的HBM内存容量限制,现有的推理系统无法在AI加速器的HBM中持续保存多轮对话的KV缓存。为了应对这一问题,系统通常会丢弃已处理对话的KV缓存,以腾出HBM空间来服务新的请求。然而,当这些被丢弃的KV缓存对应的对话再次出现时,系统必须重新计算这些KV缓存,如图3-7a所示。这种重复计算不仅浪费了计算资源,还增加了推理成本。为了减少成本并提升推理性能,EMS服务引入了以存代算技术CachedAttention9,如图3-7b所示。该技术利用EMS中的大容量多级内存池来存储和复用多轮对话中产生的KV缓存,而不是直接丢弃它们。具体操作是,当一个会话变为非活跃状态时,将相应的KV缓存保存到EMS中。当该对话重新激活时,再从EMS中加载并复用这些KV缓存,从而避免了重复计算。此外,EMS还采用了以下技术来优化缓存系统性能,如图3-8所示1)采用逐层预加载和异步保存策略,以减少加载和保存KV缓存的时间2)利用多级缓存结构,通过更大容量的存储介质提供充足的缓存空间3)通过自动感知调度器中的任务队列信息,实现多层次存储介质间的缓存调度,以提高访问效率4)将位置编码从KV缓存中分离,确保在模型上下文窗口长度溢出时KV缓存的可重用性。通过以存代算技术,EMS有效地避免了多轮对话中的重复计算,显著降低了首字时延,提高了预填充阶段的吞吐量,并降低了端到端的推理成本。9BinGao,ZhuominHe,PuruSharma,QingxuanKang,DjordjeJevdjic,JunboDeng,XingkunYang,ZhouYu,PengfeiZuo,“Cost-EfficientLargeLanguageModelCachedAttention”,inProceedingsofthe2024USENIXAnnualTechn文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图3-7:多轮对话中使用EMS图3-8:EMS以存代算技术由于AI加速器中的HBM内存容量限制,AI加速器可能无法容纳大的模型,或者即使能够容纳,也无法使用较大的批处理大小(BatchSize)。为了解决这一问题,EMS采用了显存扩展技术,以增加AI加速器的可用显存,从而支持运行超出HBM容量的模型或增加推理的批处理大小。在推理过程中,EMS将HBM中的KV缓存、模型权重等数据动态卸载到一个大容量的共享弹性内存池中,如图3-9所示。通过利用计算层与内存池之间的高性能网络总线,EMS实现了数据传输与计算过程的流水线并行,有效减少了内存池的访问开销。得益于这种大容量、高性能、共享访问的弹性内存池,EMS的显存扩展技术能够增加推理的批处理大小,进而提升AI推理的整体吞吐率。图3-9:EMS显存扩展技术文档版本01(2024-03-301)版权所有©华为云计算技术有限公司针对Transformer模型推理中遇到的HBM内存墙问题,EMS通过计算卸载技术将自注意力模块相关的KV缓存数据和轻量级算子卸载到内存池中,利用EMS中的DRAM容量扩展HBM的容量,并通过DRAM的内存带宽补充HBM的带宽,如图3-10所示。具体而言,Transformer模型的自注意力模块需要加载整个推理上下文的KV缓存以完成注意力分数的计算,这一过程涉及大量KV数据的读取,而相关算子的计算量相对较小。与此相反,前馈网络模块主要由计算需求较大的全连接网络算子构成,对存储容量的需求较小。EMS根据这些不同的计算特性,将自注意力模块和前馈网络模块分别在计算能力较小但存储能力较大的CPU侧和计算能力较大但存储能力较小的AI加速器上完成。同时,EMS根据推理任务的服务级别协议(SLA)需求,智能地决定卸载的时机和粒度,通过弹性内存池的大容量和大带宽优势缓解了HBM内存墙问题,采用异构推理方案提升了AI推理的端到端性能和性价比。图3-10:EMS计算卸载技术在AI大模型的训练场景中,通常需要成千上万张卡进行并行分布式训练。由于参与的机器数量众多,故障率也随之升高,这成为了提升大模型训练效率的一个主要障碍。例如,在OPT模型的训练报告中,平均每天会发生两次故障。为了确保训练任务能够在故障后恢复,训练过程中必须定期保存检查点(checkpoint),并在故障发生时加载这些检查点。因此,检查点的保存和加载速度对于训练效率至关重要。传统的做法是将检查点直接保存到持久化存储系统中,而EMS提出了一种新的方案,即使用分布式内存池来保存检查点,如图3-11所示。通过将检查点保存在EMS内存池中的DRAM介质上,故障后可以直接从DRAM内存中快速加载检查点,显著提高了保存和加载的速度。EMS内存池的多副本冗余机制确保了检查点的高可用性。此外,EMS还会根据需要将内存中的检查点保存到远程持久化存储系统,如SFSTurbo或OBS,形成内存与持久化存储相结合的多级存储方案,以解决DRAM介质的易失性问题。EMS的全内存检文档版本01(2024-03-301)版权所有©华为云计算技术有限公司查点方案包括三项关键技术:并行训练拓扑感知的检查点保存、基于参数面通信的检查点恢复和选择性检查点持久化。图3-11:AI训练场景使用EMS的架构由于DRAM内存的易失性,为了确保在EMS中保存的检查点数据具有高可用性,必须实施数据冗余策略。为此,EMS采用了一种结合并行训练和拓扑感知的检查点保存技术,该技术在实现数据冗余的同时,也大幅提升了保存性能。这种技术利用了数据并行训练中NPU卡之间的模型重复性,实现了内存检查点的多副本存储,也显著提升了检查点的保存效率。在数据并行训练中,模型冗余是自然产生的,这使得我们可以将同一数据并行组内各卡上的检查点视为相互冗余的副本。例如,当数据并行度设置为32时,意味着有32个相同的模型在并行训练。如果EMS需要保留3个检查点副本,那么在同一数据并行组内的32张卡中,每张卡只需保存3/32的检查点数据。所有卡的数据合起来,就能形成3个完整的检查点副本,满足EMS对副本数量的需求。在融合部署架构下,每张卡仅需将检查点数据写入到本节点的EMS上。这与传统的多副本备份方法不同,后者需要跨节点传输完整的检查点数据。而EMS通过在本地保存检查点数据即可实现多副本,极大地提高了训练效率,如图3-12所示。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图3-12:EMS中并行训练感知的检查点保存技术在使用数据并行的分布式训练中(并行度=N),在进行故障恢复时,N个NPU卡需要读取相同的检查点。如果通过VPC网络进行恢复,性能会受到限制。为此,EMS采用了一种基于NPU通信的检查点恢复方法,如图3-13所示。该方法首先感知模型训练的并行拓扑,识别出需要同一检查点的NPU卡。然后,利用本地内存先读取检查点,并根据感知的拓扑结构,通过NPU卡间的参数面通信来补全检查点。与传统的跨节点通信方式相比,EMS利用了高速的卡间带宽来获取检查点,从而大大提升了检查点的恢复效率。图3-13:EMS基于NPU通信的检查点恢复技术由于DRAM内存中的检查点可能因意外而丢失,因此进行持久化存储是必要的。然而,如果每次都将DRAM内存中的检查点保存到持久化存储中,将会严重影响性能,并可能阻塞对新的内存检查点的写入。为了解决这一问题,EMS采用了选择性持久化技术,如图3-14所示。用户可以指定哪些检查点需要保存到持久化存储中,或者配置一个策略来决定检查点的持久化频率。这样,EMS只用将部分版本的检查点写入到持久化存储中,而其它版本的检查点会在内存中被覆盖写。采用此技术,EMS能够有效降低对持久化存储的压力,并防止对内存检查点写入的阻塞。另外,EMS采用了双快照机制来保存检查点,以保证EMS中总是有一份最新的完整检查点用于训练时的故障恢复。具体来说,EMS维护两个固定的缓冲区用于保存文档版本01(2024-03-301)版权所有©华为云计算技术有限公司内存级别的检查点。在这两个缓冲区中,一个用于存储正在写入的检查点,另一个则负责存储上一个次已完成写入的检查点。两个缓冲区交替执行写入操作,确保EMS中的检查点始终有一份最新的完整检查图3-14:EMS中选择性持久化技术推荐模型在广告、新闻和视频推荐等多个领域得到了广泛应用。与大型语言模型和视觉模型不同,推荐模型的输入特征中包含大量ID类型的数据,如用户ID、新闻ID和视频ID等。这些ID特征通常具有极高的维度且非常稀疏,难以直接被神经网络处理。为了解决这一问题,推荐模型采用了Embedding加多层感知器(MLP)的架构。通过Embedding技术,ID类型特征被映射到低维向量,从而缩小了与神经网络之间的差距。推荐模型中包含多个Embedding表,每个表负责将特定类型的ID特征转换为Embedding。图3-15展示了推荐模型的前向计算过程:ID特征首先通过Embedding表转换为Embedding,然后这些Embedding经过池化处理,如求和或平均,最终输入MLP以生成最终的推荐标签。由于ID类型特征的基数庞大,推荐模型中Embedding层的参数量非常大。例如,亿级的视频ID特征可能需要一个拥有万亿参数的Embedding表。因此,Embedding通常占据了推荐模型中超过99.9%的参数。与计算机视觉和大语言模型不同,推荐模型训练面临的一个主要挑战是数据更新迅速且特征极其稀疏,例如高维的one-hot或multi-hot向量。此外,新数据的不断加入可能导致特征向量达到百万甚至亿级,使得模型规模达到万亿字节,难以存储在单个NPU或单台机器的内存中。在训练和在线推理过程中,神经网络计算中涉及的Embedding数据量相对较小,通常不到总数据量的1%。因此,业界普遍采用一个独立的全局Embedding存储服务(或参数服务器)来提供统一的Embedding管理、存储和计算能力。EMS作为推荐模型训练和推理过程中的Embedding存储服务,旨在实现高资源利用率和高的访问性能。EMS提供Embedding存储服务的关键技术将在下文中介绍。文档版本01(2024-03-301)版权所有©华为云计算技术有限公司图3-15:典型的推荐模型结构图在推荐模型训练过程中,EMS提供全量的Embedding池化存储,如图3-16所示。另外,在每个训练节点中,本地Embedding模块用于缓存频繁访问的Embedding,并负责与上层推理框架进行交互。当训练节点需要获取Embedding时,首先尝试从本地Embedding缓存中读取。若缓存未命中,则该节点会从EMS中拉取所需数据。在训练过程中,梯度更新任务由数据分片(shard)所属的计算节点执行,并异步将更新后的数据推送回E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论