Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >图文并茂!推荐算法架构——粗排

图文并茂!推荐算法架构——粗排

作者头像
腾讯云开发者
发布于 2022-04-21 05:41:57
发布于 2022-04-21 05:41:57
2.1K0
举报

导语 | 粗排是介于召回和精排之间的一个模块,是典型的精度与性能之间trade-off的产物。理解粗排各技术细节,一定要时刻把精度和性能放在心中。

在上篇详细解读!推荐算法架构——召回中我们结合算法架构召回进行解读分析,本篇将深入重排这个模块进行阐述。

一、总体架构

粗排是介于召回和精排之间的一个模块。它从召回获取上万的候选item,输出几百上千的item给精排,是典型的精度与性能之间trade-off的产物。对于推荐池不大的场景,粗排是非必选的。粗排整体架构如下:

二、粗排基本框架:样本、特征、模型

目前粗排一般模型化了,基本框架也是包括数据样本、特征工程、深度模型三部分。

(一)数据样本

目前粗排一般也都模型化了,其训练样本类似于精排,选取曝光点击为正样本,曝光未点击为负样本。但由于粗排一般面向上万的候选集,而精排只有几百上千,其解空间大很多。只使用曝光样本作为训练,但却要对曝光和非曝光同时预测,存在严重的样本选择偏差(SSB问题),导致训练与预测不一致。相比精排,显然粗排的SSB问题更严重。

(二)特征工程

粗排的特征也可以类似于精排,由于其计算延迟要求高,只有10ms~20ms,故一般可以粗分为两类:

  • 普通特征:类似精排,user、context、item三部分。有哪些特征,以及特征如何处理,可以参看精排的特征工程部分。
  • 交叉特征:user和item之间的交叉特征,对提升模型精度很有帮助。但由于交叉特征枚举过多,难以离线计算和存储。实时打分时又不像user特征只用计算一次,延迟较高。故对于交叉特征要谨慎使用。

(三)深度模型

粗排目前已经基本模型化,其发展历程主要分为四个阶段:

第一代:人工规则策略,可以基于后验统计,构建一个人工规则。比如融合item的历史CTR、CVR、类目价格档、销量等比较核心的因子。人工规则准确率低,也没有个性化,也不可能实时更新。

第二代:LR线性模型,有一定的个性化和实时性能力,但模型过于简单,表达能力偏弱。

第三代:DSSM双塔内积深度模型。它将user和item进行解耦合,分别通过两个Tower独立构建。从而可以实现item向量离线存储,降低线上predict延迟。主要有两种范式:

  • item和user均离线存储。这个方案只需要计算user和item的内积即可,计算延迟低。由于user是离线存储的,故可以使用复杂的模型,提升表达能力。但user侧的实时性较差,对于用户行为不能实时捕捉。
  • item离线,user实时。item相对user,实时性要求没那么高。由于一次打分是针对同一个用户的,故user侧只需要实时计算一次即可,速度也很快。目前这个方案使用较多。

第四代:item和user隔离,导致二者没有特征交叉能力,模型表达能力弱。故又提出了以COLD为代表的第四代模型,轻量级MLP粗排模型。它通过SE block实现特征裁剪,并配合网络剪枝和工程优化,可以实现精度和性能之间的trade-off。

三、粗排优化

粗排的几个主要问题:

  • 精度和特征交叉问题:经典的DSSM模型优点很多,目前在粗排上广泛应用,其最核心的缺点就是缺乏特征交叉能力。正所谓成也萧何败萧何,正是由于user和item分离,使得DSSM性能很高。但反过来也是由于二者缺乏交叉,导致模型表达能力不足,精度下降。典型的精度和性能之间的trade-off。
  • 低延迟要求:粗排延迟要求高,一般只有10ms~20ms,远低于精排的要求。
  • SSB问题:粗排解空间比精排大很多,和精排一样只使用曝光样本,导致严重的样本选择偏差问题。

(一)精度提升

精度提升的方案主要有精排蒸馏和特征交叉,主要还是要优化特征交叉问题。

  • 精排蒸馏

精排模型作为teacher,对粗排模型进行蒸馏学习,从而提升粗排效果,这已经成为了目前粗排训练基本范式

  • 特征交叉

特征交叉可以在特征层面,也可以在模型层面实现。特征层面就是手工构造交叉特征,作为模型底层输入,仍然可以在独立的Tower中。模型层面则使用FM或者MLP等实现自动交叉。主要方法有:

特征蒸馏:teacher和student使用相同的网络结构,teacher模型使用普通特征和交叉特征,student则只使用普通特征。student从teacher中可以学到交叉特征的高阶信息。

加入交叉特征:特征层面构建手工交叉特征,独立的Tower中使用。由于交叉特征难以离线存储,实时计算空间也很大,故这个独立的Tower不能过于复杂。那我们第一时间就想到了wide&deep模型。deep部分仍然使用DSSM双塔,wide部分则为交叉特征。

轻量级MLP:模型层面实现特征交叉,不进行独立分塔。比如COLD,通过特征裁剪、网络剪枝、工程优化等方式降低时延,而不是靠独立分塔。

(二)延迟降低

精度和性能一直以来都是一个trade-off,很多方案都是在二者之间寻找平衡。粗排的性能要求更高,其延迟必须控制在10ms~20ms以内。性能优化有很多常见方法。

主要有以下方法:

  • 特征裁剪:如COLD,不重要的特征先滤掉,自然就降低了整体延迟。这一层可以做在模型内,从而可以个性化和实时更新。
  • 量化和定点化:比如32bit降低为8bit,可以提升计算和存储性能
  • 网络剪枝:network pruning,包括突触剪枝、神经元剪枝、权重矩阵剪枝等方法,不展开了。
  • 模型蒸馏:model distillation,上文已经提到了,不展开了。

网络结构搜索NAS:使用更轻量级,效果更好的模型。可以尝试网络结构搜索NAS。

(三)SSB问题

粗排解空间比精排大很多,和精排一样只使用曝光样本,导致严重的样本选择偏差问题。可以把未曝光样本的精排打分给利用起来,缓解SSB问题。

 作者简介

谢杨易

腾讯应用算法研究员

腾讯应用算法研究员,毕业于中国科学院,目前在腾讯负责视频推荐算法工作,有丰富的自然语言处理和搜索推荐算法经验。

 推荐阅读

详细解读!推荐算法架构——召回

超强指南!推荐算法架构——重排

图文解读:推荐算法架构——精排!

第四届 Techo TVP 开发者峰会回来了!这次我们线上见

