前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源公告 | embedx分布式训练和推理框架

开源公告 | embedx分布式训练和推理框架

作者头像
腾讯开源
发布2022-06-14 13:10:18
4590
发布2022-06-14 13:10:18
举报

embedx 是基于 c++ 开发的、完全自研的分布式 embedding 训练和推理框架。它目前支持 图模型、深度召回模型和图与排序、图与召回的联合训练模型等。

embedx是腾讯 AI 领域开源协同项目,获得过开源协同优秀奖、微信最具技术价值文集奖等,经过近 3 年的迭代,已经趋向稳定和成熟,在设计和开发的过程中,参考了业界开源项目的大量经验,现将其开源反哺业界,希望该项目能持续的进行迭代。

项目链接请参考:https://github.com/Tencent/embedx

01

项目特点一: 效率高

大规模图引擎:我们设计并实现了支持十亿节点、千亿边的大规模图引擎,以 op 形式提供了包括 random walk、negative sampling 和 neighbor sampling 等多种分布式采样接口。通过层次化采样解决分布式负例采样一致性、拒绝采样解决动态随机游走效率低、partial sum解决异构的邻居采样等问题大幅的提升了分布式采样的效率。

高性能计算引擎:基于 deepx_core 实现神经网络计算,deepx_core 提供了能自动求导的静态图引擎,该引擎支持一百余个 op, 它具备大规模稀疏、高性能、跨平台等优点。目前 deepx_core 已经对外开源,请参考 https://github.com/Tencent/deepx_core。

我们的解决方案的性能普遍是开源框架的数倍,机器节省 30%-60%。

02

项目特点二: 模型多

丰富的模型:支持训练十亿级节点、千亿级别的图模型如 deepwalk、graphsage 等、支持训练百亿级样本、百亿级特征的深度召回模型如 youtubednn、dssm 等,创新性的提出并支持训练图与深度学习的联合建模模型如 图与排序的联合建模模型 graphdeepfm、图与召回的联合建模模型 graphdssm 等。

模型创新:通过解决深度模型与图模型在排序、召回等场景中的两阶段使用方式带来的优化目标不一致等难题, 在公司内首次落地了图与排序、图与召回等模型的离线训练与在线推理,在业务中取得了不错的效果。

我们沉淀了推荐、搜索、风控等领域内累计近 20个常用的模型。

03

项目特点三: 实时性

实时流程:为捕获用户的实时行为,我们搭建了分钟级的online learning流程,即从实时数据流消费、召回实时训练与推理(基于embedx)、排序实时训练与推理(基于deepx_core), 全流程在分钟级内生效!

流程改进:在分钟级的online learning流程中,通过模型参数增量导出解决了模型训练结束后导出的效率问题,通过模型参数异步更新解决了复杂模型在线推理的效率问题,通过重要性采样纠偏实时样本的偏移分布解决了效果问题。

我们的解决方案具备全流程分钟级的实时能力,在多个推荐业务成功落地。

04

项目应用

embedx 累计支持公司 12 个业务、 30 多个团队使用、上线百余次,收到合作团队多封邮件认可反馈。我们帮以下重要产品落地使用了 embedx, 并取得了性能和效果双丰收:微信看一看、微信视频号、微信搜一搜、微信支付、微信安全、腾讯新闻、应用宝、QQ 音乐、JOOX 音乐、腾讯课堂、领航平台和腾讯黑产打击等。

写在最后

站在巨人的肩膀上才有了现在的embedx,它的高性能一部分来自于高效的计算引擎 deepx_core,它的代码质量受到团队 leader  kimmy 的严格要求。

自 2019 年下半年启动一直保持核心开发 2~3 人的规模,我们先后攻克了图模型和深度召回模型的分布式训练、模型小时级、分钟级训练、在线推理和端到端模型创新等难题。 感谢以下开发者 yuanhang、chuan、 joyce、 hill、 tinkle 、kimmy、zhenting、yuanqing、brian、yandong、yalong在不同时间做出的贡献。

最后介绍下我们团队,我们是微信搜索应用部算法平台团队,引用 deepx_core 开源时的一段话来再次表达我们对代码和系统的认知,“我们把代码和系统视为艺术,我们推崇小而美的系统,我为我们的工程师文化和艺术品而骄傲”。未来我们将开源更多项目,敬请期待。


https://github.com/Tencent/embedx

(点击文末阅读原文直接访问)

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source

(登录后才能访问公开项目)

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
联邦学习
联邦学习(Federated Learning,FELE)是一种打破数据孤岛、释放 AI 应用潜能的分布式机器学习技术,能够让联邦学习各参与方在不披露底层数据和底层数据加密(混淆)形态的前提下,通过交换加密的机器学习中间结果实现联合建模。该产品兼顾AI应用与隐私保护,开放合作,协同性高,充分释放大数据生产力,广泛适用于金融、消费互联网等行业的业务创新场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档