快手联手英特尔提升 KGNN 平台大规模实时动态图训练效率

概述

在面向短视频推荐和社交推荐等的应用场景中,推荐系统需要对海量、快速动态变化的图像进行分析与处理,这不仅要求推荐算法能够在不断变化的动态图上挖掘更深层次的对象联系,也对推荐系统的基础设施,特别是内存性能提出了更高的要求。

针对推荐业务数据量大、类型跨度广泛、实时性要求高等特点,北京快手科技有限公司(以下简称:快手)开发了算法平台 KGNN,能够在不断变化的动态图上挖掘更深层次的对象联系(拓扑/特征关系)。目前 KGNN 平台结合快手多个业务场景实现模型落地,在发现页触发,用户推荐场景,电商推荐等场景为线上业务带来了显著收益,并在继续迭代以提供更多的模型 / 更快速易用的工具等。

为了提升平台性能, KGNN 使用英特尔® 傲腾™ 持久内存来替代传统的 DRAM 内存,实现了单机内存的 TB 级扩展,可以支持点规模10亿级别、边规模百亿级别的超级大图,从而能够提供更精准的推荐。

KGNN:支持超大规模异构实时图平台

为了解决传统推荐算法很难挖掘高阶交互历史信息的问题,图神经网络(Graph Neural Network,GNN)在近年来受到广泛关注。GNN 使用节点特征作为初始嵌入,可以在这里加入用户特征、物品特征,并引入了高阶交互历史信息。企业希望通过 GNN 模型,能够在动态图上挖掘更深层次的对象联系,提供更好的推荐效果。

基于 GNN 模型,快手算法平台 KGNN 应运而生。KGNN 平台致力于提供一个通用动态 GNN 训练框架,快速运行各种 GNN 模型。该平台支持超大规模图(点规模10亿级别,边规模百亿级别)的动态图神经网络训练,可以支持快手主 App 发现页一类的超大流量场景实时训练,并提供丰富的图像操作功能。此外,这一平台还支持复用,具有简单易用的算法管道和完善的周边设施工具及灵活的定制化接口,并可与 Tensorflow 生态深度结合,从而可帮助用户大幅节省在打造模型和训练系统组件等方面花费的时间。图1为快手 KGNN 平台整体的执行流程图。

图1:KGNN 整体训练流程

在 KGNN 平台中,其中基于物理图存储层的异构图存储层负责提供超大规模异构属性图的存储和读写服务,并能够按照不同业务线的不同拓扑结构,实现更合理的节点分布,大幅度减少跨节点通讯造成的性能损失。此外,该存储层还支持水平扩展以适应不同的训练数据量场景,并提供多种带权采样、遍历、负采样等算子,以满足不同模型的交互需求。同时,这一存储层也针对 GNN 场景做了针对性设计,支持边表过期等多种机制。

解决方案:英特尔傲腾持久内存助力 KGNN 的实现

由于 KGNN 平台需要对于大量快速变化的超大规模图片进行实时训练,因此对于异构图存储层的读写采样能力以及数据吞吐能力提出了极高的要求,传统解决方案是使用高性能的 DRAM 内存来拓展异构图存储,满足读写采样对于性能的要求。但是,企业级 DRAM 内存的单条容量往往只有 32 GB,再加上服务器的内存扩展插槽的限制,单机服务器可扩展内存的最大容量受到极大限制。如果要满足对超大规模动态图的处理需求,需要对图进行大量分片,不仅影响训练性能,也会限制多机扩展性。同时,由于动态全局带权负采样管理、动态高阶负采样等复杂算法会针对各种实例进行很多低效操作,对性能造成比较大影响,导致这些算法难以实现。

使用英特尔傲腾持久内存来替代传统的 DRAM 内存可以解决上述挑战。英特尔傲腾持久内存提供了融合高速、高性价比、大容量、持久数据保护、高级加密等优势于一体的内存选项。不同于传统的 DRAM 内存,它集大容量、经济性和持久性于一身,读写带宽比 NVMe 设备高数倍,并大幅降低了延时问题。

图2:基于英特尔傲腾持久内存的 KGNN 平台架构

英特尔傲腾持久内存提供了两种不同的操作模式:内存模式 (Memory Mode) 和应用直接访问模式 (App Direct Mode)。在内存模式中,它与普通的易失性(非持久性)系统存储器完全一样,但成本更低,能在保持系统预算的同时实现更高容量。英特尔傲腾持久内存模块的容量有128 GB、256 GB 和 512 GB 几个版本,远超 DRAM 内存,能够在单台服务器中提供 TB 级别的内存总容量。

快手 KGNN 平台使用了英特尔傲腾持久内存的 App Direct 模式,在这种模式下,应用程序和操作系统会有两种可用的内存。系统将决定是从 DRAM 还是英特尔傲腾持久内存中写入或读取数据。要求最低延迟且不需要永久数据存储的操作可以在 DRAM 上执行,必须长期保留的大型数据结构和数据将由英特尔傲腾持久内存进行存储。在此模式下,即使系统关闭电源,数据仍保留在内存中。

快手 KGNN 平台的异构图存储层针对英特尔傲腾持久内存进行了针对性优化,能够提供更高性能的读写采样以及利用非易失性特征提供快速恢复等高可用能力,提高了整体流程的吞吐和稳定性。

英特尔傲腾持久内存化解了存储性能与容量的瓶颈,能够以 2 台服务器提供 4TB 的容量,可以实现点规模10亿级别、边规模百亿级别的大规模实时动态图的处理,减少分图,从而支持处理更复杂的算法,获取更好的推荐效果。

此外,高阶采样在分布式情况下需要处理各种异常情况,代码复杂度高,容易出错,而且如果出现异常,则会对流水线化执行造成冲击。此外,英特尔傲腾持久内存下高阶采样的不同阶段之间可以并行化,而分布式情况下一般只能等每一跳结束后才能进入下一轮。在实际业务图复杂的情况下,英特尔傲腾持久内存预估会有至少 5 – 10 倍的性能提升。

在稳定性与可用性方面,针对大规模实时动态图训练过程,一旦某些分片因为宕机而自动停止训练,就必须等待所有分片重启,从而会损失大量训练实时精度。尽管可以通过 Check Point(校验点)机制来挽回部分损失,但是重启会导致整体多分片必须退回到同一个 Check Point,其终端恢复的时间预计会高达 12 小时。在线学习场景下,一旦出现此类可用性问题,快手还需要让训练消费回退,防止出现训练穿越的问题,这使得在线学习的效果损失非常大。

英特尔傲腾持久内存可以减少分片,同时其具备持久内存的特性,在宕机之后数据不会消失,从而将恢复时间从 12 小时降低到 2 分钟,恢复时间减少 99% 以上。

效果:更高性能、更低TCO、更高可用性

得益于英特尔傲腾持久内存的卓越特性,快手 KGNN 平台的性能实现了显著提升,能够更有效地应对算法推荐应用所带来的挑战:

  • 提升实时动态图处理的性能:英特尔傲腾持久内存提供了更大的单机存储容量,能够显著降低超大实时动态图分片所带来的性能影响。测试数据显示,英特尔傲腾持久内存可带来立竿见影的性能提升,同时也能支持更多复杂算法。
  • 降低算法推荐系统 TCO:与 DRAM 内存相比,同等容量的英特尔傲腾持久内存采购价格更低。此外,英特尔傲腾持久内存提供有更高的单模块容量,使得快手可以大幅降低实现 TB 级存储容量所需要的服务器节点,显著节省TCO。
  • 故障恢复时间更低:基于英特尔傲腾持久内存的快手 KGNN 平台实现了更低的恢复时间,这有利于快手提升 KGNN 平台的稳定性与可用性,降低运维负担。

快手KGNN 平台负责人刘燚表示:“近年来,快手已经从纯粹的工具应用转型为短视频社区,用于用户记录和分享生产、生活的平台,用户访问量持续增长,短视频内容类型也不断丰富。在此背景下,我我们强化了在大数据、人工智能等方面的深度创新,为用户带来更精准、个性化的服务,但同时,这些新型负载也对基础设施提出了严格的要求,如更强的算力、更强的存储吞吐性能、更大的内存池,而英特尔傲腾持久内存提供了一种创新、高性能、高成本效益的内存方案,帮助我们有效应对了 KGNN 等负载给基础设施带来的挑战。”

 展望:生态助力数据价值挖掘

快手 KGNN 的选型与优化实践证明,英特尔傲腾持久内存能够在内存容量要求高的场景中扮演重要角色,在单位成本内提供更有竞争力的性能。目前,快手 KGNN 还在继续迭代中,进一步推动在英特尔傲腾持久内存方面的应用探索,应对推荐场景给算法、算力等带来的挑战。

除了英特尔傲腾持久内存之外,英特尔还将与快手在技术、产品、应用和生态建设等多个层面开展合作,共同验证前沿硬件及软件技术在用户推荐等场景中的落地与优化。双方将基于端到端的数据分析与人工智能解决方案,挖掘海量数据中蕴藏的价值,驱动大数据分析和人工智能创新,为用户带来更加个性化、智慧化的应用体验。

 

