推荐粗排(召回)工程实践之双塔DNN模型

粗排作用

推荐精排模型之经典排序模型 一文中我们介绍了工业推荐系统中主要包括召回、粗排、精排、重排这四个环节。粗排主要是为了进一步减少召回的Item数目,减轻精排压力,同时不损失线上效果。如果不要粗排,那就是直接对各路召回文章汇总后根据设定阈值进行截断,然后送给精排模型进行排序,每路召回选择的内容条数可以根据后验数据通过AB测试不断优化。上粗排的话,就可以扩大召回的内容数量,减少一些枯燥的调参工作。其实粗排用得好,不仅不会损失线上效果,反而能取得很好的收益。虽然从粗排喂给精排的文章减少了,但是可以通过扩充召回的文章数量,使得真正用户感兴趣的内容池子扩大,但前提是粗排模型确实有不错的排序能力,将大部分用户不感兴趣的召回文章剔除掉。本文主要跟大家讨论一下使用双塔DNN模型做推荐粗排和召回的一些理论和工程实践问题。

双塔DNN结构

我们双塔DNN做粗排的离线和在线模型结构如下图所示。用户侧和Item侧分别构建多层NN模型,最后输出一个多维(128)embedding,分别作为该用户和文章的低维语义表征,然后通过相似度函数如余弦相似度来计算两者相关性,通过计算与实际label如是否点击、阅读时长等的损失,进行后向传播优化网络参数。Item Embeding会通过持续调用模型Item侧网络进行计算,并保存到HDFS或Faiss中,供线上Serving查询使用。User Embedding在线上Serving时需要通过调用模型用户侧网络进行计算。

用户侧特征主要包括:

  • 用户基础特征,如ID,手机系统、型号、地域、注册时间、用户关键词、用户偏好等

  • 用的历史行为特征,如用户最近阅读文章ID、用户最近阅读文章关键词等

Item侧特征主要包括:

  • 文章基础特征,如文章来源、一二级分类等

  • 文章NLP特征,如文章关键词、实体词等

  • 文章统计特征,如文章的点击、展示统计量等

详细特征可以参考 推荐系统之特征构建 一文当中的思路进行特征构建

线上服务架构

粗排服务整体架构如上图所示,主要包括三个接口:

  • 用户向量计算接口,输入为文章特征

  • 文章向量计算接口,输入为用户特征

  • 用户和文章相似性计算接口,输入为用户向量和文章向量

双塔模型既可以用于粗排也可以用于召回:

用于粗排时,离线任务调用文章向量计算接口并在hdfs上生成文章向量文件,粗排预估服务不断检查文件更新状态并同步文件到预估本地机器。在线流程为:

  • 引擎端并行请求各路召回和粗排用户向量,并同步等待所有返回结果。

  • 引擎端将用户向量和召回结果文章id用来构造文章打分请求,请求粗排预估。

  • 引擎端根据粗排打分结果排序截断,请求精排预估。

用于召回时,离线任务类似,但定时任务请求预估得到文章向量,但不同步到预估,而是存到faiss。在线流程为:

  • 向量召回在线请求预估得到用户向量

  • 向量召回拿用户向量去faiss找最近距离的topk文章向量

  • 引擎汇总所有召回结果后截断

优化技巧:

  • 双塔模型也可以通过使用不同的label构造不同的模型,比如点击率模型采用用户向量和文章向量内积结果过sigmoid作为预估值,用到的损失函数为logloss,时长模型直接使用用户向量和文章向量的内积作为预估值,损失函数为mse。

  • 双塔模型也可以通过改变用户侧和文章侧的特征构造不同的模型,比如用户侧分别使用短期和长期用户兴趣特征构造短期和长期用户兴趣召回模型,使用基础泛化特征构造对用户冷启动友好的召回模型

  • 可以使用不同的label或者特征构建多塔召回模型,有点类似Multi-View DSSM的感觉了。

(0)

