企业服务社

您的位置:企业服务社 > 新闻资讯

腾讯企业邮箱网页_每秒10亿次更新、秒级同步延

本文编辑:proprieter时间:2022-08-16 15:52
问题咨询扫码加客服
         深度学习时代的推荐系统,腾讯完成了「破局」。在现代社会,网络购物、订餐以及其他各种形式的在线消费已经成为了日常生活的重要组成部分。在享受便利生活的同时,人们有时不得不受困于浩瀚复杂的信息和数据。这时,对个性化和智能化推荐系统(Recommender System)的需求变得日益强烈。这些系统能够有效解决信息过载问题,根据用户历史偏好和约束更精准地推荐个性化物品,从而提升用户体验。而随着深度学习应用的爆发式发展,基于深度学习的推荐得到了越来越多的关注。深度学习推荐系统(DLRS)已经成为 Meta、谷歌、英伟达等科技巨头的主要基础设施。DLRS 通常包含一大组托管在大量 ML 模型和深度神经网络上的参数服务器,它们通过在地理分布式数据中心的复制来实现客户端的容错和低延迟通信。其中,每个数据中心具有的一组推理服务器从本地参数服务器中提取模型并为客户端输出推荐结果。

为了确保及时地服务于新用户和内容,DLRS 必须不断地以低延迟更新 ML 模型。然而在现有 DLRS 系统中做到这一点并不容易。英伟达 Merlin、谷歌 TFRA 以及 Meta BigGraph 等流行推荐系统采用离线方式更新模型,在收集到新的训练数据后离线计算模型梯度,验证模型检查点并传播到所有数据中心,整个过程需要几分钟甚至是几小时。另一种替代方法使用广域网(WAN)优化的 ML 系统或联邦学习系统,它们使用本地收集的数据更新复制的模型并对副本进行惰性同步,往往会对 SLO(服务等级目标)造成不利影响。面对现有 DLRS 的种种限制,难道就没有破局之法吗?在 7 月 11 日 - 13 日举办的第 16 届 OSDI 2022 会议上,腾讯与爱丁堡大学等科研机构合作完成的一项研究实现了破局。研究者推出了一种既不牺牲 SLO 又能实现低延迟模型更新的大规模深度学习推荐系统—Ekko,其速度比当前 SOTA DLRS 系统实现数量级提升,并且早已部署在了腾讯的生产环境中,为用户提供各类推荐服务。OSDI(操作系统设计与实现研讨会,Operating Systems Design and Implementation)是计算机系统软件领域全球最顶级会议之一,被誉为操作系统原理领域的奥斯卡,拥有极高的学术地位,由 USENIX 主办。据了解,本届会议共 253 篇投稿论文,接收 49 篇,接收率约为 19.4%。《Ekko: A Large-Scale Deep Learning Recommender System with Low-Latency Model Update》

成为了腾讯首篇入选该会议的论文。论文地址:https://www.usenix.org/system/files/osdi22-sima.pdf接下来,我们将对腾讯推出的这个大规模深度学习推荐系统 Ekko 进行详细的解读。设计思路与系统概述首先来看设计思路。为了在不牺牲 SLO 的情况下实现低延迟模型更新,研究者允许训练服务器在线更新模型(使用梯度)并立即将模型更新传播至所有推理集群,从而绕过了长延迟更新步骤,包括离线训练、模型检查点、验证和传播,进而降低模型更新延迟。为了实现这一设计,研究者需要解决以下几个挑战:如何在带宽和异构网络路径有限的 WAN 上高效地传播大规模的模型更新;如何保护 SLO 免受可能造成关键更新延迟的网络拥塞;如何保护 SLO 免受对模型准确率造成负面影响的有偏模型更新。最终,研究者设计出了一个以低延迟对副本模型进行全局更新的大规模深度学习推荐系统 Ekko。其中在设计过程中主要在以下三个方面进行了创新。

首先设计了一种高效的点对点模型更新传播算法。现有参数服务器往往采用 primary-backup 数据复制协议来实现模型更新,但当处理大规模模型更新时,这种方式因长更新延迟和 leader 瓶颈而导致扩展性不足。因此,研究者探索通过点对点的方式来进行模型更新传播,利用更新 DLRS 模型过程中的稀疏性和时间局部性来提高更新模型的吞吐量,降低更新模型的延迟。其次,Ekko 提供了一个 SLO 保护机制。Ekko 允许模型更新在不需要离线模型验证也能达到推理集群,不过这种设计会导致 SLO 在生产环境中容易受到网络拥塞和有偏更新的影响。因此,为了处理网络拥塞,研究者设计了一个 SLO 感知的模型更新调度器,其计算指标包括更新新鲜度优先级、更新重要性优先级和模型优先级。这些指标都能预测模型更新对推理 SLO 的影响,基于它们,调度器在线计算每个模型更新的优先级。研究者将调度器集成到参数服务器,而不改变 Ekko 中点到点模型更新传播的去中心化架构。最后,Ekko 使用一种新颖的推理模型状态管理器来处理有偏更新,该管理器为每组推理模型创建了一个基线模型。然后,基线模型接收少量用户流量,并作为推理模型的真值。同时,管理器持续为基线和推理模型监控与质量相关的 SLO。

当有偏模型更新破坏了推理模型的状态时,管理器会通知见证服务器将模型回滚到健康状态。Ekko 的效果究竟如何呢?研究者利用测试台和大规模生产集群对它进行了评估。其中测试台实验结果表明,与 SOTA 参数服务器相比,Ekko 将模型更新延迟最高降低了 7 倍。研究者进一步使用 40TB 的模型和地理分布区域内的 4600 多台服务器上进行大规模生产实验,结果表明,Ekko 在实现 2.4 秒传播更新的同时每秒执行 10 亿次更新。Ekko 仅将总网络带宽的 3.0% 用于同步,余下部分用于训练和推理。这种秒级延迟性能比 SOTA DLRS 基础设施(如 TFRA 和 Check-N-Run)实现的分钟级延迟快了几个数量级。Ekko 系统架构:实现低延迟模型更新Ekko 是一个地理分布式(geo-distributed) 的 DLRS,其能更新中央数据中心的模型。然后,它将更新的模型传播到靠近全球用户的地理分布式数据中心。Ekko 将模型表示为键 - 值对,并将模型划分为分片(shard)。此外,Ekko 将模型分片存储在键 - 值存储中(在 Ekko 中称为参数存储),参数存储通过哈希将键 - 值对分配给分片。Ekko 使用基于软件的路由器将参数请求定向到
上述内容为转载或编者观点,企业服务社仅提供内容,不承担任何法律责任。如侵权请联系删除。