当前位置: 首页 > news >正文

推荐系统学习笔记(十四)-粗排三塔模型

粗排 vs 精排

粗排是在精排之前进行快速初步筛选的操作,所以粗排和精排有存在一些区别:

粗排精排
给几千篇笔记打分给几百篇笔记打分
单次推理代价必须小单次推理代价很大
预估的准确性不高预估的准确性更高

精排模型 vs 双塔模型

回顾前面介绍的召回和排序中主要使用的两个模型:

精排模型
双塔模型

它们的区别在于:

精排模型双塔模型
前期融合:先对所有特征做concatenation,再输入神经网络。后期融合:把用户、物品特征分别输入不同的神经网络,不对用户、物品特征做融合。
线上推理代价大:如果有n篇候选笔记,整个大模型要做n次推理。线上计算量小:用户塔只需要做一次线上推理,而物品表征通过线下计算事先存储在数据库中,物品塔在线上不做推理。

显然,双塔模型的预估准确性不如精排模型,后期融合适合快速做召回,前期融合更适合精准排序。

粗排的三塔模型

参考文献:

Zhe Wang et al. COLD: Towards the Next Generation of Pre-Ranking System. In DLP -

KDD , 2020。https://arxiv.org/pdf/2007.16122

工作中有一种常用的粗排模型,是三塔模型,效果介于精排和双塔模型之间,模型架构如下图所示:

如图可见,实际上粗排模型的输出、训练与精排完全一致,主要区别在于下面的三个塔,该模型介于前期融合和后期融合之间。这个模型的特点在于:

1. 只有一个用户,用户塔只用做一次推理。因此即使用户塔很大,总计算量也不大。
2. 有 n 个物品,理论上物品塔需要做 n 次推理。所以需要缓存物品塔的输出向量,避免绝大部分推理。
3. 交叉塔的输入(统计特征等)动态变化,缓存不可行。而有 n 个物品,交叉塔必须要做 n 次推理,所以交叉塔必须要小。

而在模型的上层,有 n 个物品必须要做 n 次推理。上层推理的计算量要高于交叉塔,也是粗排的大部分计算量所在。因此,三塔模型的推理

1. 从多个数据源取特征:
(1)1  个用户的画像、统计特征;
(2)n  个物品的画像、统计特征。
2. 用户塔:只做一次推理。
3. 物品塔:未命中缓存时需要做推理。
4. 交叉塔:必须做 n 次推理。
5.上层网络做 n 次推理,给 n 个物品打分。

http://www.dtcms.com/a/351714.html

相关文章:

  • 庖丁解牛:深入解析Oracle SQL语言的四大分类——DML、DDL、DCL、TCL
  • KubeBlocks for Oracle 容器化之路
  • 高校党建系统设计与实现(代码+数据库+LW)
  • 从零开始的 Docker 之旅
  • HIVE的高频面试UDTF函数
  • 【软考论文】论面向对象建模方法(动态、静态)
  • 无人机倾斜摄影农田航线规划
  • HTML应用指南:利用GET请求获取中国银行人民币存款利率数据
  • SciPy科学计算与应用:SciPy线性代数模块入门-矩阵运算与应用
  • 精确位置定位,AR交互助力高效作业流程​
  • 余承东:鸿蒙智行累计交付突破90万辆
  • 机器人视频感知架构深度解析:7条技术法则,打造低延迟实时感知与交互
  • 【ROS2】 忽略局域网多机通信导致数据接收的bug
  • 天气查询小程序项目报告
  • iOS 审核 4.3a【二进制加固】
  • Spring MVC 全解析:从核心原理到 SSM 整合实战 (附完整源码)
  • leetcode-python-383赎金信
  • 深度学习----由手写数字识别案例来认识PyTorch框架
  • 构建AI智能体:十四、从“计算”到“洞察”:AI大模型如何让时间序列数据“开口说话”
  • version GLIBCXX_3.4.30‘ not found (required by cmake)
  • JVM线上调优参数配置指南
  • 今日分享:C++ string 类模拟实现
  • 深度学习之第四课卷积神经网络CNN(一)
  • 不卡顿、不掉线!稳定可靠的体育赛事直播系统源码解析
  • 【Chrome】更新后白屏无法显示问题
  • 【力扣】面试经典150题总结04-区间/栈
  • python 自学笔记13 numpy数组规整
  • 智能驾驶机器学习知识总结
  • 越过千万生死线,鸿蒙直面商业化考验
  • ME_INFORECORD_MAINTAIN_MULTI,创建采购单信息记录,报错ME 816 系统错误(方法PROCESS_CONDITION中错误)