关于快手

快手是面向普通人记录和分享生活的短视频社交平台。以“记录世界 记录你”,用有温度的科技提升每个人独特的幸福感为核心使命。截至2020年7月,快手整体日活用户超过3亿,直播日活超过1.7亿,库存短视频数量超过200亿条,是全球领先的线上生活分享社区。

 

关于英特尔

英特尔(NASDAQ: INTC)作为行业引领者,创造改变世界的技术,推动全球进步并让生活丰富多彩。在摩尔定律的启迪下,我们不断致力于推进半导体设计与制造,帮助我们的客户应对最重大的挑战。通过将智能融入云、网络、边缘和各种计算设备,我们释放数据潜能,助力商业和社会变得更美好。如需了解英特尔创新的更多信息,请访问英特尔中国新闻中心newsroom.intel.cn以及官方网站intel.cn。

 

在性能测试过程中使用的软件及工作负载可能仅针对英特尔微处理器进行了性能优化。诸如 SYSmark 和 MobileMark 等测试均基于特定计算机系统、硬件、软件、操作及功能,上述任何要素的变动都有可能导致测试结果的变化。请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。更多信息敬请登陆 www.intel.com/benchmarks。

本文并未(明示或默示、或通过禁止反言或以其他方式)授予任何知识产权许可。英特尔未做出任何明示和默示的保证,包括但不限于,关于适销性、适合特定目的及不侵权的默示保证,以及在履约过程、交易过程或贸易惯例中引起的任何保证。

英特尔运营所需的任何商品和服务预测仅供讨论。就与本文中公布的预测,英特尔不负有任何购买责任。本文中提供的所有信息可在不通知的情况下随时发生变更。关于英特尔最新的产品规格和路线图,请联系您的英特尔代表。

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

在特定系统的特殊测试中测试组件性能。硬件、软件或配置的差异将影响实际性能。当您考虑采购时,请查阅其他信息来源评估性能。关于性能和基准测试程序结果的更多信息,请访问www.intel.com/benchmarks。

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

英特尔、英特尔标识以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。文中涉及的其它名称及品牌属于各自所有者资产。

©英特尔公司版权所有

概述

在面向短视频推荐和社交推荐等的应用场景中,推荐系统需要对海量、快速动态变化的图像进行分析与处理,这不仅要求推荐算法能够在不断变化的动态图上挖掘更深层次的对象联系,也对推荐系统的基础设施,特别是内存性能提出了更高的要求。

针对推荐业务数据量大、类型跨度广泛、实时性要求高等特点,北京快手科技有限公司(以下简称:快手)开发了算法平台 KGNN,能够在不断变化的动态图上挖掘更深层次的对象联系(拓扑/特征关系)。目前 KGNN 平台结合快手多个业务场景实现模型落地,在发现页触发,用户推荐场景,电商推荐等场景为线上业务带来了显著收益,并在继续迭代以提供更多的模型 / 更快速易用的工具等。

为了提升平台性能, KGNN 使用英特尔® 傲腾™ 持久内存来替代传统的 DRAM 内存,实现了单机内存的 TB 级扩展,可以支持点规模10亿级别、边规模百亿级别的超级大图,从而能够提供更精准的推荐。

 

KGNN:支持超大规模异构实时图平台

为了解决传统推荐算法很难挖掘高阶交互历史信息的问题,图神经网络(Graph Neural Network,GNN)在近年来受到广泛关注。GNN 使用节点特征作为初始嵌入,可以在这里加入用户特征、物品特征,并引入了高阶交互历史信息。企业希望通过 GNN 模型,能够在动态图上挖掘更深层次的对象联系,提供更好的推荐效果。

基于 GNN 模型,快手算法平台 KGNN 应运而生。KGNN 平台致力于提供一个通用动态 GNN 训练框架,快速运行各种 GNN 模型。该平台支持超大规模图(点规模10亿级别,边规模百亿级别)的动态图神经网络训练,可以支持快手主 App 发现页一类的超大流量场景实时训练,并提供丰富的图像操作功能。此外,这一平台还支持复用,具有简单易用的算法管道和完善的周边设施工具及灵活的定制化接口,并可与 Tensorflow 生态深度结合,从而可帮助用户大幅节省在打造模型和训练系统组件等方面花费的时间。图1为快手 KGNN 平台整体的执行流程图。

图1:KGNN 整体训练流程

 

