英特尔® 傲腾™ 持久内存为第四范式全流程 AI 系统提供容量与持久双重优势

  • “AI 全流程系统落地不仅需要高性能,也需要高可用性,减少异常情况下的数据恢复时间来保障线上服务质量。基于傲腾™ 持久内存的高密度和数据持久特性,可以帮助用户满足以上需求并显著降低 TCO。”

  • ——— 郑曌, 副总裁, 第四范式

BUILT IN - ARTICLE INTRO SECOND COMPONENT

今天的企业级人工智能(Artificial Intelligence,AI)系统正在企业日常运营中扮演愈加重要的角色,其独特之处就在于能帮助企业从海量业务数据中实时提取和构建高维、超高维特征/模型,进而以卓越的在线推理服务能力,在欺诈交易识别、个性化推荐等业务场景中收获更为高效、精准的决策助力。

对 AI 系统而言,数据规模的爆发式增长,既是机遇又是挑战——企业可借此构建更为庞大的高维特征/模型,同样也需要更多空间和算力来存储和处理体量更大的数据。如果全部采用动态随机存取存储器(Dynamic Random Access Memory,DRAM)来作为这些数据的内存载体,不但会大幅提升总拥有成本(Total Cost of Ownership,TCO),还难免在断电或宕机时遭遇数据恢复时间过长,导致在线推理等服务中断,降低服务品质等难题。

为帮助企业用户应对上述挑战,领先的人工智能平台与技术服务提供商第四范式(北京)技术有限公司(以下简称 “第四范式”)与英特尔一起,基于自有 SageOne AI 算力平台,导入了兼具更高存储密度和数据持久化优势,I/O 性能接近 DRAM 内存,成本也更为经济实惠的英特尔® 傲腾™ 持久内存,为企业用户打造了新一代 HyperCycle Machine Learning 全流程 AI 系统。

结合英特尔® 傲腾™ 持久内存在两种主要工作模式(内存模式及 APP Direct 模式,以下简称 AD 模式)下的应用特性,新系统不仅对工作流程进行了全新设计,也对其中的 HyperPS 万亿维级参数服务器和 OpenMLDB 机器学习数据库1进行了充分优化。有验证测试表明,与此前单纯基于 DRAM 内存的方案相比,新系统在保持高性能推理服务能力的同时,也显著缩短了数据恢复时间,减少了内存服务器数量,且在服务连续性和降低 TCO 方面有出色表现。在此基础上,如果再将系统硬件更新为刚刚发布的全新第三代英特尔® 至强® 可扩展处理器(代号为 Ice Lake),并搭配以英特尔® 傲腾™ 持久内存 200 系列,这个全新 AI 系统在性能上将更具优势。


英特尔® 傲腾™ 持久内存为第四范式全新 AI 系统带来的优势:
●    更高存储密度:大大降低了内存资源的单位价格,帮助系统用户降低 TCO,在一些场景中,构建成本可降低 60% 左右2
●    数据持久性优势:使系统的数据恢复速度实现突破,服务恢复时间可从小时级缩短至分钟级3,从而更好地保证了服务连续性;
●    队列性能优势:可与持久化特性协同,显著提升单台服务器吞吐性能,帮助优化 Kafka 服务器上消息队列的工作效能。在吞吐带宽一定的情况下,让服务器需求数量大幅下降;
●    服务性能进一步增强:为新系统换用全新第三代英特尔® 至强® 可扩展处理器与英特尔® 傲腾™ 持久内存 200 系列的组合,能进一步增强 OpenMLDB 机器学习数据库的请求发送时延性能和吞吐性能,在缩短请求时延上获得多达 23.5% 的提升,请求吞吐性能则获得多达 27.6% 的提升4
●    性价比优势:接近 DRAM 内存的 I/O 性能,使基于傲腾™ 持久内存的新系统服务性能仅略低于基于纯 DRAM 内存的方案,完全能满足企业用户的预期。


背景:企业构建高质量在线推理服务面临服务连续性和 TCO 双重挑战

在线 AI 推理服务如今正在金融、医疗、零售、制造等行业的经营、决策过程中发挥越来越重要的作用。作为高质量在线推理服务的基石,海量业务数据的高维、稀疏特征,是企业用户进行相关 AI 系统设计时必须考虑的重要因素之一。

