• 首页 >  信息科技 >  电子行业
  • 华为云:2024EMS弹性内存存储技术白皮书(24页).pdf

    定制报告-个性化定制-按需专项定制研究报告

    行业报告、薪酬报告

    联系:400-6363-638

  • 《华为云:2024EMS弹性内存存储技术白皮书(24页).pdf》由会员分享,可在线阅读,更多相关《华为云:2024EMS弹性内存存储技术白皮书(24页).pdf(24页珍藏版)》请在本站上搜索。 1、 EMS 弹性内存存储技术白皮书 Elastic Memory Service Whitepaper 文档版本 01 发布日期 2024-06-21 华为云计算技术有限公司华为云计算技术有限公司 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 i 版权所有版权所有 华为云计算技术有限公司华为云计算技术有限公司 2024。保留一切权利。保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。商标声明商标声明 和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。注意注意 2、您购买的产品、服务或特性等应受华为云计算技术有限公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为云计算技术有限公司对本文档内容不做任何明示或暗示的声明或保证。由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。华为云计算技术有限公司 地址:贵州省贵安新区黔中大道交兴功路华为云数据中心 邮编:550029 网址:https:/ 存储服务技术白皮书 目 录 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 3、ii 目目 录录 1 概述概述.3 2 背景和动机背景和动机.4 2.1 AI 技术的发展.4 2.2 AI 场景中的存力痛点.5 2.2.1 持久化存储性能不足.5 2.2.2 DRAM 利用率低.6 2.2.3 HBM 内存墙.6 2.3 EMS 的构建动机.8 3 产品架构和关键技术产品架构和关键技术.10 3.1 软件架构.10 3.2 内存解耦池化.11 3.2.1 内存池融合部署架构.11 3.2.2 内存池分离部署架构.12 3.2.3 分级存储.12 3.2.4 数据冗余.12 3.3 面向 AI 推理的加速技术.13 3.3.1 以存代算.14 3.3.2 显存扩展.15 34、.3.3 计算卸载.16 3.4 面向 AI 训练的加速技术.16 3.4.1 并行训练拓扑感知的检查点保存.17 3.4.2 基于 NPU 通信的检查点恢复.18 3.4.3 选择性检查点持久化.18 3.5 面向推荐模型的加速技术.19 3.5.1 Embedding 池化存储.20 3.5.2 Embedding 均衡打散.20 3.5.3 增量检查点.21 4 总结总结.22 5 缩略语缩略语.23 存储服务技术白皮书 1 概述 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 3 1 概述概述 基于大模型的生成式 AI 技术的重大突破推动了人工智能的应用范围从5、传统的分类任务扩展至广泛的生成任务,引发了 AI 应用的爆发性增长,并引领 IT 产业迈入全新的“AI 时代”。随着 AI 产业的迅猛发展,云计算基础设施也在从以通用算力为核心向以智能算力为核心转变。在这种新型云计算基础设施中,数据的“算力”和“存力”是相辅相成的。尽管云数据中心在智能算力方面取得了显著进步,但是在存力方面的不足已成为制约效率的关键瓶颈。存力问题主要表现在三个方面:持久化存储性能不足、DRAM 利用率低、以及 HBM 内存墙问题。为解决这些存力问题,华为云推出了全球首创的弹性内存存储服务 EMS(Elastic Memory Service),一种以内存为主要存储介质的云基础设6、施服务。通过 EMS,华为云将传统的“计算-存储”分离的两层云架构升级为“计算-内存-存储”分离的三层云架构,其中新增的“内存层”即为 EMS。这种新型的三层云架构能有效解决上述存力痛点,从而具有高资源弹性、高资源利用率和高性能等优势。具体来说,EMS通过以下方式解决三大存力问题:1)作为计算与存储之间的高性能缓存层,使用 DRAM 介质缓存来自HDD 和 SSD 的数据,显著提升数据访问速度,解决“持久化存储性能不足”问题;2)将 AI 服务器中的DRAM 资源解耦并池化,形成 EMS 内存池,实现 DRAM 资源的按需分配和高效利用,解决“DRAM 利用率低”问题;3)扩展 AI 加速器中7、的 HBM 内存,通过 DRAM 内存容量和带宽的补充,大幅提升 AI 训练和推理的性能,解决“HBM 内存墙”问题。EMS 的软件架构主要由分布式内存池、领域专用服务 SDK 和管理控制面三部分组成,具备易用性、弹性扩展和高可用性。分布式内存池提供跨节点的内存管理、数据负载均衡和数据恢复等功能,确保内存数据存储的低成本、高扩展性和高可用性。领域专用服务 SDK 提供针对不同 AI 场景的内存加速技术,如在 AI 推理场景中,通过以存代算、显存扩展和计算卸载技术降低首 token 时延,提升解码吞吐量,并支持更长的序列长度。在 AI 训练场景中,通过并行训练拓扑感知的检查点读写技术,实现极低的8、检查点操作时延。在推荐模型场景中,通过 Embedding 存取优化技术,实现高性能访问。存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 4 2 背景和动机背景和动机 2.1 AI 技术的发展 近年来,随着基于大模型的生成式 AI 技术的显著进步,人工智能的应用领域已从传统的分类任务扩展至包括文本对话、图片生成、视频生成、代码生成、Copilot、数字人等在内的生成类任务。这一变革推动了 IT 产业进入了一个全新的时代“AI 时代”,也预示着整个世界正迈向一个更加智能、高效、互联的未来。据 Gartner 预测,到 2026 年,超9、过 80%的企业将采用生成式 AI 模型或在生产环境中部署支持此类技术的应用;到 2028 年,75%的企业软件工程师将依赖 AI 编码助手1。此外,AI 技术的广泛应用预计将创造巨大的经济价值,根据 Mckinsey 的预测,生成式 AI 有望为全球经济贡献约 7 万亿美元,其中中国预计将贡献约 2 万亿美元2。随着AI 产业的快速发展,云计算基础设施正从以通用算力为核心转向以智能算力为核心。OpenAI 的统计数据显示,自 2012 年以来,最大规模的人工智能训练任务所需的计算量每 3.4 个月翻一番,至 2018年该指标已增长了 30 万倍3。大模型的性能通常遵循规模法则(Scaling10、 Law)4,即模型参数、训练数据量和训练计算量的增加会带来模型性能的相应提升。这意味着,为了提高大模型的性能,训练和推理所需的算力将持续大幅增长。在未来,智能算力规模将远超通用算力规模。IDC 预测,2022 至 2027 年间,中国智能算力规模的年复合增长率将达到 33.9%,而同期通用算力规模的年复合增长率为 16.6%,到 2027年,智能算力(FP16)规模将达到 1117.4 EFLOPS,而通用算力(FP64)规模是 117.3EFLOPS5。华为预测,到 2030 年,全球 AI 计算(FP16)总量将达到 105 ZFLOPS,较 2020 年增长 500 倍,而通用算力(F11、P32)总量是 3.3ZFLOPS6。在以智能算力为中心的新型云计算基础设施中,数据的“算力”和“存力”是相辅相成的。一方面,强大的数据算力(包括 GPU、NPU 等算力单元)需要充足的数据存力(如 HBM、DRAM、SSD 等存储单 1“Top Strategic Technology Trends for 2024”,Gartner,October 2023.2 生成式 AI 在中国:2 万亿美元的经济价值,麦肯锡,2023 年 9 月.3“AI and Compute”,OpenAI,May 2018.4 Kaplan et al.Scaling Laws for Neural Lang12、uage Models.arXiv preprint arXiv:2001.08361(2020).5 中国人工智能计算力发展评估报告,2023-2024,IDC,2023 年 12 月.6 智能世界 2030,华为,2021 年 9 月.存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 5 元)来保证数据处理的连续性和稳定性。另一方面,高效的数据存力也需要数据算力的支持,以便对存储的数据进行有效处理和利用。数据的算力和存力之间存在着紧密的联系和相互依赖。2.2 AI 场景中的存力痛点 尽管云数据中心中的 AI 算力持续增强,数据存力13、的不足已成为制约其效率的关键瓶颈。存力的痛点主要表现在三个方面:持久化存储性能不足、DRAM 利用率低、以及 HBM 内存墙问题。2.2.1 持久化存储性能不足 随着AI 大模型和AI 系统技术的迅速发展,传统的持久化存储介质已难以满足大模型训练和推理的高性能需求。近年来,大模型的参数数量呈指数级增长,导致模型大小急剧增加。例如,GPT-3 的参数数量为 1750 亿,而据推测 GPT-4 的参数数量将达到 1.76 万亿。若使用 FP16 格式存储模型参数,GPT-3 的模型大小约为 350GB,GPT-4 则约为 3.52TB。在模型训练过程中,除了模型参数外,还需存储如优化器状态等其它信14、息,使得模型的 Checkpoint 大小通常是模型参数大小的 6倍左右。在云环境中,这些大模型的参数和 Checkpoint 通常存储在持久化存储服务(如对象存储服务 OBS)中,而云厂商提供的对象存储服务中单个租户桶的访问带宽一般在几十 Gbps。因此,从对象存储服务中读取或写入一个模型往往需要几十分钟到数小时,这种长时间的读写延迟是不可接受的,会导致 AI 集群的计算资源等待,从而大幅增加AI 集群的使用成本。图 2-1:持久化存储的模型读取耗时与推理和训练的时延需求对比 在模型推理过程中,AI 加速器需要将模型参数加载到其 HBM 内存中进行推理。在 Serverless 推理场景中,15、AI 加速器还需频繁切换不同的模型以满足不同用户的推理任务需求,这种模型切换的时延需求通常在秒级别。在模型训练过程中,AI 集群的故障是不可避免的。当故障发生时,AI 集群需要读取模型Checkpoint 来恢复训练,此时所有参与训练的 AI 加速器(通常在几千到上万卡级别)都需要等待存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 6 Checkpoint 的读取,这种读取时延需求也在秒级别。此外,在训练过程中,AI 集群还需周期性地保存Checkpoint,Checkpoint 的保存频率越高,故障发生时的训练时间损失越小。在保存16、 Checkpoint 的过程中,通常会造成 AI 加速器的阻塞,因此对 Checkpoint 写入的性能要求更高,写入时延需求在毫秒级别。如图2-1 所示,AI 推理和训练对大模型参数的读写时延需求与当前持久化存储的实际读写耗时之间存在 2 至 4个数量级的差距。2.2.2 DRAM 利用率低 当前的 AI 集群不仅包含 AI 加速器,还配备了大量的 DRAM 内存资源。例如,一台昇腾 910 服务器配置了 8 张 NPU 卡和 1.5TB 的 DRAM,而 NVIDIA GH200 服务器中每张 GPU 卡则配备了 512GB 的DRAM。然而,在运行流行的大语言模型训练和推理任务时,这些17、 DRAM 资源的利用率却非常低。一项研究论文分析了两个较大规模的 GPU 集群的资源利用率情况,结果显示其中一个集群在 90%的使用时间内 DRAM 利用率低于 25%,另一个集群在 76%的使用时间内 DRAM 利用率同样低于 25%,且在几乎整个使用过程中,两个集群的 DRAM 利用率均未超过 50%7。AI 集群中 DRAM 利用率低的主要原因在于,AI 服务器上的 DRAM 资源通常是按照各种负载场景的最大需求进行配置的,以确保能够运行所有类型的负载。这种配置策略导致在某些特定负载下 DRAM 利用率较高,而在大多数其它负载下 DRAM 利用率则较低。例如,在华为云的一个 GPU 服18、务器集群上,运行推荐模型训练时 DRAM 利用率接近 100%,运行 CV 模型训练时 DRAM 利用率可达 70%,但在运行大语言模型(LLM)训练时,DRAM 利用率则低于 35%。由于目前 AI 集群主要由 LLM 负载主导,因此DRAM 的整体利用率普遍偏低。2.2.3 HBM 内存墙 AI 加速器(如 GPU、NPU、TPU 等)面临的 HBM 内存墙问题,已成为限制 AI 算力充分发挥的关键障碍。HBM 内存墙主要包括内存容量墙和内存带宽墙两个方面。在内存容量墙方面,AI 加速器的HBM内存容量增长速度远远落后于大模型存储需求的增长速度。如图 2-2 所示,典型的 Transfor19、mer 大模型的参数量每两年以 240 倍的速度增长,而业界典型的商用 AI 加速器的内存容量仅每两年翻两倍。这种大模型参数量与AI加速器HBM内存容量增长速度之间的巨大差距,意味着训练和推理一个模型需要更多的 AI 加速器,这将显著增加 AI 训练和推理的成本。此外,增加 AI加速器数量的主要目的是为了让大模型能够存储在 AI 加速器的 HBM 内存中,这通常会导致 AI 算力的利用率低下。7 Hu,et al.Characterization of large language model development in the datacenter.In 21st USENIX Sympo20、sium on Networked Systems Design and Implementation(NSDI 24),pp.709-729.2024.存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 7 图 2-2:SOTA 模型的参数量增长趋势和 AI 硬件 HBM 内存容量增长趋势8 在内存带宽墙方面,AI 加速器的 HBM 内存带宽的增长速度远低于其算力的增长速度。如图 2-3 所示,过去 20 年间,单个 AI 加速器的峰值计算能力增长了 9 万倍,而内存访问带宽仅提高了 30 倍。这是因为提升硬件算力的工艺相对容易,而增21、加内存带宽的硬件工艺则难度较大。AI 加速器内存带宽与算力增长速度之间的巨大差距,意味着在进行 AI 计算时,往往需要等待数据从内存中读取,这导致算力的利用率降低。8 Amir Gholami,Zhewei Yao,Sehoon Kim,Coleman Hooper,Michael W.Mahoney,and Kurt Keutzer.Ai and memory wall.IEEE Micro(2024).存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 8 图 2-3:AI 加速器的计算能力、内存带宽和互联带宽的增长趋势8 2.3 22、EMS 的构建动机 为了解决云基础设施中存在的上述三大存力痛点,华为云推出了全球首创的弹性内存存储服务 EMS(Elastic Memory Service),一种以内存(如 DRAM、HBM 等)为主要存储介质的云基础设施服务。华为云将传统的“计算-存储”分离的两层架构升级为“计算-内存-存储”分离的三层架构,如图 2-4 所示,其中新增的“内存层”即为弹性内存存储服务 EMS。这种包含 EMS 的新型三层云基础设施架构具有高资源弹性、高资源利用率和高性能等优势,能够有效解决上述三大存力痛点。首先,针对 AI 场景中“持久化存储性能不足”的问题,EMS 作为计算层与存储层之间的高性能缓存层,23、利用 DRAM 介质缓存来自 HDD 和 SSD 介质的数据,显著提升数据访问速度。其次,针对 AI 场景中“DRAM 利用率低”的问题,EMS 将 AI 服务器中的 DRAM 资源进行解耦并池化,形成 EMS 内存池。EMS 内存池中的 DRAM 资源根据不同计算任务的需求进行动态分配,从而实现内存资源的高效利用。计算层与内存层之间通过华为专有的高性能网络总线连接,确保内存资源解耦池化后的高访问性能。最后,针对 AI 加速器中的“HBM 内存墙”问题,EMS 利用内存池中的 DRAM 资源扩展 AI 加速器的 HBM 内存,通过增加 DRAM 容量来扩展 HBM 容量,并利用 DRAM 带宽24、补充 HBM 带宽,从而大幅提升 AI 训练和推理的整体性能。存储服务技术白皮书 2 背景和动机 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 9 图 2-4:“计算-内存-存储”分离的新型三层云架构演进 存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 10 3 产品架构和关键技术产品架构和关键技术 本章将首先阐述 EMS 的软件架构,随后探讨 EMS 内存解耦池化的关键技术,最后介绍 EMS 针对不同 AI 场景的内存加速关键技术。3.1 软件架构 EMS 的软件架构主要由三部分组成:领域专用服25、务 SDK、分布式内存池和管理控制面,如图 3-1 所示。EMS 的软件面向高易用性、高弹性扩展性和高可用性设计。图 3-1:EMS 软件架构 领域专用服务 SDK 包含一系列面向不同 AI 应用场景的插件和接口服务 SDK,提供业务系统接入、业务数据布局和近数据处理等功能,实现业务请求的内存加速。目前,该技术主要应用于大语言模型、多模态模型、推荐模型等的训练和推理,通过分布式内存池提升处理效率并降低成本。领域专用服务 SDK的具体技术细节将在第 3.3 章、第 3.4 章和第 3.5 章中详细介绍。分布式内存池负责跨节点的内存空间管理、数据负载均衡和数据恢复等任务,通过空间池化、共享访问和故26、障切换等机制,确保系统具有低成本、高扩展性和高可用性。内存池提供两种部署模式:a)融合部署,即利用 AI 服务器中的 DRAM,将 DRAM 内存池化以实现分布式共享,并进行本地亲和的调度和访问;b)分离式部署,即使用独立内存服务器提供内存池空间,通过高速内存总线实现对内存池空间的访问。分布式内存池的具体技术将在第 3.2 章中详细介绍。存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 11 管理控制面负责服务的部署、监控、升级及运维管理等功能,通过华为云的云原生基础设施为用户提供一站式的云上运维解决方案。3.2 内存解耦池化27、 在 AI 训练和推理场景中,AI 服务器的数量可达数千至数万台,每个服务器上的 DRAM 内存通常按照最大需求进行配置和预留。然而,实际操作中,服务器间的内存利用率往往不均衡。由于 DRAM 是 AI服务器成本的重要组成部分,池化 DRAM 以提高利用率和降低成本显得尤为重要。此外,随着“HBM内存墙”问题的日益凸显,EMS 通过在 HBM 和 DRAM 之间进行卸载及相应的数据管理来解决这一问题。EMS 内存池需要满足池化和卸载两个关键需求,具体技术将在后续章节详细介绍。3.2.1 内存池融合部署架构 图 3-2:内存池融合部署架构 内存池融合部署架构通过利用 AI 服务器内的本地 DRA28、M 进行池化管理,提升内存利用率,如图 2-2所示。内存池化还带来了共享能力,使得卡间能够进行高效的数据共享,具体技术点如下。1)服务器内 DRAM 池化:AI 加速卡根据需求从内存池中分配 DRAM,避免了按卡粒度预留导致的卡间使用不均和利用率低的问题。2)服务器间 DRAM 池化:整个 AI 服务器集群形成一个大的内存池,解决了服务器间内存利用率不均的问题,提高了利用率并降低了成本。此外,任意 AI 节点能够访问任意缓存数据的能力,为 AI 训练和推理场景下的加速技术(如基于内存 checkpoint 的故障快速恢复、长文本推理和PD 分离等)的应用提供了支持。3)数据访问亲和性调度:在典29、型场景下(如大模型训练 Checkpoint 和 KV Cache 存储),通过亲和感知、动态均衡和预加载的方式,确保训练和推理过程中的高带宽内存访问需求,并在一定程度上解决了内存利用不均衡的问题。存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 12 3.2.2 内存池分离部署架构 基于高速网络总线加速的分离式内存池,是 EMS 内存池化和容量卸载的最终形态,如图 3-3 所示。通过引入 DRAM 专有服务器硬件最大化降低成本,在内存使用均衡性、利用率和共享方面都提供了最优解。对外以一个整体展示,即体现在整柜硬件交付,也体现30、在如全局地址空间的空间管理能力。图 3-3:内存池分离部署架构 3.2.3 分级存储 通过 DRAM 卸载解决 HBM 的内存容量墙问题,但在某些场景下,DRAM 同样面临容量不足和成本过高的问题。EMS 进一步将数据卸载到高速持久化存储介质(如 SSD),最终形成多级的分层卸载存储形式,如图 3-4 所示。通过引入 AI 训练和推理流程感知的算法,进行 HBM 和 DRAM 之间、DRAM 和SSD 之间的主动卸载和取回调度,使得在训推效率和成本上达成平衡。图 3-4:分级存储技术示例 3.2.4 数据冗余 在云数据中心中,通常拥有成千上万的 AI 服务器。EMS 为如此大规模的 AI 服务31、器提供内存存储服务,也会具有较大的分布式规模。AI 训练和推理过程中卸载到 EMS 中的数据如果丢失,将会造成 AI 任存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 13 务的中断或重新执行。EMS 内存池提供基于副本和纠删码的内存数据冗余能力,以大幅提升数据的可用性,如图 3-5 所示。图 3-5:内存数据冗余技术示例 3.3 面向 AI 推理的加速技术 在本章节中,将首先探讨 AI 推理的背景及其面临的问题,随后详细介绍 EMS 针对 AI 推理的加速技术。在 AI 推理过程中,Transformer 模型接收用户的问32、题输入,并通过迭代方式生成相应的回答。每个Transformer 层由自注意力模块和前馈网络模块组成。在自注意力模块中,上下文词元(token)与模型参数结合,生成中间数据 K(键)和 V(值),并进行注意力计算。为避免在迭代生成过程中重复计算 KV,生成的 KV 中间数据被存储在 AI 加速器的 HBM 内存中,形成 KV 缓存。每个词元的 KV 缓存大小取决于模型的维度、层数以及数据精度,计算公式为:单个词元的 KV 缓存大小=模型维度*模型层数*数据精度*2。例如,GPT3 模型的数据维度和层数分别为 12288 和 96,在双字节精度下,单个词元的 KV缓存大小为 12288*96*233、*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 上下文长度的推理请求缓存 34、KV 值。因此,AI加速器能够同时处理的请求数量受限于 HBM 内存容量。综上所述,Transformer 模型推理中存在严重的 HBM 内存墙问题。为解决这一问题,EMS 提供了以下三种技术以加速 AI 推理:以存带算、显存扩展和计算卸载,如图 3-6 所示。存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 14 图 3-6:AI 推理场景中的 EMS 关键技术 3.3.1 以存代算 在 Transformer 模型的推理过程中,由于 AI 加速器的 HBM 内存容量限制,现有的推理系统无法在 AI加速器的 HBM 中持续保35、存多轮对话的 KV 缓存。为了应对这一问题,系统通常会丢弃已处理对话的 KV 缓存,以腾出 HBM 空间来服务新的请求。然而,当这些被丢弃的 KV 缓存对应的对话再次出现时,系统必须重新计算这些 KV 缓存,如图 3-7a 所示。这种重复计算不仅浪费了计算资源,还增加了推理成本。为了减少成本并提升推理性能,EMS 服务引入了以存代算技术 CachedAttention9,如图 3-7b 所示。该技术利用 EMS 中的大容量多级内存池来存储和复用多轮对话中产生的 KV 缓存,而不是直接丢弃它们。具体操作是,当一个会话变为非活跃状态时,将相应的 KV 缓存保存到 EMS 中。当该对话重新激活时,再36、从 EMS 中加载并复用这些 KV 缓存,从而避免了重复计算。此外,EMS 还采用了以下技术来优化缓存系统性能,如图 3-8 所示:(1)采用逐层预加载和异步保存策略,以减少加载和保存 KV 缓存的时间;(2)利用多级缓存结构,通过更大容量的存储介质提供充足的缓存空间;(3)通过自动感知调度器中的任务队列信息,实现多层次存储介质间的缓存调度,以提高访问效率;(4)将位置编码从 KV 缓存中分离,确保在模型上下文窗口长度溢出时 KV 缓存的可重用性。通过以存代算技术,EMS 有效地避免了多轮对话中的重复计算,显著降低了首字时延,提高了预填充阶段的吞吐量,并降低了端到端的推理成本。9 Bin Ga37、o,Zhuomin He,Puru Sharma,Qingxuan Kang,Djordje Jevdjic,Junbo Deng,Xingkun Yang,Zhou Yu,Pengfei Zuo,“Cost-Efficient Large Language Model Serving for Multi-turn Conversations with CachedAttention”,in Proceedings of the 2024 USENIX Annual Technical Conference(USENIX ATC),2024.存储服务技术白皮书 3 产品架构和关键技术 文档版本38、 01(2024-03-301)版权所有 华为云计算技术有限公司 15 图 3-7:多轮对话中使用 EMS 图 3-8:EMS 以存代算技术 3.3.2 显存扩展 由于 AI 加速器中的 HBM 内存容量限制,AI 加速器可能无法容纳大的模型,或者即使能够容纳,也无法使用较大的批处理大小(Batch Size)。为了解决这一问题,EMS 采用了显存扩展技术,以增加 AI 加速器的可用显存,从而支持运行超出 HBM 容量的模型或增加推理的批处理大小。在推理过程中,EMS 将HBM 中的 KV 缓存、模型权重等数据动态卸载到一个大容量的共享弹性内存池中,如图 3-9 所示。通过利用计算层与内存池之39、间的高性能网络总线,EMS 实现了数据传输与计算过程的流水线并行,有效减少了内存池的访问开销。得益于这种大容量、高性能、共享访问的弹性内存池,EMS 的显存扩展技术能够增加推理的批处理大小,进而提升 AI 推理的整体吞吐率。图 3-9:EMS 显存扩展技术 存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 16 3.3.3 计算卸载 针对 Transformer 模型推理中遇到的 HBM 内存墙问题,EMS 通过计算卸载技术将自注意力模块相关的KV 缓存数据和轻量级算子卸载到内存池中,利用 EMS 中的 DRAM 容量扩展 H40、BM 的容量,并通过 DRAM 的内存带宽补充 HBM 的带宽,如图 3-10 所示。具体而言,Transformer 模型的自注意力模块需要加载整个推理上下文的 KV 缓存以完成注意力分数的计算,这一过程涉及大量 KV 数据的读取,而相关算子的计算量相对较小。与此相反,前馈网络模块主要由计算需求较大的全连接网络算子构成,对存储容量的需求较小。EMS 根据这些不同的计算特性,将自注意力模块和前馈网络模块分别在计算能力较小但存储能力较大的CPU 侧和计算能力较大但存储能力较小的 AI 加速器上完成。同时,EMS 根据推理任务的服务级别协议(SLA)需求,智能地决定卸载的时机和粒度,通过弹性内存池41、的大容量和大带宽优势缓解了 HBM 内存墙问题,采用异构推理方案提升了 AI 推理的端到端性能和性价比。图 3-10:EMS 计算卸载技术 3.4 面向 AI 训练的加速技术 在 AI 大模型的训练场景中,通常需要成千上万张卡进行并行分布式训练。由于参与的机器数量众多,故障率也随之升高,这成为了提升大模型训练效率的一个主要障碍。例如,在 OPT 模型的训练报告中,平均每天会发生两次故障。为了确保训练任务能够在故障后恢复,训练过程中必须定期保存检查点(checkpoint),并在故障发生时加载这些检查点。因此,检查点的保存和加载速度对于训练效率至关重要。传统的做法是将检查点直接保存到持久化存储系42、统中,而 EMS提出了一种新的方案,即使用分布式内存池来保存检查点,如图 3-11 所示。通过将检查点保存在 EMS 内存池中的 DRAM 介质上,故障后可以直接从 DRAM 内存中快速加载检查点,显著提高了保存和加载的速度。EMS 内存池的多副本冗余机制确保了检查点的高可用性。此外,EMS 还会根据需要将内存中的检查点保存到远程持久化存储系统,如 SFS Turbo或 OBS,形成内存与持久化存储相结合的多级存储方案,以解决 DRAM 介质的易失性问题。EMS 的全内存检存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 1743、 查点方案包括三项关键技术:并行训练拓扑感知的检查点保存、基于参数面通信的检查点恢复和选择性检查点持久化。图 3-11:AI 训练场景使用 EMS 的架构 3.4.1 并行训练拓扑感知的检查点保存 由于 DRAM 内存的易失性,为了确保在 EMS 中保存的检查点数据具有高可用性,必须实施数据冗余策略。为此,EMS 采用了一种结合并行训练和拓扑感知的检查点保存技术,该技术在实现数据冗余的同时,也大幅提升了保存性能。这种技术利用了数据并行训练中 NPU卡之间的模型重复性,实现了内存检查点的多副本存储,也显著提升了检查点的保存效率。在数据并行训练中,模型冗余是自然产生的,这使得我们可以将同一数据并行44、组内各卡上的检查点视为相互冗余的副本。例如,当数据并行度设置为 32 时,意味着有 32 个相同的模型在并行训练。如果 EMS 需要保留 3 个检查点副本,那么在同一数据并行组内的 32张卡中,每张卡只需保存 3/32 的检查点数据。所有卡的数据合起来,就能形成 3 个完整的检查点副本,满足 EMS 对副本数量的需求。在融合部署架构下,每张卡仅需将检查点数据写入到本节点的 EMS 上。这与传统的多副本备份方法不同,后者需要跨节点传输完整的检查点数据。而 EMS通过在本地保存检查点数据即可实现多副本,极大地提高了训练效率,如图 3-12 所示。存储服务技术白皮书 3 产品架构和关键技术 文档版本45、 01(2024-03-301)版权所有 华为云计算技术有限公司 18 图 3-12:EMS 中并行训练感知的检查点保存技术 3.4.2 基于 NPU 通信的检查点恢复 在使用数据并行的分布式训练中(并行度=N),在进行故障恢复时,N 个 NPU 卡需要读取相同的检查点。如果通过 VPC 网络进行恢复,性能会受到限制。为此,EMS 采用了一种基于 NPU 通信的检查点恢复方法,如图 3-13 所示。该方法首先感知模型训练的并行拓扑,识别出需要同一检查点的 NPU 卡。然后,利用本地内存先读取检查点,并根据感知的拓扑结构,通过 NPU卡间的参数面通信来补全检查点。与传统的跨节点通信方式相比,EM46、S 利用了高速的卡间带宽来获取检查点,从而大大提升了检查点的恢复效率。图 3-13:EMS 基于 NPU 通信的检查点恢复技术 3.4.3 选择性检查点持久化 由于 DRAM 内存中的检查点可能因意外而丢失,因此进行持久化存储是必要的。然而,如果每次都将DRAM 内存中的检查点保存到持久化存储中,将会严重影响性能,并可能阻塞对新的内存检查点的写入。为了解决这一问题,EMS 采用了选择性持久化技术,如图 3-14 所示。用户可以指定哪些检查点需要保存到持久化存储中,或者配置一个策略来决定检查点的持久化频率。这样,EMS 只用将部分版本的检查点写入到持久化存储中,而其它版本的检查点会在内存中被覆盖47、写。采用此技术,EMS 能够有效降低对持久化存储的压力,并防止对内存检查点写入的阻塞。另外,EMS 采用了双快照机制来保存检查点,以保证 EMS中总是有一份最新的完整检查点用于训练时的故障恢复。具体来说,EMS 维护两个固定的缓冲区用于保存存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 19 内存级别的检查点。在这两个缓冲区中,一个用于存储正在写入的检查点,另一个则负责存储上一个次已完成写入的检查点。两个缓冲区交替执行写入操作,确保 EMS 中的检查点始终有一份最新的完整检查点。图 3-14:EMS 中选择性持久化技术 3.48、5 面向推荐模型的加速技术 推荐模型在广告、新闻和视频推荐等多个领域得到了广泛应用。与大型语言模型和视觉模型不同,推荐模型的输入特征中包含大量 ID 类型的数据,如用户 ID、新闻 ID 和视频 ID 等。这些 ID 特征通常具有极高的维度且非常稀疏,难以直接被神经网络处理。为了解决这一问题,推荐模型采用了 Embedding加多层感知器(MLP)的架构。通过 Embedding 技术,ID 类型特征被映射到低维向量,从而缩小了与神经网络之间的差距。推荐模型中包含多个 Embedding表,每个表负责将特定类型的 ID特征转换为Embedding。图 3-15 展示了推荐模型的前向计算过程:I49、D 特征首先通过 Embedding 表转换为 Embedding,然后这些Embedding 经过池化处理,如求和或平均,最终输入 MLP 以生成最终的推荐标签。由于 ID 类型特征的基数庞大,推荐模型中 Embedding 层的参数量非常大。例如,亿级的视频 ID 特征可能需要一个拥有万亿参数的 Embedding 表。因此,Embedding 通常占据了推荐模型中超过 99.9%的参数。与计算机视觉和大语言模型不同,推荐模型训练面临的一个主要挑战是数据更新迅速且特征极其稀疏,例如高维的 one-hot 或 multi-hot 向量。此外,新数据的不断加入可能导致特征向量达到百万甚至亿级,50、使得模型规模达到万亿字节,难以存储在单个 NPU 或单台机器的内存中。在训练和在线推理过程中,神经网络计算中涉及的 Embedding 数据量相对较小,通常不到总数据量的 1%。因此,业界普遍采用一个独立的全局 Embedding 存储服务(或参数服务器)来提供统一的 Embedding 管理、存储和计算能力。EMS作为推荐模型训练和推理过程中的 Embedding 存储服务,旨在实现高资源利用率和高的访问性能。EMS 提供 Embedding 存储服务的关键技术将在下文中介绍。存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司51、 20 图 3-15:典型的推荐模型结构图 3.5.1 Embedding 池化存储 在推荐模型训练过程中,EMS提供全量的Embedding池化存储,如图3-16所示。另外,在每个训练节点中,本地Embedding模块用于缓存频繁访问的Embedding,并负责与上层推理框架进行交互。当训练节点需要获取Embedding时,首先尝试从本地Embedding缓存中读取。若缓存未命中,则该节点会从EMS中拉取所需数据。在训练过程中,梯度更新任务由数据分片(shard)所属的计算节点执行,并异步将更新后的数据推送回EMS。图 3-16:推荐场景使用 EMS 的架构 3.5.2 Embedding 52、均衡打散 由于Embedding数据量可能高达十TB甚至百TB,为了提高存取效率,需要将这些数据均匀分散到不同的节点上。EMS采用分片(Shard)机制来分散数据,通过计算键(key)的哈希值,将Embedding数据均存储服务技术白皮书 3 产品架构和关键技术 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 21 匀分配到各个节点。在每个节点内部,再根据哈希值将负载均衡分配给多个分片线程,确保表数据在节点和线程的分片上均衡分布。分片与线程绑定,实现了无锁操作,从而提升了效率和性能。3.5.3 增量检查点 在大规模推荐模型训练中,训练过程中更新的Embedding会被53、存储到EMS中。在进行训练检查点(Checkpoint)时,也需要保存这些Embedding。EMS提供了增量检查点的功能,只存储更新过的Embedding,而不是每次都存储全部Embedding,这样可以节省存储空间并提高效率。增量检查点的实现基于类似写时复制(COW)的原理,在更新Embedding时记录逻辑时间戳,保存检查点时根据时间戳来判断是否需要保存。存储服务技术白皮书 4 总结 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 22 4 总结总结 弹性内存存储服务 EMS 是一种以内存为主要存储介质的云基础设施服务。EMS 推动华为云基础设施从传统的“计算-54、存储”分离的两层架构,演进成“计算-内存-存储”分离的三层架构。这种新型架构通过将 DRAM 内存解耦并池化,有效解决了持久化存储性能低、计算侧 DRAM 利用率不足以及 HBM 内存墙三大存力痛点。从而使得云基础设施架构具有高的资源弹性、高的资源利用率、高性能等优势。EMS广泛应用于大语言模型、多模态模型、推荐模型等不同模型的推理和训练场景,并为这些场景提供领域专用的服务 SDK,以实现极致的加速效果。AI 场景是 EMS 的首个应用领域,本书重点介绍了 EMS 在 AI 场景中的关键技术。在未来,EMS 将持续演进,并扩展至通用计算场景,包括在线事务处理(OLTP)数据库、混合事务/分析处55、理(HTAP)数据库、向量数据库、Redis 缓存系统、大数据分析等应用领域。EMS 弹性内存存储技术白皮书 5 缩略语 文档版本 01(2024-03-301)版权所有 华为云计算技术有限公司 23 5 缩略语缩略语 缩略语缩略语 英文解释英文解释 中文解释中文解释 EMS Elastic Memory Service 弹性内存存储服务 OBS Object Storage Service 对象存储服务 SDK Software Development Kit 软件开发套件 GPU Graphics Processing Unit 图像处理器 NPU Neural Processing Un56、it 神经处理器 TPU Tensor Processing Unit 张量处理器 HBM High-Bandwidth Memory 高带宽内存 DRAM Dynamic Random Access Memory 动态随机访问内存 SSD Solid-State Drive 固态盘 LLM Large Language Model 大语言模型 CV Computer Vision 计算机视觉 SOTA State-Of-The-Art 业界领先 K/V Key/Value 键/值 SLA Service-level Agreement 服务级别协议 MLP Multi-Layer Perception 多层感知机 OLTP On-line Transaction Process 在线事务处理 HTAP Hybrid Transaction/Analysis Process 混合事务/分析处理

    下载