可省近90%服务器,反欺诈效率却大增,PayPal打破「AI内存墙」的方案为何如此划算?

简介: 可省近90%服务器,反欺诈效率却大增,PayPal打破「AI内存墙」的方案为何如此划算?

内存不够只能割肉买 DRAM?英特尔:很多时候大可不必。

人们常说,新一代的人工智能浪潮是由数据、算法和算力来驱动的。最近几年模型参数的爆炸式增长更是让大家看到了算力的基础性作用。

为了配合企业用户对于算力的强烈需求,当前的很多 AI 硬件(比如 GPU)都铆足了劲儿地提高峰值算力,但这种提升通常以简化或者删除其他部分(例如内存的分层架构)为代价[1],这就造成 AI 硬件的内存发展速度远远落后于算力的增长速度

SOTA Transformer 模型参数量(红点)和 AI 硬件内存大小(绿点)增长趋势对比。图源:https://github.com/amirgholami/ai_and_memory_wall/blob/main/imgs/pdfs/model_size_scaling.pdf

因此,在遇到大模型的训练和推理时,用户总是感觉显存或内存不够用,这就是所谓的「内存墙」问题。

为了打破内存墙,人们想了很多种办法,比如前段时间大火的 Colossal-AI 项目就是一个适用于训练阶段的方法。在这个项目中,开发者高效利用了「GPU+CPU 异构内存」的策略,使得一块消费级显卡就能训练 180 亿参数的大模型。

而在推理阶段,模型对硬件的主要需求就是加载模型的全部参数量,所以对算力要求相对低一些。一般对于计算密集型模型,我们可以采用 INT8 量化或者模型并行等策略,用多张 GPU 及其显存资源来推理单个模型。但实际上,还有很多工业界应用场景的机器学习或深度学习模型可以使用 CPU 与内存来做推理,例如推荐系统、点击预估等。

对于这些模型,我们除了内存容量上的诉求外,可能还需要考量异常情况下的数据恢复时间、硬件成本、维护成本等问题,这也对破解内存墙方案的选择提出了新的要求。

工业界的推理拦路虎:内存墙

在工业场景下,海量数据、高维模型确实能带来更好的效果,但这些数据的高维、稀疏特征又为计算和存储带来了很大的挑战。毕竟像推荐系统这样的模型,隐藏层大小可能就是数百万的量级,总参数量甚至能达到十万亿的量级,是 GPT-3 的百倍大小,所以其用户往往需要特别强大的内存支持系统才能实现更好的在线推理能力。

既然内存不够,那岂不是直接堆内存条(如 DRAM)就够了?这从原理上是可行的,但一方面 DRAM 内存的价格不便宜啊,这类模型需要的内存又不是几百 GB,而是动不动就冲上数十 TB,而单条 DRAM 内存一般都只有几十 GB,很少有超过 128GB 的。所以,整体算一下,不论是成本,还是在容量扩展上的能力,这一方案都不太容易被大家接受。

此外,DRAM 内存还有一个问题,即数据是易失的,或者说:一断电就丢数据。有时候模型重启或者排除故障的时候,只能重新将权重从更慢的存储设备,如 SSD 或机械硬盘中加载到内存里,非常耽误时间,这对于在线推理业务来说是很难容忍的。

打破推理内存墙,不用 DRAM 用什么?

那么,除了添购 DRAM 这个不太划算的选择外,提供在线推理服务或使用这类应用的企业要打破内存墙,还有其他选择吗?

如果仔细比较一下不同存储层级的容量和延迟数据,我们可以发现,DRAM 内存和固态盘 / 硬盘存储之间其实存在很大的差距。如果能开发一种全新的存储部件或设备来填补这个缺口,那内存墙问题可能就会得到缓解。

这就是英特尔® 傲腾™ 持久内存(Intel® Optane Persistent Memory, 简称 PMem)诞生的背景。其独有的傲腾存储介质与先进的内存控制器和其它软硬件技术相结合,使其在性能上接近 DRAM 内存,在容量上又能有数倍的提升(单条容量可达 512GB),用在基于第三代英特尔® 至强® 可扩展处理器的双路平台上时,理论上可提供最高达 12TB 的内存总容量(4TB DRAM+8TB 持久内存),相比之下,基于纯 DRAM 的方案不但在容量扩展能力上远远不及,在成本上也让人难以承受。

此外,傲腾™ 持久内存还有两个重要特性:可按字节寻址和数据持久性,分别汇集了内存与存储的优点。传统存储需要按块进行读写寻址,就如同去图书馆借书时,必须要把放置有目标书籍的整个书架上的书都背回家再做分拣,而内存按字节寻址则相当于能够精准定位目标书籍的位置并仅将其借出。  