相关推荐

  • 离线auc有提升线上没提升

    在推荐系统实践中,我们往往会遇到一个问题:线下AUC提升并不能带来线上效果提升,这个问题在推荐系统迭代的后期往往会更加普遍. 在排除了低级失误bug以后,造成这个问题可能有下面几点原因: 样本 线下评 ...

  • 深入理解YouTube推荐系统算法

    去年天池-安泰杯跨境电商智能算法大赛是我初次接触推荐相关的比赛,通过比赛让我对推荐系统有了较为浅显的认识,赛后也是打算系统的学习这方面的内容,此后我也会将[推荐系统]作为一个系列板块进行更新,主打经典 ...

  • 深度学习尝鲜-DeepFM模型原理

    一.背景 精排模型是推荐系统中效果产出最重要的模块,深度排序模型是推荐领域应用最广迭代最快的技术领域.近年来各大公司纷纷抛弃了原有的传统机器学习模型转向深度排序模型的研究和应用,提出了非常多结合工业应 ...

  • 美食推荐:排骨蒸豆腐,蜜汁鸡翅,蒜蓉西葫芦丝,韭菜炒猪肝做法

    蜜汁鸡翅 材料: 鸡翅中.洋葱末.蒜末.老抽.蚝油.盐.味精.白糖.五香粉.辣椒末.孜然.色拉油.番茄酱.柠檬汁.香油.蜂蜜: 做法 1.鸡翅中清洗干净控干水分: 2.所有的佐料放在一个容器中: 3. ...

  • 腾讯音乐:全民K歌推荐系统架构及粗排设计

    编辑整理:张振.于洋 出品平台:DataFunTalk 导读:腾讯音乐娱乐集团( TME) 目前有四大移动音乐产品:QQ音乐.酷狗音乐.酷我音乐和全民K歌,总月活超8亿.其中,全民K歌与其他三款产品有 ...

  • 阿里粗排技术体系与最新进展

    分享嘉宾:王哲 阿里巴巴 编辑整理:乐远 语音朗读:蒋志新 出品平台:DataFunTalk 导读:在搜索.推荐.广告等需要进行大规模排序的场景,级联排序架构得到了非常广泛的应用.以阿里的在线广告系统 ...

  • 【直播课】TensorRT工程落地实践:快速掌握模型优化部署

    前言 TensorRT是一个高性能的深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟.高吞吐率的部署推理.TensorRT可用于对超大规模数据中心.嵌入式平台或自动驾驶平台进行推 ...

  • 1.9万亿参数量,快手落地业界首个万亿参数推荐精排模型

      磐创AI分享   来源 | 机器之心 [导读]来,走近快手业界首个万亿参数推荐精排模型的内部构造. 个性化推荐系统旨在根据用户的行为数据提供「定制化」的产品体验,精准的推荐系统模型也是很多互联网产 ...

  • 一线机械工程师总结Ansys Workbench——DM的工程实践应用(上)

    Ansys Workbench--DM模块的工程应用 ANSYS Workbench中提供了两种建模工具,Design Modeler(以下简称DM)与Space Claim(以下简称SC),但是我们 ...

  • 一线机械工程师总结Ansys Workbench——DM的工程实践应用(下)

    4 From New Part组合体功能 From New Part作为DM区别于其他CAD软件的一个特殊功能,作用是将多个零件组合成一个多体零件.多体零件在划分网格时可形成兼容网格,保证不同零件之间 ...

  • 【技术】陆S工艺精并粗工序要点应用实践(下)

    三.粗纱工序 "陆S纺纱工艺"对粗纱的要求是"小牵伸.大捻系数",粗纱小牵伸既可以有效保持良好的纤维结构,又有利于提高粗纱定量,降低生产成本:粗纱大捻系数是为了 ...

  • 【技术】陆S工艺精并粗工序要点应用实践(上)

    一.精梳工序 精梳工序既要尽可能多地去除短绒,又要尽量减少精梳的落棉率.增加落棉中的短绒含量,因此应从以下几个方面进行控制. 1.1 精梳的准备 (1)在开清和梳理工艺中,要切实保护纤维,减少纤维的损 ...