快手联手英特尔在KGNN平台上提升大规模实时动态图像训练效率不仅需要推荐算法能够在千变万化的动态图上挖掘更深层次的物体联系,还对推荐系统的基础设施提出了更高的要求,尤其是内存性能。针对推荐业务数据量大、种类繁多、实时性要求高的问题,北京快手科技有限公司(以下简称:快手)开发了算法平台KGNN,可以在不断变化的动态图中进行更深入的挖掘。对象关系(拓扑/特征关系)。目前KGNN平台结合快手多种业务场景实现模型落地,并在发现页面、用户推荐场景、电商推荐等场景上触发,为线上业务带来显着收益,并持续迭代到提供更多模型/更快更简单的工具等等。为提升平台性能,KGNN采用英特尔?傲腾?持久内存替代传统DRAM内存,实现单机内存TB级扩展,可支持10亿级点尺度的超大图以及100亿级别的侧尺度,从而能够提供更精准的推荐。KGNN:支持超大规模异构实时图平台为了解决传统推荐算法难以挖掘高层交互历史信息的问题,图神经网络(GNN)近年来受到广泛关注。GNN使用节点特征作为初始嵌入,其中可以添加用户特征和项目特征,并引入高层交互历史信息。企业希望通过GNN模型,在动态图上挖掘更深层次的对象联系,提供更好的推荐结果。基于GNN模型,快手算法平台KGNN应运而生。KGNN平台致力于提供通用的动态GNN训练框架,以快速运行各种GNN模型。平台支持超大规模图(点规模10亿,边规模100亿)的动态图神经网络训练,可支持App发现主页面等超大流量场景的实时训练,并提供丰富的图片操作功能。此外,该平台还支持多路复用,拥有简单易用的算法流水线、完备的周边设施工具和灵活的定制化接口,并可与Tensorflow生态深度融合,帮助用户在构建模型和训练时节省大量成本systems花费在组件等方面的时间。图1是快手KGNN平台的整体执行流程图。在KGNN平台中,基于物理图存储层的异构图存储层负责为超大规模异构属性图提供存储和读写服务,可以根据不同的拓扑结构实现更合理的节点分布不同的业务线。大大降低跨节点通信带来的性能损失。此外,存储层还支持水平扩展以适应不同的训练数据量场景,并提供加权采样、遍历、负采样等多种算子,满足不同模型的交互需求。同时,这个存储层也是专门针对GNN场景设计的,支持边表过期等多种机制。图1.KGNN整体训练流程解决方案:英特尔傲腾持久内存助力KGNN的实现。由于KGNN平台需要对大量瞬息万变的超大规模图像进行实时训练,因此对异构图像存储层的读写采样能力和数据吞吐能力提出了极高的要求。传统方案是采用高性能DRAM内存扩展异构图存储以满足读写采样的性能需求。然而,企业级DRAM内存的单颗容量往往只有32GB,再加上服务器内存扩展槽的限制,单机服务器可扩展内存的最大容量受到很大限制。为了满足超大规模动态图的处理需求,需要对大量图进行切片,这不仅影响训练性能,也限制了多机可扩展性。同时,动态全局加权负采样管理、动态高阶负采样等复杂算法会在各种实例上进行很多低效的操作,会对性能产生比较大的影响,使得这些算法难以实现。用英特尔傲腾持久内存取代传统DRAM内存可以应对这些挑战。英特尔傲腾持久内存提供兼具高速、高性价比、大容量、持久数据保护、高级加密等优势的内存选项。与传统的DRAM内存不同,它结合了大容量、经济性和耐用性。读写带宽比NVMe设备高数倍,延迟问题大大减少。IntelOptane持久内存提供两种不同的操作模式:MemoryMode和AppDirectMode。在内存模式下,它与普通的易失性(非持久性)系统内存相同,但成本更低,可在保持系统预算的同时实现更高的容量。英特尔傲腾持久内存模块提供128GB、256GB和512GB容量,远远超过DRAM内存,并且可以在单个服务器中提供数TB的总内存容量。快手KGNN平台采用了英特尔傲腾持久内存的AppDirect模式。在这种模式下,有两种内存可供应用程序和操作系统使用。系统将决定是否从DRAM或IntelOptane持久内存写入或读取数据。需要最低延迟且不需要永久数据存储的操作可以在DRAM上执行,大型数据结构和必须长期保留的数据将由英特尔傲腾持久内存存储。在此模式下,即使系统断电,数据仍保留在内存中。快手KGNN平台的异构图存储层针对IntelOptane持久内存进行了优化,可提供更高性能的读写采样,并利用非易失性特性提供快速恢复等高可用性,从而提高整体Process吞吐量和稳定性。图2.基于英特尔傲腾持久内存的KGNN平台架构。英特尔傲腾持久内存解决了存储性能和容量的瓶颈。两台服务器可提供4TB容量,可实现10亿点规模和100亿边规模。处理大规模实时动态图,减少子图,从而支持更复杂算法的处理,获得更好的推荐结果。另外,高阶采样需要处理分布式环境下的各种异常情况。代码复杂度高,容易出错,如果出现异常,会对流水线执行造成影响。另外,英特尔傲腾持久内存下高阶采样的不同阶段可以并行,而在分布式情况下,一般只能在每一跳结束后才能进入下一轮。在复杂的实际业务图的情况下,英特尔傲腾持久内存预估至少有5-10倍的性能提升。在稳定性和易用性方面,对于大规模的实时动态图训练过程,一旦部分分片因宕机自动停止训练,必须等待所有分片重启,这会损失很多实时训练精度.虽然部分损失可以通过CheckPoint(检查点)机制进行恢复,但重启会导致多分片整体回到同一个CheckPoint,终端恢复时间预计高达12小时。在在线学习场景中,一旦出现此类可用性问题,需要回滚训练消耗,防止出现训练遍历问题,这使得在线学习的效果非常大。英特尔傲腾持久内存可以减少碎片。同时具有持久内存的特点。宕机后数据不会消失,恢复时间从12小时缩短到2分钟,恢复时间减少99%以上。效果:更高的性能、更低的TCO、更高的可用性得益于英特尔傲腾持久内存的优异特性,快手KGNN平台的性能有了显着提升,能够更有效地应对算法推荐应用带来的挑战:提升实时动态图像处理性能:英特尔傲腾持久内存提供更大的单机存储容量,可显着降低超大实时动态图像碎片带来的性能影响。测试数据显示,英特尔傲腾持久内存能够带来立竿见影的性能提升,同时还能支持更复杂的算法。降低算法推荐系统的TCO:与DRAM内存相比,相同容量的英特尔傲腾持久内存采购价格更低。此外,英特尔傲腾持久内存提供更高的单模块容量,让快手可以大幅减少实现TB级存储容量所需的服务器节点,大幅节省TCO。更低的故障恢复时间:快手KGNN平台基于英特尔傲腾持久内存实现了更低的故障恢复时间,有利于提高KGNN平台的稳定性和可用性,减轻运维负担。展望:生态助力数据价值挖掘快手KGNN选型和优化实践证明,英特尔傲腾持久内存可以在内存容量要求高的场景中发挥重要作用,在单位成本内提供更具竞争力的性能。目前,快手KGNN仍在迭代过程中,进一步推动英特尔傲腾持久内存的应用探索,应对推荐场景对算法和算力带来的挑战。除了英特尔傲腾持久内存,英特尔还将与快手在技术、产品、应用、生态建设等多个层面展开合作,共同验证前沿软硬件技术在用户等场景的落地和优化。建议。双方将基于端到端的数据分析和人工智能解决方案,挖掘隐藏在海量数据中的价值,驱动大数据分析和人工智能创新,为用户带来更加个性化和智能化的应用体验。关于快手快手是一个普通人记录和分享生活的短视频社交平台。以“拥抱每一种生活”为核心使命,用有温度的科技提升每个人独特的幸福感。截至2020年6月30日,快手拥有3.02亿日活跃用户,超过260亿存量短视频。它是全球领先的在线生活分享社区。关于英特尔英特尔(纳斯达克股票代码:INTC)是行业领导者,致力于创造改变世界的技术,推动全球进步和丰富生活。受摩尔定律的启发,我们继续推进半导体设计和制造,以帮助我们的客户解决他们面临的最大挑战。通过将智能注入云、网络、边缘和每个计算设备,我们释放数据的力量,让商业和社会变得更美好。有关英特尔创新的更多信息,请访问英特尔中国新闻中心newsroom.intel.cn和官方网站intel.cn。