在 KGNN 平台中,其中基于物理图存储层的异构图存储层负责提供超大规模异构属性图的存储和读写服务,并能够按照不同业务线的不同拓扑结构,实现更合理的节点分布,大幅度减少跨节点通讯造成的性能损失。此外,该存储层还支持水平扩展以适应不同的训练数据量场景,并提供多种带权采样、遍历、负采样等算子,以满足不同模型的交互需求。同时,这一存储层也针对 GNN 场景做了针对性设计,支持边表过期等多种机制。

 

解决方案:英特尔傲腾持久内存助力 KGNN 的实现

由于 KGNN 平台需要对于大量快速变化的超大规模图片进行实时训练,因此对于异构图存储层的读写采样能力以及数据吞吐能力提出了极高的要求,传统解决方案是使用高性能的 DRAM 内存来拓展异构图存储,满足读写采样对于性能的要求。但是,企业级 DRAM 内存的单条容量往往只有 32 GB,再加上服务器的内存扩展插槽的限制,单机服务器可扩展内存的最大容量受到极大限制。如果要满足对超大规模动态图的处理需求,需要对图进行大量分片,不仅影响训练性能,也会限制多机扩展性。同时,由于动态全局带权负采样管理、动态高阶负采样等复杂算法会针对各种实例进行很多低效操作,对性能造成比较大影响,导致这些算法难以实现。

使用英特尔傲腾持久内存来替代传统的 DRAM 内存可以解决上述挑战。英特尔傲腾持久内存提供了融合高速、高性价比、大容量、持久数据保护、高级加密等优势于一体的内存选项。不同于传统的 DRAM 内存,它集大容量、经济性和持久性于一身,读写带宽比 NVMe 设备高数倍,并大幅降低了延时问题。

图2:基于英特尔傲腾持久内存的 KGNN 平台架构

英特尔傲腾持久内存提供了两种不同的操作模式:内存模式 (Memory Mode) 和应用直接访问模式 (App Direct Mode)。在内存模式中,它与普通的易失性(非持久性)系统存储器完全一样,但成本更低,能在保持系统预算的同时实现更高容量。英特尔傲腾持久内存模块的容量有128 GB、256 GB 和 512 GB 几个版本,远超 DRAM 内存,能够在单台服务器中提供 TB 级别的内存总容量。

快手 KGNN 平台使用了英特尔傲腾持久内存的 App Direct 模式,在这种模式下,应用程序和操作系统会有两种可用的内存。系统将决定是从 DRAM 还是英特尔傲腾持久内存中写入或读取数据。要求最低延迟且不需要永久数据存储的操作可以在 DRAM 上执行,必须长期保留的大型数据结构和数据将由英特尔傲腾持久内存进行存储。在此模式下,即使系统关闭电源,数据仍保留在内存中。

快手 KGNN 平台的异构图存储层针对英特尔傲腾持久内存进行了针对性优化,能够提供更高性能的读写采样以及利用非易失性特征提供快速恢复等高可用能力,提高了整体流程的吞吐和稳定性。

英特尔傲腾持久内存化解了存储性能与容量的瓶颈,能够以 2 台服务器提供 4TB 的容量,可以实现点规模10亿级别、边规模百亿级别的大规模实时动态图的处理,减少分图,从而支持处理更复杂的算法,获取更好的推荐效果。

此外,高阶采样在分布式情况下需要处理各种异常情况,代码复杂度高,容易出错,而且如果出现异常,则会对流水线化执行造成冲击。此外,英特尔傲腾持久内存下高阶采样的不同阶段之间可以并行化,而分布式情况下一般只能等每一跳结束后才能进入下一轮。在实际业务图复杂的情况下,英特尔傲腾持久内存预估会有至少 5 – 10 倍的性能提升。

在稳定性与可用性方面,针对大规模实时动态图训练过程,一旦某些分片因为宕机而自动停止训练,就必须等待所有分片重启,从而会损失大量训练实时精度。尽管可以通过 Check Point(校验点)机制来挽回部分损失,但是重启会导致整体多分片必须退回到同一个 Check Point,其终端恢复的时间预计会高达 12 小时。在线学习场景下,一旦出现此类可用性问题,快手还需要让训练消费回退,防止出现训练穿越的问题,这使得在线学习的效果损失非常大。

英特尔傲腾持久内存可以减少分片,同时其具备持久内存的特性,在宕机之后数据不会消失,从而将恢复时间从 12 小时降低到 2 分钟,恢复时间减少 99% 以上。

 

效果:更高性能、更低TCO、更高可用性