以信用卡风控场景为例,每组用户数据都具有状态类(是否关联银行卡,是否是大客户等)、行为类(刷卡频次、刷卡地点等)以及其它不同特征大类。每个大类下又有不同小类,若细化到单个用户,还有更为多样的个性化属性(年龄、性别等),由此交叉组合获得的数据维度已经能达到上亿乃至数十亿之多。在这些数据中,目标特征(如恶意套现行为等)的命中率又非常低,因此形成了典型的稀疏性特征。

除了金融风控场景,用于线上推荐、医疗筛查等场景的在线推理系统也面临类似状况。基于高维、稀疏数据产生的高维、超高维特征工程和模型,虽然能提升推理准确率,但其体量过于庞大的话,不仅对系统的框架与算法的设计、计算处理能力有更为严苛的要求,也使内存这个此前并不为人们太过关注的系统模块,变得越来越关键,甚至成为了 AI 系统全流程设计中的技术焦点。

此前,企业用户通常会采用分布式计算架构,借助 DRAM 内存满足实时数据处理和高维特征及模型的存储需求,并通过多集群副本来解决 DRAM 内存的数据易失性问题,来保证服务的连续性和质量。然而随着企业业务规模的不断扩展,高维特征和模型的大小及数量也在快速增长,承载在线推理服务的 AI 系统所需的内存硬件资源以及 TCO,也开始呈几何倍数增加。

此前采用固态盘、HDD 硬盘等外存储设备进行数据备份的方式如今也遭遇了新的问题,这种方式简而言之,就是要在系统出现软硬件错误宕机等异常情况后,把高维模型从性能较低的外部存储设备拷贝回内存中,再根据服务场景的需求恢复工作流程。可随着高维模型体量越来越大,这一过程如今要消耗数小时之久,而且在一些场景中还可能出现严重的长尾时延现象。对于金融、医疗、电商这类对线上服务质量要求极高的行业而言,这显然会严重影响服务质量和用户满意度。


解决方案:基于傲腾™ 持久内存构建更优全流程 AI 系统

为更加全方位地应对上述挑战,第四范式与英特尔合作,基于英特尔® 傲腾™ 持久内存,通过软硬一体化设计,在第四范式 SageOne AI 算力平台上构建了具备更高性能、更高服务连续性和更低 TCO 的 HyperCycle Machine Learning 全流程 AI 系统,来为企业用户提供品质更优的在线推理服务。第四范式希望该系统能为用户带来以下优势:
●    更强性能:与第四范式自研高维机器学习框架,以及 TensorFlow 等开源框架无缝对接,提供接近纯 DRAM 内存配置的性能表现,实现每秒亿级 KV 查询能力;
●    更佳服务连续性:使在线推理系统在出现停电、物理故障、软件崩溃等情况下,将数据恢复时长缩短至分钟级,更好地保障线上服务的连续性;
●    更低 TCO:帮助企业用户有效降低系统采购、部署、运维和管理等费用,大幅降低 TCO。

图一 HyperCycle Machine Learning 全流程 AI 系统架构示意图

基于这三大目标,如图一所示,新的全流程 AI 系统架构大致可划分为 “在线推理” 和 “离线探索/自学习” 两大功能区,其工作流程可分为以下几个环节:
●    离线探索:当系统从空白状态(未累积任何模型)下冷启动时,首先使用离线数据进行自动特征工程(包括特征自动组合、自动剪枝等操作)和自动模型训练(包括模型自动选择、自动调参等操作)步骤,从而产生初始的特征工程脚本和模型;
●    在线推理:在完成初始化后,用户可通过 WEB 网页、APP 应用等交互界面提交线上预测请求。系统会通过特征工程数据库中存放的历史数据(例如以往的交易记录等),结合特征工程脚本来进行实时特征抽取,得到的结果被送往参数服务器中,用于实施在线推理并获得预测结果,然后反馈给用户;
●    自学习:借助 Kafka 服务器,系统也可将预测结果、预测请求以及行为反馈数据形成消息队列;队列中的数据会根据设定的阈值或频率导入自动特征工程和自动模型训练组件,然后将特征工程脚本和模型更新到在线服务流程中,完成在线推理系统的工作闭环。


