前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >推荐系统里,可以用蒸馏吗?

推荐系统里,可以用蒸馏吗?

作者头像
炼丹笔记
发布于 2021-09-24 03:05:50
发布于 2021-09-24 03:05:50
1.3K0
举报
文章被收录于专栏:炼丹笔记炼丹笔记

作者:十方

无论是商品推荐,还是广告推荐,都大致可以分为召回,预排序(粗排),精排等阶段,如上篇<淘宝搜索中基于embedding的召回>的图所示:

召回最重要的就是要快,高召回率,对准确率可以不必要求太高,所以召回模型往往就是双塔模型,最经典的就是youtube双塔:

后面各种论文大多都说基于样本构造,模型结构,增加特征等方面去优化召回模型,但是不得不提到的是,蒸馏也是个提高召回侧模型效果的一个好方法。

由于受限于线上性能,在广告/商品召回阶段,我们通常采用深度学习双塔模型结构,离线先计算保存好ad/item embedding,线上实时预测出user embedding再通过近邻检索召回相似广告。user塔和ad塔是两个独立的神经网络,而user侧特征和ad侧特征没有交互,损失了很多有用信息,且因为user embedding线上实时inference,这就限制了user塔的特征规模及模型结构复杂度。对于这两个问题,蒸馏模型提供了一种解决方法。以下是蒸馏模型的特点:

  • 由于training阶段不要求实时操作,允许训练一个复杂的模型,蒸馏模型可以在training阶段用复杂度高的网络(teacher network)-学到的知识指导较为简单的网络(student network)学习,在serving阶段以较小的计算代价来使用简单网络,同时保持一定的网络预测能力。
  • 对于一些线上serving阶段无法获取的但又对目标有实际意义的特征,如用户与广告或商品的交互特征等,可以在training阶段将这类特征都加入teacher network学习,而线上serving阶段只需获取用于训练student network的基本特征,serving过程只使用student network结构。
  • 可以将集成的知识压缩在简单的模型中。对于一个已经训练好的复杂的模型,如果要集成的话要带来很大的计算开销,而使用蒸馏模型可以用复杂模型指导一系列简单模型学习,根据复杂的大网络和一系列简单模型的输出作为目标,训练一个最终的模型,可不用对复杂模型进行集成。

当然,蒸馏用在召回,更重要的意义是保证召回,预排序(粗排),精排一致性,而不是蒸馏一堆看似高大上的特点。为啥要保证一致性呢?召回侧最终服务于排序,选出排序认可的才是最重要的,如果召回的都不是排序认可的,那排序模型也只能矮子里挑高的选,这样会影响整体的收益。如果召回模型在训练阶段增加对精排的拟合,是不是可以近似达到精排模型在全库搜索的效果呢?

那么推荐系统中蒸馏应该怎么做呢?其实最简单的就是改loss,除了交叉熵损失,可以增加和teacher预估不一致而带来的损失,辅助学习。

其中,L_hard是分类问题中经典的交叉熵损失,是真实标签与模型预测概率之间的交叉熵损失,记为hard loss;λ是超参数,控制teacher模型对student的指导程度;L_soft是teacher模型输出概率与student模型输出概率的交叉熵,记为soft loss,形式如下所示:

也可以用带温度的softmax函数控制teacher信号的传输:

Lsoft也可以用logit直接的mse loss进行学习。大致框架如下图所示:

训练大家可以尝试teacher和student同时训练,也可以先训练好teacher,再蒸馏到student上。在实际使用上,AUC和GAUC都是可以涨一些的。

说到这肯定有人要问了,召回可以学精排,预排序(粗排)可以学精排吗?,当然可以,而且肯定也会有收益。那召回为啥不学预排序(粗排)?毕竟召回直接相连的就是预排序模型。当然也是可以的尝试的。

总结一下,无论是做哪个阶段的模型,只单独优化某个阶段的模型很容易到达瓶颈,尽管每年关于推荐的论文层出不穷,但是真正用上了有效果的却很少。有时要从系统的角度出发去思考模型比单纯去堆砌模型结构效果要大得多。

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

本文分享自 炼丹笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度总结 | 知识蒸馏在推荐系统中的应用
链接 | https://zhuanlan.zhihu.com/p/143155437
张小磊
2020/05/29
1.5K0
深度总结 | 知识蒸馏在推荐系统中的应用
推荐系统炼丹笔记6:双塔篇,是塔,是塔,就是塔
目前,对于基于向量召回,那就不得不提到双塔。为什么双塔在工业界这么常用?双塔上线有多方便,真的是谁用谁知道,user塔做在线serving,item塔离线计算embeding建索引,推到线上即可。
炼丹笔记
2021/11/18
4.5K0
推荐系统炼丹笔记6:双塔篇,是塔,是塔,就是塔
全链路总结!推荐算法召回-粗排-精排
大家好,这里是NewBeeNLP。现在的推荐系统都是一个很大的漏斗,将整个推荐系统分为(recall -> pre-rank -> rank -> rerank)。
NewBeeNLP
2022/11/16
3.7K0
全链路总结!推荐算法召回-粗排-精排
RS Meet DL(62)-[阿里]电商推荐中的特殊特征蒸馏
今天介绍的论文是:《Privileged Features Distillation for E-Commerce Recommendations》 论文下载地址为:https://arxiv.org
石晓文
2019/08/28
2K0
RS Meet DL(62)-[阿里]电商推荐中的特殊特征蒸馏
[SIGIR'21] DMTL:召回场景基于蒸馏的多目标学习方案
推荐系统中,点击率预估是很通用的排序方法。但是,在feeds流中,pCTR只能说明用户点击这个内容的概率,而不能说明用户有多喜欢或者说在点击之后是否有可能阅读或者停留的概率。有些低质量但是标题党的内容,用户就很容易点击。但其实点击完之后,可能并不会阅读。所以,只对点击建模不能保证用户对这些点击过的内容的满意度。在feeds流中,为了提升用户体验,阅读时长也应该被考虑进来。
Houye
2021/12/02
1.4K0
[SIGIR'21] DMTL:召回场景基于蒸馏的多目标学习方案
百度双塔召回引擎MOBIUS
对于一个搜索或者推荐系统来说,分阶段的设计都是当下的一个标配,主要是为了平衡效率和效果,在百度的广告系统中,也是分成了如下的三层结构:
felixzhao
2023/04/01
8380
百度双塔召回引擎MOBIUS
KDD'23 | 阿里淘宝:重新审视搜索粗排
大家好,我是kaiyuan。最近大模型LLM的各类信息有种乱花渐欲迷人眼的感觉,刷几篇KDD'23的文章冷静一下。
NewBeeNLP
2023/08/29
1.9K0
KDD'23 | 阿里淘宝:重新审视搜索粗排
推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术
在搜索、推荐、广告等需要进行大规模排序的场景,级联排序架构得到了非常广泛的应用。以在线广告系统为例,按顺序一般包含召回、粗排、精排、重排等模块。粗排在召回和精排之间,一般需要从上万个广告集合中选择出几百个符合后链路目标的候选广告,并送给后面的精排模块。粗排有很严格的时间要求,一般需要在10~20ms内完成打分。在如此巨大的打分量以及如此严格的RT需求下,粗排是如何平衡算力、RT以及最后的打分效果呢?
汀丶人工智能
2023/02/23
1.9K0
​大厂技术实现 | 腾讯信息流推荐排序中的并联双塔CTR结构 @推荐与计算广告系列
双塔模型是推荐、搜索、广告等多个领域的算法实现中最常用和经典的结构,实际各公司应用时,双塔结构中的每个塔会做结构升级,用CTR预估中的新网络结构替代全连接DNN,本期看到的是腾讯浏览器团队的推荐场景下,巧妙并联CTR模型应用于双塔的方案。
ShowMeAI
2021/11/24
3.6K1
​大厂技术实现 | 腾讯信息流推荐排序中的并联双塔CTR结构 @推荐与计算广告系列
推荐系统遇上深度学习(一一九)-[百度]结合门控机制的多任务学习模型GemNN
今天分享的百度在SIGIR2021上中稿的一篇short paper,论文提出了结合门控机制的多任务学习模型(Gating-Enhanced Multi-Task Neural Networks,简称GemNN),一起来看一下。
石晓文
2021/07/29
1K0
推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
② 除了内容推荐外,我们也会负责一些其他类型的推荐,包括直播推荐、点歌推荐、歌房推荐和点评推荐,都是在K歌生态下独有的推荐。
汀丶人工智能
2023/02/27
1.1K0
图文并茂!推荐算法架构——粗排
导语 | 粗排是介于召回和精排之间的一个模块,是典型的精度与性能之间trade-off的产物。理解粗排各技术细节,一定要时刻把精度和性能放在心中。 在上篇《详细解读!推荐算法架构——召回》中我们结合算法架构召回进行解读分析,本篇将深入重排这个模块进行阐述。 一、总体架构 粗排是介于召回和精排之间的一个模块。它从召回获取上万的候选item,输出几百上千的item给精排,是典型的精度与性能之间trade-off的产物。对于推荐池不大的场景,粗排是非必选的。粗排整体架构如下: 二、粗排基本框架:样本、特征、模
腾讯云开发者
2022/04/21
2.2K0
图文并茂!推荐算法架构——粗排
三大视角,聊聊我眼中的广告系统
从实习到工作,接触过一些大大小小的广告系统,有麻雀虽小但五脏俱全的小 dsp,也有把 ssp、adx、dsp 都打包了的大媒体 ,算是对业界的广告系统有了一个初步的了解。趁着放假这几天,简单地梳理一下当前了解到的广告系统知识,主要是想对零散的知识做个整理。
NewBeeNLP
2021/09/14
1.4K0
知识蒸馏怎么用?召回-粗排篇
其实,知识蒸馏在召回-粗排-精排这三个模块都有用武之地,今天我们就来讲讲在粗排和召回中的应用。
NewBeeNLP
2022/06/06
1.7K0
知识蒸馏怎么用?召回-粗排篇
他山之石 | 预训练模型落地"最后一公里"
大家好,这里是NewBeeNLP。预训练模型如今在业界已经占据主导地位,但是随着模型规模越来越大,如何完美落地成为制约其效果的一大因素。今天和大家分享,来自美团的基于预训练语言模型压缩和蒸馏的落地实践。全文会围绕下面三点展开:
NewBeeNLP
2022/11/17
9170
他山之石 | 预训练模型落地"最后一公里"
深度学习推荐系统中各类流行的Embedding方法(上)
Embedding,中文直译为“嵌入”,常被翻译为“向量化”或者“向量映射”。在整个深度学习框架中都是十分重要的“基本操作”,不论是NLP(Natural Language Processing,自然语言处理)、搜索排序,还是推荐系统,或是CTR(Click-Through-Rate)模型,Embedding都扮演着重要的角色。
OpenCV学堂
2020/05/26
6K0
全链路解析!推荐系统技术综述
今天给大家分享一下推荐系统在近年来的整体技术发展。文中的很多观点和技术都参照于业界的论文以及一些外部的文章。
NewBeeNLP
2023/08/29
1.2K0
全链路解析!推荐系统技术综述
大厂的广告系统升级,怎能少了大模型的身影
机器之心报道 编辑:思 腾讯广告通过模型能力的提升助力广告主达成生意目标,同时兼顾用户体验,实现多赢局面。 模型是广告系统中的一个复杂且重要的组成部分。之所以说它很复杂,不仅在于庞大的用户量及广告场景,也在于广告这种天然的多模态数据,要求模型具有强大的拟合能力。 思考一下,如果你是一名工程师,怎样才能让你的模型理解广告的内容、主题、目标受众?对于手机、电脑等不同设备,食品、汽车等不同行业,销量、名声等不同目标,模型怎样才能理解不同的广告场景?又怎样才能从百万条广告中为受众选择合适的推送?面对流量竞争加剧的大
机器之心
2022/07/04
1.7K0
大厂的广告系统升级,怎能少了大模型的身影
美团搜索粗排优化的探索与实践
总第528篇 2022年 第045篇 粗排是工业界搜广推系统的重要模块。美团搜索排序团队在优化粗排效果的探索和实践中,基于业务实际场景,从精排联动和效果性能联合优化两方面优化粗排,提升了粗排的效果。本文介绍了美团搜索粗排的迭代路线、基于知识蒸馏和自动神经网络选择的粗排优化工作,希望为从事相关工作的同学带来一些启发或者帮助。 1. 前言 2. 粗排演进路线 3. 粗排优化实践 3.1 精排联动效果优化 3.2 效果性能联合优化 4. 总结 5. 附录 1. 前言 众所周知,在搜索、推荐、广告等大规模工业界应
美团技术团队
2022/08/26
9380
美团搜索粗排优化的探索与实践
推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】
内容化这几年越来越成为电商的重点,用户来到网购的时候越来越不局限在只有明确需求的时候,而更多的是没有明确需求的时候,就像是逛街一样。逛逛就是在这样的背景下诞生的内容化产品,打造出有用、有趣、潮流、奇妙、新鲜的内容,为消费者提供全新的内容消费体验。在这个场景下的内容召回有很多问题需要探索,其中主要的特点和挑战有:
汀丶人工智能
2023/02/25
2.6K0
推荐阅读
相关推荐
深度总结 | 知识蒸馏在推荐系统中的应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档