来了!Go的2个黑魔法技巧

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
全链路总结!推荐算法召回-粗排-精排
大家好,这里是NewBeeNLP。现在的推荐系统都是一个很大的漏斗,将整个推荐系统分为(recall -> pre-rank -> rank -> rerank)。
NewBeeNLP
2022/11/16
3.6K0
全链路总结!推荐算法召回-粗排-精排
美团搜索粗排优化的探索与实践
总第528篇 2022年 第045篇 粗排是工业界搜广推系统的重要模块。美团搜索排序团队在优化粗排效果的探索和实践中,基于业务实际场景,从精排联动和效果性能联合优化两方面优化粗排,提升了粗排的效果。本文介绍了美团搜索粗排的迭代路线、基于知识蒸馏和自动神经网络选择的粗排优化工作,希望为从事相关工作的同学带来一些启发或者帮助。 1. 前言 2. 粗排演进路线 3. 粗排优化实践 3.1 精排联动效果优化 3.2 效果性能联合优化 4. 总结 5. 附录 1. 前言 众所周知,在搜索、推荐、广告等大规模工业界应
美团技术团队
2022/08/26
9240
美团搜索粗排优化的探索与实践
推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
② 除了内容推荐外,我们也会负责一些其他类型的推荐,包括直播推荐、点歌推荐、歌房推荐和点评推荐,都是在K歌生态下独有的推荐。
汀丶人工智能
2023/02/27
1K0
详细解读!推荐算法架构——召回
导语 | 召回模块面对几百上千万的推荐池物料规模,候选集十分庞大。由于后续有排序模块作为保障,故不需要十分准确,但必须保证不要遗漏和低延迟。目前主要通过多路召回来实现,一方面各路可以并行计算,另一方面取长补短。召回通路主要有非个性化和个性化两大类。 在上篇《超强指南!推荐算法架构——重排》中我们结合算法架构重排进行解读分析,本篇将深入召回这个模块进行阐述。 一、推荐算法总体架构 (一)推荐算法意义 随着互联网近十年来的大力发展,用户规模和内容规模均呈现迅猛发展。用户侧日活过亿早已不是什么新鲜事,内容侧由于U
腾讯云开发者
2022/04/12
2.1K0
详细解读!推荐算法架构——召回
KDD'23 | 阿里淘宝:重新审视搜索粗排
大家好,我是kaiyuan。最近大模型LLM的各类信息有种乱花渐欲迷人眼的感觉,刷几篇KDD'23的文章冷静一下。
NewBeeNLP
2023/08/29
1.9K0
KDD'23 | 阿里淘宝:重新审视搜索粗排
推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术
在搜索、推荐、广告等需要进行大规模排序的场景,级联排序架构得到了非常广泛的应用。以在线广告系统为例,按顺序一般包含召回、粗排、精排、重排等模块。粗排在召回和精排之间,一般需要从上万个广告集合中选择出几百个符合后链路目标的候选广告,并送给后面的精排模块。粗排有很严格的时间要求,一般需要在10~20ms内完成打分。在如此巨大的打分量以及如此严格的RT需求下,粗排是如何平衡算力、RT以及最后的打分效果呢?
汀丶人工智能
2023/02/23
1.8K0
知识蒸馏怎么用?召回-粗排篇
其实,知识蒸馏在召回-粗排-精排这三个模块都有用武之地,今天我们就来讲讲在粗排和召回中的应用。
NewBeeNLP
2022/06/06
1.6K0
知识蒸馏怎么用?召回-粗排篇
FM: 推荐算法中的瑞士军刀
自从我上次在知乎回答了问题《机器学习中较为简单的算法有哪些?》,很多同学私信我询问我FM算法在推荐系统中的应用细节,索性今天就专门写一篇文章,仔细聊一聊FM这把“推荐算法中的瑞士军刀”。正文开始之前,我说几句题外话。
张小磊
2021/01/13
2.3K1
FM: 推荐算法中的瑞士军刀
图文解读:推荐算法架构——精排!
导语 | 精排是整个推荐算法中比较重要的一个模块,目前基本都是基于模型来实现,主要涉及样本、特征、模型三部分。本文将对其进行详细阐述,希望为更多的开发者提供经验和帮助。 一、整体架构 精排是整个推荐算法中比较重要的一个模块,目前基本都是基于模型来实现,涉及样本、特征、模型三部分。 二、样本 样本是模型的粮食,以CTR任务为例,一般用曝光点击作为正样本,曝光未点击作为负样本。样本方面主要问题有: 正负样本不均衡:比如CTR任务,如果点击率是5%,则正负样本1: 20,负样本远远多于正样本,导致样本不均衡
腾讯云开发者
2022/03/16
2.2K0
推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】
内容化这几年越来越成为电商的重点,用户来到网购的时候越来越不局限在只有明确需求的时候,而更多的是没有明确需求的时候,就像是逛街一样。逛逛就是在这样的背景下诞生的内容化产品,打造出有用、有趣、潮流、奇妙、新鲜的内容,为消费者提供全新的内容消费体验。在这个场景下的内容召回有很多问题需要探索,其中主要的特点和挑战有:
汀丶人工智能
2023/02/25
2.5K0
聊一聊搜推广粗排思考
五花八门的说法越来越多,但是粗排的意义本质还是由于在工业界中业务链路性能、算力的约束下,漏斗链路设计中的一环,其使命就是在既定资源、性能约束下从全量候选集合中选出一个“优质候选集合”
NewBeeNLP
2024/06/17
9090
聊一聊搜推广粗排思考
召回向排序靠齐:多目标排序蒸馏召回
召回主要是将用户所有可能感兴趣的内容取出来,排序(粗排、精排)主要是预测用户对每条内容感兴趣的程度。召回为整个推荐系统的后续阶段提供数据,保证了效果的上确界。排序对召回提供的数据再更细致化的分析、预测和排序,保证最终用户看到的结果。可以说召回是服务于后续排序模型。
NewBeeNLP
2022/11/11
1.4K0
召回向排序靠齐:多目标排序蒸馏召回
推荐系统里,可以用蒸馏吗?
无论是商品推荐,还是广告推荐,都大致可以分为召回,预排序(粗排),精排等阶段,如上篇<淘宝搜索中基于embedding的召回>的图所示:
炼丹笔记
2021/09/24
1.2K0
全链路解析!推荐系统技术综述
今天给大家分享一下推荐系统在近年来的整体技术发展。文中的很多观点和技术都参照于业界的论文以及一些外部的文章。
NewBeeNLP
2023/08/29
1.2K0
全链路解析!推荐系统技术综述
超强指南!推荐算法架构——重排
导语 | 重排技术细节非常多,一定要清楚技术架构大图,从而将细节串联起来。实际上主要是为了解决三大方面的问题:用户体验、算法效率、流量调控。 在上篇《图文解读:推荐算法架构——精排!》中我们结合算法架构精排进行解读分析,本篇将深入重排这部分进行阐述。 一、总体架构 精排打分完成后,就到了重排阶段,之后可能还会有混排。召回、精排、重排三个模块中,重排离最终的用户展现最近,所以也十分关键。重排的技术点也十分多,总结下来,个人认为重排主要是为了解决三大方面的问题:用户体验、算法效率、流量调控。下图是重排总体架构:
腾讯云开发者
2022/04/11
5.9K2
超强指南!推荐算法架构——重排
腾讯全民K歌直播推荐算法实践总结
导读:直播是社交娱乐app的综合性变现工具,如何培养用户的心智,高效的建立用户和主播的多种连接 ( 点击、观看、关注、常看、常打赏 ) 是直播生态的重要问题之一。为了解决这个问题,各大平台所使用的方法之一是通过个性化推荐系统来促进用户和主播的实时社交。本文主要分享腾讯音乐旗下全民K歌的推荐系统技术及应用。将围绕下面四点展开:
张小磊
2021/08/06
1.8K0
AI大咖谈 | 阿里算法专家谈大规模推荐系统粗排层的设计与实现
链接 | mp.weixin.qq.com/s/qNYCp6gLgabuxnuljRkLsg
张小磊
2021/06/10
1.3K0
AI大咖谈 | 阿里算法专家谈大规模推荐系统粗排层的设计与实现
推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路
召回这里稍微有些复杂,因为召回是多路的。首先我们要解释主路和旁路的差别,主路的意义和粗排类似,可以看作是一个入口更大,但模型更加简单的粗排。主路的意义是为粗排分担压力。但是旁路却不是这样的,旁路出现的时机往往是当主路存在某种机制上的问题,而单靠现在的这个模型很难解决的时候。举个例子,主路召回学的不错,但是它可能由于某种原因,特别讨厌影视剧片段这一类内容,导致了这类视频无法上升到粗排上。那这样的话整个系统推不出影视剧片段就是一个问题。从多路召回的角度来讲,我们可能需要单加一路专门召回影视剧的,并且规定:主路召回只能出3000个,这一路新加的固定出500个,两边合并起来进入到粗排中去。这个栗子,是出现旁路的一个动机。
汀丶人工智能
2023/02/22
3.4K0
一文搞懂CTR建模
作者:coreyzhong,腾讯 IEG 应用研究员 本文分为三个部分: Part1 是前菜,帮助没接触过相关内容的同学快速了解我们要做什么、为什么做; Part2 适合刚刚接触 pCTR 建模想要完成项目的算法同学; Part3 适合正在做 CTR 建模项目且想要进一步优化效果的算法同学。 Part1 计算广告 广告是互联网流量变现的重要手段,也是互联网产品进行推广的重要方式。互联网广告行业经历了合约广告时期、精准定向广告时期、竞价广告时期等多阶段的发展,现在行业内已经普遍采用了自动化竞价的广告投放
腾讯技术工程官方号
2021/10/19
2.1K0
得物社区推荐精排模型演进
得物社区是一大批年轻人获取潮流信息、分享日常生活的潮流生活社区。其中用户浏览的信息,进行个性化的分发,是由推荐系统来决策完成的。目前得物社区多个场景接入了推荐算法,包括首页推荐双列流、沉浸式视频推荐、分类 tab 推荐流、直播推荐流等多个场景,为了给用户提供更好的服务和体验,我们从整个推荐系统维度为相关服务做了大量优化。现在主流的推荐系统都会有召回、粗排、精排和机制等多个模块组成,本文主要介绍我们在精排层面演进过程中做的一些工作和思考。
得物技术
2023/07/04
1.4K0
得物社区推荐精排模型演进
推荐阅读
相关推荐
全链路总结!推荐算法召回-粗排-精排
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档