得益于英特尔傲腾持久内存的卓越特性,快手 KGNN 平台的性能实现了显著提升,能够更有效地应对算法推荐应用所带来的挑战:

  • 提升实时动态图处理的性能:英特尔傲腾持久内存提供了更大的单机存储容量,能够显著降低超大实时动态图分片所带来的性能影响。测试数据显示,英特尔傲腾持久内存可带来立竿见影的性能提升,同时也能支持更多复杂算法。
  • 降低算法推荐系统 TCO:与 DRAM 内存相比,同等容量的英特尔傲腾持久内存采购价格更低。此外,英特尔傲腾持久内存提供有更高的单模块容量,使得快手可以大幅降低实现 TB 级存储容量所需要的服务器节点,显著节省TCO。
  • 故障恢复时间更低:基于英特尔傲腾持久内存的快手 KGNN 平台实现了更低的恢复时间,这有利于快手提升 KGNN 平台的稳定性与可用性,降低运维负担。

快手KGNN 平台负责人刘燚表示:“近年来,快手已经从纯粹的工具应用转型为短视频社区,用于用户记录和分享生产、生活的平台,用户访问量持续增长,短视频内容类型也不断丰富。在此背景下,我我们强化了在大数据、人工智能等方面的深度创新,为用户带来更精准、个性化的服务,但同时,这些新型负载也对基础设施提出了严格的要求,如更强的算力、更强的存储吞吐性能、更大的内存池,而英特尔傲腾持久内存提供了一种创新、高性能、高成本效益的内存方案,帮助我们有效应对了 KGNN 等负载给基础设施带来的挑战。”

 

展望:生态助力数据价值挖掘

快手 KGNN 的选型与优化实践证明,英特尔傲腾持久内存能够在内存容量要求高的场景中扮演重要角色,在单位成本内提供更有竞争力的性能。目前,快手 KGNN 还在继续迭代中,进一步推动在英特尔傲腾持久内存方面的应用探索,应对推荐场景给算法、算力等带来的挑战。

除了英特尔傲腾持久内存之外,英特尔还将与快手在技术、产品、应用和生态建设等多个层面开展合作,共同验证前沿硬件及软件技术在用户推荐等场景中的落地与优化。双方将基于端到端的数据分析与人工智能解决方案,挖掘海量数据中蕴藏的价值,驱动大数据分析和人工智能创新,为用户带来更加个性化、智慧化的应用体验。

关于快手

快手是面向普通人记录和分享生活的短视频社交平台。以“记录世界 记录你”,用有温度的科技提升每个人独特的幸福感为核心使命。截至2020年7月,快手整体日活用户超过3亿,直播日活超过1.7亿,库存短视频数量超过200亿条,是全球领先的线上生活分享社区。

关于英特尔

英特尔(NASDAQ: INTC)作为行业引领者,创造改变世界的技术,推动全球进步并让生活丰富多彩。在摩尔定律的启迪下,我们不断致力于推进半导体设计与制造,帮助我们的客户应对最重大的挑战。通过将智能融入云、网络、边缘和各种计算设备,我们释放数据潜能,助力商业和社会变得更美好。如需了解英特尔创新的更多信息,请访问英特尔中国新闻中心newsroom.intel.cn以及官方网站intel.cn。

 

在性能测试过程中使用的软件及工作负载可能仅针对英特尔微处理器进行了性能优化。诸如 SYSmark 和 MobileMark 等测试均基于特定计算机系统、硬件、软件、操作及功能,上述任何要素的变动都有可能导致测试结果的变化。请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。更多信息敬请登陆 www.intel.com/benchmarks。

本文并未(明示或默示、或通过禁止反言或以其他方式)授予任何知识产权许可。英特尔未做出任何明示和默示的保证,包括但不限于,关于适销性、适合特定目的及不侵权的默示保证,以及在履约过程、交易过程或贸易惯例中引起的任何保证。

英特尔运营所需的任何商品和服务预测仅供讨论。就与本文中公布的预测,英特尔不负有任何购买责任。本文中提供的所有信息可在不通知的情况下随时发生变更。关于英特尔最新的产品规格和路线图,请联系您的英特尔代表。

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

在特定系统的特殊测试中测试组件性能。硬件、软件或配置的差异将影响实际性能。当您考虑采购时,请查阅其他信息来源评估性能。关于性能和基准测试程序结果的更多信息,请访问www.intel.com/benchmarks。

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

英特尔、英特尔标识以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。文中涉及的其它名称及品牌属于各自所有者资产。

©英特尔公司版权所有

ChinaIT.com 网站文章仅限于提供更多信息,不代表本网站立场观点。如需转载,请注明来源 。转载之文章来源于互联网,如有版权问题,请与我们联系:content@chinait.com。

下载 ChinaIT.com APP,随时掌握最新IT资讯