Skip to content

Latest commit

 

History

History
54 lines (33 loc) · 2.84 KB

intro_embedx.md

File metadata and controls

54 lines (33 loc) · 2.84 KB

embedx 详细介绍

[TOC]

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

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

项目特点一:效率高

  • 大规模图引擎

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

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

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

项目特点二:模型多

  • 丰富的模型

    • 支持 十亿级节点千亿级边 的图模型如 deepwalk、graphsage 等
    • 支持 百亿级样本百亿级特征 的深度排序、召回模型如 deepfm、din、youtubednn、dssm 等
    • 创新性的提出并支持图与排序的联合建模模型 graphdeepfm、图与召回的联合建模模型 graphdssm 等
  • 模型创新

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

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

项目特点三:实时性

  • 实时流程

    • 为捕获用户的实时行为,我们搭建了分钟级的 online learning 流程
    • 即从实时数据流消费、召回实时训练与推理、排序实时训练与推理,全流程在分钟级内生效
  • 流程改进

    • 通过 模型参数增量导出 解决了模型训练结束后导出的效率问题
    • 通过 模型参数异步更新 解决了复杂模型在线推理的效率问题
    • 通过 重要性采样纠偏 实时样本的偏移分布解决了模型效果问题

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