推荐系统之连续值DNN模型

大规模离散DNN模型已经成为工业推荐系统的主流模型,取代了之前的FTRL、FM等传统机器学习模型。在DNN模型盛行之前,推荐领域CTR模型的演化关系和模型特点值得深入探讨。

对于非专业从业者而言,理解大规模离散DNN模型中的“离散”较为困难,主要指特征的embedding,即将稀疏特征转化为稠密向量的过程。在DNN模型中,输入通常是连续值,其来源可能不被充分关注。本篇将介绍一种基于连续值的DNN模型。

连续值DNN模型是过渡模型,旨在探索DNN在业务场景的可行性,并提升FTRL模型效洞大谨果。其结构包括下层FTRL模型,进行离散化、在线分布式训练,并同步参数到参数服务器;线上Serving时,取参数进行计算得到样本点击率。

在连续值DNN模型中,FTRL模型参数在Serving时被dump,用于NN模型输入,核心在于连续值的生成。训练好NN模型后,部署参数到线上,新用户请求时,先取FTRL参数,后调用NN模型计算点击率预估值,二者同步训练。

连续值DNN模型训练硬件需求不高,我们最初使用CPU集群分布式训练,后升级为单机多卡GPU训练,以加速并降低成本。线上Serving时,FTRL参数存储在主备参数服务器,NN部分参数以JSON格式推送到Redis,服务持续读取并计算点击率预估。

连续DNN模型引入非线性,效果优于FTRL模型,且工程实现简单,便于快速迭代。引入ShowClick特征,通过记录特征出现次数和在正样本中的次数,增强特征置信度和重要性,显著提升纳基模型效果。

在模型开发过程中,我们面临线上FTRL模型更新频率与DNN训练频率不一致的问题,导致预估效果不稳定。通过调整FTRL更新频率并分离训练PS与预估PS服务,线上稳定性与成功率显著提高。

连续DNN模型效果与FTRL融合模型存在差异,融合公式在多目标场景下的适用性需谨慎考虑。在离线验证下仿斗,连续DNN点击率模型表现优于FTRL模型,但在线上效果未显现,最终发现是融合操作导致的问题。

在模型迭代过程中,大家可能遇到的难题与挑战各不相同,通过分享与交流,共同探索推荐系统中的连续值DNN模型。无论是遇到的技术难题还是经验分享,都是推动领域进步的重要力量。