傲腾 持久内存在存储层级中的位置及作用。 

用书的存放和查找做例子,来理解不同存储层级的特点。

数据持久性则补全了 DRAM 内存的先天不足,即可在断电后依然能保留数据,这就让大体量的内存数据库在计算系统出现计划内或计划外停机时,恢复数据及服务的速度大大加快,毕竟中间节省了从固态盘或硬盘上将数百 GB,甚至是 TB 级数据读回内存的耗时。

PayPal 的实践,证明持久内存很划算!

光练不说傻把式,光说不练假把式,傲腾持久内存能不能帮助用户打破 AI 内存墙,我们还是要眼见为实。

以全球知名的在线支付服务商 PayPal 为例。和其他金融类服务企业一样,PayPal 也难逃欺诈的挑战——即便在这方面的应对水平要高于业界的平均水平,每年损失仍会超过 10 亿美元。因此 PayPal 对反欺诈格外上心,不但为此早早构建了具备强大反欺诈预防模型的实时决策系统,为了实时识别新出现的欺诈模式,PayPal 还在不断强化这个系统在处理和分析相关数据时的效率。

图源:PayPal Newsroom

对于本就承担着上百 PB 数据处理任务的 PayPal IT 基础设施来说,反欺诈决策平台数据量的增长和数据处理和分析效率的提升可是一个严峻的挑战。虽然它从 2015 年就导入了 Aerospike 的数据库技术,将主索引数据存入内存来实现更好的实时性,但随着主索引数据规模的不断扩大,节点中的内存容量很容易耗尽,进而就会影响数据读写和处理的实时性。此时,若要采购新的节点又将耗费高昂的成本。注意,这里的成本不止包含硬件成本,还有随之而来的管理人员成本和功耗成本。

所以 PayPal 更倾向于能够提高单位节点存储密度的方案。

综合这些诉求,PayPal 选择了导入英特尔的傲腾持久内存,而这里也有另一个先决条件,就是 Aerospike 正好是这款创新硬件发布后第一波支持它的数据库厂商之一。

借助 Aerospike 数据库的混合内存架构( HMA),PayPal 可将主索引转存到傲腾持久内存中,而非过去的 DRAM 中。这么做的好处非常明显,因为傲腾持久内存的单条容量远高于 DRAM,且每 GB 成本也显著低于 DRAM,这就可以帮助 PayPal 将每节点的总存储空间提高为原来的 4 倍(从 3.2 TB 到 12 TB),因此 PayPal 只需使用更小的集群就可以满足业务所需的高性能,从而让服务器数量减少约 50%,每集群的成本降低约 30% 。

将主索引存储在傲腾持久内存中还有一个额外的好处,也就是我们前面提到的数据持久性。这使得 Aerospike 完成索引重建的时间从 59 分钟缩短至 4 分钟,满足了 PayPal 对较长运行时间和更高可靠性的要求。据悉,英特尔和 Aerospike 之间多年的合作还成就了一系列更深层次的优化,包括在傲腾持久内存中存储更多数据(不仅仅是索引)。

在采用傲腾持久内存加持的 Aerospike 实时数据平台后,PayPal 以其 2015 年的欺诈数据量和此前使用的平台为基准做了一个评估,它发现新方案可以将其欺诈计算的服务级别协议 (SLA) 遵守率从 98.5% 提升到 99.95%,漏查的欺诈交易量降到约为原来的 1/30。同时,与先前的基础设施相比,使用的服务器总数量可以减少近 90%(从 1024 台减少到 120 台),相关的硬件占用空间可减到约为原来的 1/8,吞吐量可增至原来的 5 倍(每秒事务处理量从 20 万提升到 100 万),硬件成本下降为原来的约 1/3( 预计硬件成本从 1250 万美元省至 350 万美元)。

需要指出的是,其实在 PayPal 的 IT 基础设施中,傲腾持久内存并不是一个孤立的部件,与它紧密配合且内置了 AI 加速能力(英特尔® 深度学习加速技术)的第二代英特尔® 至强® 可扩展处理器也是这一解决方案的灵魂所在。相信如果把它换成 AI 加速能力以及内存子系统带宽和性能表现更优的第三代英特尔® 至强® 可扩展处理器,这种打破内存墙的效果将更加明显。

AlphaFold2 端到端高通量优化

值得一提的是,在 AI for Science 领域,至强® 可扩展处理器 + 傲腾持久内存的组合所带来的突破内存墙实践也开始大放异彩。

以这几年大火的 AlphaFold2 为例。作为 AI for Science 领域的著名大模型,AlphaFold2 的落地部署在算力和存储方面都面临着严峻的挑战,这也给内置高位宽优势(AVX-512 等技术)的第三代英特尔® 至强® 可扩展处理器和大肚量的傲腾持久内存提供了尽情发挥的空间。

图源:www.exxactcorp.com

据英特尔相关技术专家透露的信息,他们正在英特尔这套计算 + 存储的创新产品组合上优化 AlphaFold2。一方面,在模型推理阶段,他们通过对注意力模块(attention unit)进行大张量切分(tensor slicing),以及使用英特尔® oneAPI 进行算子融合等优化方法,提升了算法的计算效率和 CPU 利用率,加快了并行推理速度,并缓解了算法执行中各个环节面临的内存瓶颈等问题。

另一方面,他们通过使用傲腾持久内存,为 AlphaFold 2 实现了 TB 级内存的战略级支持,轻松解决了多实例并行执行时内存峰值叠加的内存瓶颈。这个瓶颈有多大?据英特尔专家介绍:在输入长度为 765aa 的条件下,64 个实例并行执行时,内存容量的需求就会突破 2TB。在这种情形下,对广大用户来说,使用傲腾™ 持久内存是一个可行且可负担的方案。

除了傲腾™ 持久内存,还有哪些方案可以打破内存墙?

虽然傲腾持久内存的出现为一些应用场景提供了打破内存墙的可行路径,但截至目前,硬件领域还没有出现一个「一招鲜吃遍天」的内存墙解决方案,不过其他一些技术路径齐头并进的势头,还是让我们看到了解决这一问题的希望。讨论热度较高的解决方案包括在即将呈爆发式成长的异构系统中实现统一和池化的内存资源(把不同运算单元匹配的 HBM、显存和系统内存集中管理和分配),以及前瞻性的存算一体架构等。

在异构系统中打造池化的内存资源是近年来针对算力和存储间瓶颈问题的比较热的一个创新方向。为了实现 CPU 与 GPU、FPGA 等各种专用加速芯片的高速互联,英特尔早在 2019 年就牵头成立了名为 CXL(Compute Express Link)的标准组织。对于存储来说,CXL 将提供新的内存接口,与原来的 DDR 相比,它具有更高的可扩展性,更高的带宽,支持包括傲腾™ 产品在内的各种存储方案,而且它的架构设计不局限于单个系统,而是可以在多机之间进行连接,实现多机共享。大内存技术方案的代表性企业 MemVerge 的创始人兼 CEO 范承工评价说,CXL 是一个改变游戏规则的新技术,它可以实现内存和计算的相对独立,有望实现多机之间的内存池化共享以及真正的可组合基础设施,可以动态地为系统添加计算、内存、存储资源[2]

存算一体则是让存储具备计算的能力,从而解决数据反复搬迁导致的效率低下问题。如今国内外众多企业都已经开展了存算一体技术的研发,包括英特尔、SK 海力士、IBM、美光、三星、台积电、阿里等传统芯片大厂以及众多新兴 AI 和存储企业[3]

不过,这些方案在成本、技术成熟度等方面还需要更多验证。

所以,尽管我们都希望看到更多前瞻性解决方案能够早日落地,但是短期来看,英特尔®傲腾™ 持久内存仍然是当前比较容易实现而且性价比较高的一种内存墙解决方案。况且,傲腾™ 持久内存的容量还在持续升级,不久之后就可能看到单条 1TB 容量的产品出现,想必到了那时,其打破内存墙的效果将更加凸显。

参考链接:[1] https://www.oneflow.org/a/share/jishuboke/75.html[2]https://www.51cto.com/article/693956.html[3]http://www.dzsb.net/index.php/2022/05/05/quanqiucunsuanyitijishuyanjiujiliangchanqingkuangzuixinjinzh/

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
9天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
75 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
14天前
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
33 3
|
19天前
|
存储 分布式计算 安全
阿里云服务器经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例介绍与选择参考
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出合适的选择。
|
18天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
18天前
|
机器学习/深度学习 人工智能 算法
【AI系统】内存分配算法
本文探讨了AI编译器前端优化中的内存分配问题,涵盖模型与硬件内存的发展、内存划分及其优化算法。文章首先分析了神经网络模型对NPU内存需求的增长趋势,随后详细介绍了静态与动态内存的概念及其实现方式,最后重点讨论了几种节省内存的算法,如空间换内存、计算换内存、模型压缩和内存复用等,旨在提高内存使用效率,减少碎片化,提升模型训练和推理的性能。
36 1
|
27天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
45 6
|
29天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
1月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
1月前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
5天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。