01
基础介绍
1. 电商推荐问题的特点
电商场景下推荐系统的问题特点:
2. Why GRAPH?
刚刚介绍了电商推荐的问题和难处,我们回到推荐的本质上来思考这个问题,对于推荐系统来说,其中的重要参与方就是用户和商品,而推荐系统的本质就是在找用户和商品的关联性:
能否将用户图和商品图连通起来,利用用户和商品关联性,构建成一张充满不同关系边的图?这就是一张简单的U-I二部图,如上所示。
02
9N GRAPH工业化算法解决方案
如何把这张U-I图在工业场景下完成落地和应用?我们实现了一整套9N GRAPH工业化端到端的算法解决方案,它不仅包含数据能力、算法框架、算法模型还有一系列的应用。
实现工业化场景的端到端学习,我们遇到了不少挑战,这里举几点出来:
9N GRAPH的整体方案如右图所示,它包含6个层次,图中暗黄色的部分包含图学习的多元化,图的探索和创新数据流图实例,是我们还在进行中的部分,其他颜色部分已经在提供稳定服务了,其中浅黄色是在线工程团队帮助我们一起建设的在线图服务。
1.9N GRAPH数据&样本
①如何实现大规模的图样本生成及存储问题?
通过对电商场景的用户行为进行分析,我们发现:行为数据呈现“极度长尾效应”,换句话说是“旱的旱死,涝的涝死”。像图中呈现的,在99分位数之上的用户行为居然差不多等于剩下的所有用户行为之和。
这种现象,对于传统的深度学习来讲,其实很不友好,传统的深度学习建模方法,和训练策略比较适用于中高活跃的用户,他们的行为数据较多,但又不过分集中,在多轮迭代的训练方式下,数据利用效果好。
反过来看,对于99分位数之上的那些极度活跃用户,他们的行为数据过于丰富 ( 比如单日浏览了好几百个上千个商品 ),在工业场景上通常会因为工程性能问题做出截断,导致仅有少数最近期的行为信息参与在线预估,反而会导致建模失真,效果不佳。
对于长尾用户,他们的行为稀疏,甚至还有不少的噪声,建模较难,数据利用的效果也很差。
我们希望用图的方式,解决这两类数据失真的问题:
以最简单U-I二部图为例,我们将用户大量的历史行为,通过U-I关系抽取模块,建立起图关系数据差不多有400TB左右;又通过训练日志进行label处理,两者进行关联后,形成图训练样本,通常能达到800-;然后送入到模型训练框架中,进行主模型和图模型的联合训练。
②如何解决图服务及信息时效性问题?
高实时的信息可以带来不小的效果提升,因此在线的服务中除了需要包含历史长期的图信息外,还要对最近期的信息有感知,所以我们设计并实现了一套秒级别更新的在线服务。如上图所示,上面一条通路是包含数月信息的长期图信息,下面的这一条通路是秒级别的实时信息更新,最终打造成了一个高时效性的图数据服务系统。
2.9N Lite 算法框架
接下来看如何实现一个训练框架,以及大规模图如何在工业场景中训练问题。
我们在介绍大规模图训练前,先介绍下9N ( 即九数 ) 算法框架整体,因为图训练也是基于这一套实现的。
九数算法框架是一个使用作为后端计算引擎的、深度定制的、支持弹性扩展和高性能推理服务的算法框架。它基于广告精排的任务特点研发的,支持了数年来京东广告的高速迭代发展。它包含四大基础设施:
3.训练
如右图所示,从下向上看,整个9N GL框架做了多个层级的模块抽象,通过的方式,抽象出了训练日志相关的子图结构,通过unify 抽象出了各种图算子,通过抽象了多种信息聚合方式;
整个9N GL将外部数据与样本关联的图信息抽象成了,支持多种不同形式的,不仅可以支持数据样本级别,甚至可以直接关联到在线检索系统甚至图引擎。
9N GL也支持多种方式的主模型+图模型训练模式,多阶段训练以及端到端联合训练。
9N GL中的API设计相对简单易用,主要包含有几个层次的训练接口:
左侧是一段实例代码,仅需简单的函数调用,即可完成图解析,图邻居获取等操作。
4.图在推荐、电商场景的典型 建模思路
接下来,向大家介绍一下图在推荐、广告场景中的典型端到端建模思路。
以CTR模型为例,在信息源部分引入用户和商品的交互图结构化信息,通过图的统一操作接口获取出建模所需要的图特征,然后经过特征编码器编码为常见的id类特征,后续可以通过一系列的Graph 获取到用户、商品的高阶关系表征。
此外,在异构图网络中,我们可以对不同语义空间进行节点信息聚合,来捕捉到用户的潜在行为意图。
当然,以上是一个常见的联合建模、联合训练的思路。接下来的部分,给大家详细介绍我们提出的一个具体模型BVSHG是如何做的。
03
BVSHG
1. BVSHG:业界常见图算法 Graph
我们在详细介绍BVSHG模型之前,还是先来看一下业界常见的图算法和图应用。
首先是Graph 类算法,顾名思义,GE类的算法本质上就是将低阶特征进行化,业界常用的有、、LINE、EGES,他们的思路大同小异,如下图举例来说:
但这种做法通常适用于无监督学习,其监督信号与最终目标通常不一致,只适用于多阶段训练。也没有充分发掘高阶的潜在关联关系。
2. BVSHG:业界常见图算法 Graph
我们再来看下GNN系列的常见算法和模型。
主要有这几类:U-I二部图、用户图、社交网络、知识图谱。
在建模中也通常是围绕U-U、U-I、I-I三大类关系进行特征及属性关系挖掘。但他的好处是可以结合最终建模的目标进行端到端学习。
3. BVSHG:Multi- Multi-view -based GNN
以上的两类建模适用场景不同,我们在其中发现存在一些不足,如:
而我们非常贪心地希望既要对短期用户行为序列建模,又要对长期用户商品交互信息的多视图抽取,还要在一定程度上解决序列化建模带来的性能挑战。
作为成年人,想全都要!因此我们提出了BVSHG,即 Multi- Multi-view -based GNN 建模方式。它的大致示意图如下,左侧为图信息的构建,右侧为图建模方式图,接下来我们会分部分详细讲讲。
① BVSHG:Long-term Multi- Graph
首先,我们重点讲讲如何构建的这一张长期用户多种行为-based 异构图。
这是一张多元异构图,在图中你可以看到至少4类节点,比如红色的User节点数据流图实例,蓝色的Item节点,黄色的节点,绿色的Brand节点等等。
此外,构图时,我们采用了用户和商品、类目、品牌之间复杂的交互关系,比如上方的这个白色框中描述的是我们构建图时候用了用户的长期浏览关系,比如中包含item序列,对应的序列,对应的brand序列;
下方的框中,描述的是我们采用了用户的长期复杂行为数据,比如User1分享了Item4,也就分享了对应的类目C3和对应的品牌B3;
在右侧的图中,可以看出来,U1对I1、I2、I3都有浏览边连接,但是对于I4有share 分享边链接,U2对I3有加购边链接。而图中的I1、I2、I3之间由于存在同一个内,有共同出现的关系,有共现边。
右侧中间的图描述的是User跟类目之间的边情况,右下方的图描述的是用户和品牌之间的边的情况。
在此特别说明的是,我们只有一张包含多种节点、多种行为边的异构大图,右侧的三个小图,是在大图中截取的一小段示意图。
当然了,在构建这张大图的时候,我们也有一些超参数需要调节,比如切分的时间准则,通常采用30min作为gap,但是并不是最优。
② BVSHG:Multi-
这一页我们的模型分为三个部分:
将上述3个 在一起,最终经过MLP输出pCTR。
我们先重点介绍红框中的部分,这部分是我们的从我们的大图中采样找到的交互过的Item,排成一个list,用作 user的一种表达,也可以简单理解为1阶邻居。
对于 user,我们首先采用 - 的方式采样得到他的一跳 item 邻居,具体而言,该采样方式通过业务自定义的行为权重,对用户的不同行为类型的邻居节点进行加权的随机采样。而对于 item 以及第一次采样得到的 user 的一跳 item 邻居,我们采用同质采样( )的方式,从图中得到相同类型的邻居节点。
③ BVSHG:Multi-View -Based Item SAGE
现在,我们重点介绍BVSHG的精髓,Multi-View信息的抽取和玩法。
对应到上方的I1,我们在大图中,找到I1的i-i关系表征,也找到I1对应的类别C的c-c关系表征,同理,我们也找到了I1对应的品牌B的b-b关系表征,这三段向量与I、C、B构建出相应的 变换后在一起,形成一个O。
同理,I2、I3到In形成O2、O3到On
同理, It形成Ot,将O1~On的向量与Ot进行计算。
④ BVSHG:-based Short-term
上图的红色框中,我们仍然借用对用户的短期行为local 进行序列关系的抽取,用来提取短期兴趣。
我们的BVSHG的思路大致介绍完毕了,模型结构虽然复杂,但是建模思路比较清晰容易理解。
4.业务效果
我们将BVSHG模型在京东推荐广告的精排场景进行了实验,模型的点击消费有相应上涨。当然模型结构也可以作为抛砖引玉,图表征信息与主模型可以采用多种方式进行交互作用,训练。
5. 图算法的其他玩法
我们再来看看我们尝试过的其他图算法的玩法:
04
未来展望
未来展望,我们最近一年在图上玩了不少花样,但总起来看,还有两个点我们还有很强的兴趣继续探索:
我们一系列关于广告、推荐算法的探索及工程实践将不止于图,9N AI团队后续也会尝试通过开源或分享的方式进一步与同行更好地交流和互相学习。
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh