这章主要讲来自业界巨头的前沿实践

Facebook深度学习推荐系统

2014年提出了GBDT+LR

应用场景:广告推荐系统,标准的ctr预估场景,并且这个ctr是具有实际物理意义的,要预估的是实际精确ctr,而不是ctr数值的相对高低排序。
以GBDT+LR组合模型为基础的ctr预估模型:通过GBDT筛选和组合原始特征,输出新的离散特征送进LR,这里两种模型用同样的目标分开训练;由于GBDT不好实现并行化,facebook采用的gbdt几天更新,lr部分实时更新的策略。
实时数据流架构

  1. waiting window(数据等待窗口)的设定

窗口指的是在曝光发生后的等待时间,窗口时间过长会影响实时性,过短会丢失一些点击数据,这相当于一个超参需要进行调优。但是点击的遗漏是不可避免的,因此需要阶段性进行全量处理,减少错误的累积。

  1. 分布式架构与全局统一的action id
  2. 数据流保护机制

这里的保护是指保护模型不受错误样本数据的影响。如果点击和曝光因为某些原因无法关联,就会导致所有样本都是负样本,此时需要及时切断在线学习。

  1. 降采样和模型矫正

为了控制数据量降低开销,facebook实践了两种方式的采样:
a. 均匀采样
b. 负采样,经过负采样还解决了样本不平衡的问题
GBDT+LR的工程实践经验

  1. 特征工程模型化
  2. 模型复杂性和时效性的权衡
  3. 想法要通过数据验证

2019年提出DLRM

DLRM是一次彻底的深度学习
深度学习模型DLRM:
image.png

  • 特征工程
  • Embedding层
  • 神经网络层:这一层可选,embedding可以经过这一层做转换
  • 特征交叉层:embedding向量两两交叉做内机再与之前的连续型特征对应的embedding进行concat
  • 目标拟合层:全连接网络,最后一层给出预估的ctr

DLRM并行训练方法:
融合使用了模型并行和数据并行,embedding部分进行模型并行?mlp层进行数据并行(有点类似parameter server)
DLRM模型效果
DLRM和DCN最主要的差别在于特征交叉的方式不同,DLRM采用了不同特征域两两做内积,DCN则是更复杂的Cross layer。这两个模型在同一个数据集上比较,DLRM在acc上表现更好,但是采用不同的优化器,效果不一样。