高性能、高密度和持久性,助力优化全流程 AI 系统各流程工作效能

为确保系统获得更优运行效能,并满足其在数据连续性、TCO 方面的要求,如表一所示,第四范式与英特尔一起,针对上述流程中各组件所承载任务的不同特性和需求,为其配备了不同工作模式下的英特尔® 傲腾™ 持久内存。

表一 英特尔® 傲腾™ 持久内存以不同工作模式满足不同任务的需求

图二 英特尔® 傲腾™ 持久内存的两种主要应用模式


HyperPS 万亿维级参数服务器、OpenMLDB 机器学习数据库与 Kafka 消息队列优化版本 Pafka

在引入英特尔® 傲腾™ 持久内存后,第四范式也与英特尔携手,对 HyperPS 万亿维级参数服务器、OpenMLDB 机器学习数据库和 Kafka 消息队列进行了优化。

 

提升参数服务器效率

除为新参数服务器注入高性能底层序列化框架、链路共享、多级访存优化、双端参数合并以及动态扩缩容等特性,第四范式还结合傲腾™ 持久内存的优势,借助英特尔® 持久化内存开发工具包(Persistent Memory Development Kit,以下简称为 PMDK)提供的编程模型、环境及大量函数库和工具,对底层系统架构、存取性能等进行了软硬一体的优化设计,包括:
●    针对节点内 shard 设计新的存储引擎,并采用持久化哈希表作为底层数据结构储存特征,从而在保证高并行度性能的同时,优化基于傲腾™ 持久内存的数据组织格式,获得近乎纯 DRAM 内存配置下哈希表的性能;
●    基于傲腾™ 持久内存对参数服务器灾难恢复机制进行调优,使用持久化智能指针记录哈希表的核心数据结构和根指针,实现业界领先的参数服务器实时恢复能力;
●    利用英特尔® PMDK 提供的 transaction 机制,使用 pmempool 函数库分配和管理持久内存空间,使傲腾™ 持久内存中的数据保持一致性;
●    策略性减少可能影响性能的持久化操作,进一步提高参数服务器性能。

 

提升 OpenMLDB 机器学习数据库效率

在引入傲腾™ 持久内存后,第四范式进一步对 OpenMLDB 机器学习数据库实施创新优化设计,使之在具备高效计算、读写分离、高并发、高性能查询等特性的同时,也能充分发挥持久内存高密度和持久化的优势,并将持久化操作带来的性能损耗降至更小,让用户放心将原有基于传统固态盘、HDD 硬盘等外部存储设备的数据持久化架构优化更新为基于 AD 模式的傲腾™ 持久内存的数据持久化架构。这些创新优化设计包括:
●    加入持久化智能指针,其巧妙地利用 64 位操作系统中 64 位宽指针尚未被使用的低 4 位,来标记目标地址的数据是否已持久化;
●    在比较并交换操作(Compare-And-Swap,CAS)指令中引入新的 “读前持久化”(flush-before-read)概念,解决原有 CAS 指令中,因缺乏持久化语义而无法在英特尔® 傲腾™ 持久内存中直接作为带有持久化特性的原子操作来使用的问题。

 

推出基于傲腾™ 持久内存的 Kafka 优化版本 Pafka

基于傲腾™ 持久内存的 Kafka 优化版本 Pafka,可在对存储数据结构进行改造的基础上,将原先只能存储在传统固态盘、HDD 硬盘等持久化设备上的 Segment,通过英特尔® PMDK 进行的持久化操作存储到傲腾™ 持久内存上,从而为企业用户带来以下优势:
●    与常见传统固态盘、HDD 硬盘存储相比,Pafka 在单服务器上单个 socket 的吞吐和延迟的性能得到了大幅提升;
●    单节点吞吐性能的提升,使企业在消息队列集群上投入的硬件成本获得有效缩减;
●    Pafka 基于 Kafka 改造,用户原有业务代码无需修改,能零代码改造迁移至新系统。

更多细节,请查阅 https://github.com/4paradigm/pafka


用户收益:进一步增强性能,大幅缩短数据恢复时间并降低 TCO

目前,第四范式新一代全流程 AI 系统已在多个领域获得部署和实践,并以优异的在线推理性能表现,获得了用户的良好反馈。特别是在刚刚发布的全新第三代英特尔® 至强® 可扩展处理器的支持下,新系统在服务性能的强化上也迎来了新的助力——这款处理器与英特尔® 傲腾™ 持久内存 200 系列的强强联手,借助更为先进的硬件架构和软件调优手段,帮助新系统进一步优化了各功能组件的工作效率,并实现了更高的整体服务性能提升,细节如下:

服务性能:在引入全新第三代英特尔® 至强® 可扩展处理器与英特尔® 傲腾™ 持久内存 200 系列的组合后,位于核心的 OpenMLDB 机器学习数据库在请求发送时延性能和吞吐性能上相较上一代硬件平台都获得了显著提升,其中:

●    请求时延(TP50):如图三(左侧)所示,在不同数量的线程下,基于第三代英特尔® 至强® 可扩展处理器与英特尔® 傲腾™ 持久内存 200 系列组合的优化组在请求时延(TP50)性能上,较第二代英特尔® 至强® 可扩展处理器与英特尔® 傲腾™ 持久内存 100 系列组合的基准组,提升了 10.5%~23.5%4

●    请求吞吐性能:如图三(右侧)所示,在不同数量的线程下,基于新硬件组合的优化组与基准组相比,在吞吐性能上提升了 11.9%~27.6%4

图三 新硬件组合助 OpenMLDB 机器学习数据库达成请求性能提升

●    发送时延(TP99):如图四(左侧)所示,在不同数量的线程下,基于新硬件组合的优化组与基准组相比,在发送时延(TP99)性能上提升了 5.8%~43.8%4

●    发送吞吐性能:如图四(右侧)所示,在不同数量的线程下,基于新硬件组合的优化组与基准组相比,在吞吐性能上提升了 21.4%~36.9%4

图四 新硬件组合助 OpenMLDB 机器学习数据库达成发送性能提升

即便与配备纯 DRAM 内存的硬件组合相比,基于新硬件组合的优化组在服务性能上也不遑多让。在一些测试中,基于新硬件组合的 OpenMLDB 机器学习数据库,在 TP50、TP99 以及 TP9999 下的延迟性能已经接近或超越了纯 DRAM 内存版本的数据库5

服务连续性:优化后的参数服务器和 OpenMLDB 机器学习数据库的数据恢复时间大幅缩短。在一些针对参数服务器的测评中,恢复速度最快已可达毫秒级6,而优化后的 OpenMLDB 机器学习数据库在一些用户场景中的恢复时间,也从小时级缩短至分钟级。

如图五所示,第四范式新一代在线推理系统经某用户实战验证,其 OpenMLDB 机器学习数据库的数据恢复时长从优化前(配备纯 DRAM 内存)的 373.33 分钟,降至优化后(基于傲腾™ 持久内存)的 1.07 分钟,下降幅度高达 99.7%7

图五 某用户 OpenMLDB 机器学习数据库的数据恢复时间在傲腾™ 持久内存的助力下大幅缩短

TCO:基于傲腾™ 持久内存的新方案可在保证服务质量和性能的同时,帮助企业用户显著降低成本支出。在某银行业用户的反欺诈交易场景中,如表二所示,此前采用纯 DRAM 内存配置时需要部署的服务器总量达 70 台之多,而导入傲腾™ 持久内存的新方案后,服务器总量锐减至 24 台,下降了 65.7%8;据估算,仅采购成本就可降低 60% 左右9

表二 英特尔® 傲腾™ 持久内存成本获益对比

 

未来展望

第四范式新一代在线推理系统在实践中凭借更佳的表现获得了各行业用户的一致好评。基于这一成功合作,第四范式和英特尔还计划在以下几个方面进行更为深入的探索:
●    进一步探索基于傲腾™ 持久内存优化的 AI 解决方案在各类规模化、商用化场景中的应用,加速先进软硬件产品、AI 技术与产业实践的融合步伐;
●    进一步优化基于傲腾™ 持久内存的在线评估系统在第三代英特尔® 至强® 可扩展平台上的工作效能;
●    推动基于傲腾™ 持久内存优化的 Kafka、HyperPS 万亿维级参数服务器及 OpenMLDB 机器学习数据库技术方案的开源进程,具体工作包括:
●    基于傲腾™ 持久内存的 Kafka 优化版本 Pafka:其可在英特尔® PMDK 的协同下,通过优化的数据结构,让消息队列数据持久化存储在傲腾™ 持久内存上,在消除性能瓶颈的同时,降低硬件成本,详情请访问:https://github.com/4paradigm/pafka
●    基于傲腾™ 持久内存的 OpenMLDB 机器学习数据库的底层持久化数据结构 pmemstore:第四范式将其解耦后,作为单独的数据存储引擎供第三方调用,同时其新的数据结构也获得英特尔® PMDK 的支持,详情请访问:https://github.com/4paradigm/pmemstore

着眼更远的未来,双方也将更多结合英特尔创新软硬件产品与技术以及第四范式在 AI 领域的研发优势,共同加速企业规模化 AI 应用的创新和落地。

英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

英特尔技术特性和优势取决于系统配置,并可能需要支持的硬件、软件或服务得以激活。产品性能会基于系统配置有所变化。没有任何产品或组件是绝对安全的。更多信息请从原始设备制造商或零

售商处获得,或请见 intel.com

描述的成本降低情景均旨在在特定情况和配置中举例说明特定英特尔产品如何影响未来成本并提供成本节约。情况均不同。英特尔不保证任何成本或成本降低。

英特尔、英特尔标识以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。

©英特尔公司版权所有

产品和性能信息

1关于 OpenMLDB 机器学习数据库的更多细节,请参考 https://github.com/4paradigm/OpenMLDB
2、8、9  数据源自第四范式进行的内部测试和验证,DRAM 内存服务器配置为 512 GB DRAM 内存 + 4* SATA 固态盘的存储设备;英特尔® 傲腾™ 持久内存服务器配置为 1.5TB (12 * 128GB),如欲了解详情, 请咨询第四范式,https://www.4paradigm.com
3数据源自第四范式进行的内部测试和验证,如欲了解详情,请咨询第四范式,https://www.4paradigm.com​
4测试配置:基准组配置: 单节点双路英特尔® 至强® 铂金 8260M 处理器、主频 2.40GHz,24 核心 48 线程,超线程开启,睿频开启;内存:DRAM 内存 32GB*12(DDR 2666MHz),英特尔® 傲腾™ 持久内存 128GB*12 (2666 MHz);BIOS: SE5C620.86B.02.01.0012.070720200218 (microcode : 0x5002f01);操作系统:CentOS Linux release 8.2.2004 (Core);内核:4.18.0-193.el8.x86_64 ;其他配置信息:jdk1.8.0_121, libpmemobj-cpp-1.12,pmdk版本 1.9.2,pmemkv版本 1.4;优化组配置: 单节点双路英特尔® 至强® 铂金 8352Y 处理器,主频 2.20GHz, 32 核心 64 线程,超线程开启,睿频开启;内存:DRAM 内存 16GB*16 (DDR 3200MHz),英特尔® 傲腾™ 持久内存 200 系列 128GB*16(3200 MHz); BIOS: WLYDCRB1.SYS.0020.P96.2104060045(microcode : 0xd000280);操作系统:CentOS Linux release 8.2.2004 (Core) , 内核:4.18.0-193.el8.x86_64;其他配置信息:jdk1.8.0_121, libpmemobj-cpp-1.12,pmdk 版本 1.9.2,pmemkv 版本 1.4。
5相关详细信息请参阅:Cheng Chen, Jun Yang, Mian Lu, Taize Wang, Zhao Zheng, Yuqiang Chen, Wenyuan Dai, Bingsheng He, Weng-Fai Wong, Guoan Wu, Yuping Zhao, and Andy Rudoff,《Optimizing In-memory Database Engine For AI-powered On-line Decision Augmentation Using Persistent Memory》,https://dl.acm.org/doi/10.14778/3446095.3446102
6结果援引自公开媒体报道:https://www.163.com/tech/article/FGCFSO4N00099A7M.html