Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >他山之石 | 快手推荐系统模型实践

他山之石 | 快手推荐系统模型实践

作者头像
NewBeeNLP
发布于 2022-11-11 02:58:37
发布于 2022-11-11 02:58:37
2.1K0
举报
文章被收录于专栏:NewBeeNLPNewBeeNLP

作者 | 牛亚男 整理 | DataFun

大家好,这里是NeeNLP。今天我们分享来自快手的精排模型实践,包括快手的推荐系统,以及结合快手业务展开的各种模型实战和探索,全文围绕以下几大方面展开:

  • 快手推荐系统
  • CTR模型——PPNet
  • 多domain多任务学习框架
  • 短期行为序列建模
  • 长期行为序列建模
  • 千亿特征,万亿参数模型
  • 总结和展望

01

快手推荐系统

快手的推荐系统类似于一个信息检索范式,只不过没有用户显示query。结构为数据漏斗,候选集有百亿量级的短视频,在召回层,会召回万级的视频给粗排打分,再选取数百个短视频,给精排模型打分,最后会有数十个短视频进行重排。推荐主要是双类或单类,快手推荐的特点是用户比较多,会超过3.0亿。我们的短视频,每天有百亿的分发量,候选的短视频有百亿之多,用户的行为差距会非常之大,比如,有些用户每天会刷成百上千条短视频,有些用户又刷得非常少。相对于电商或者新闻来说,短视频的玩法会更丰富,用户的兴趣非常广泛,并且是不变的。

用户的交互类型非常多,场景复杂。这里简单展示一下,主要有主站的双列发现页、主站精选、极速版发现页,这些主要是用来帮助用户发现可能感兴趣的视频,还有关注页、同城页。除了短视频之外,还有直播、电商直播的推荐。对于整个推荐系统来说,我们最大的挑战是如何为用户的兴趣精准建模。

02

CTR模型——PPNet

这是我们2019年的模型,ctr的个性化预估是推荐系统的核心,主要用来预估用户对视频会不会点击,预估效果直接影响用户体验。

从业界的演化来看,一方面是从特征的交叉角度,另一方面是从用户的行为序列建模来提升模型个性化。这里DNN核心为全连接网络。

特征全局共享,主要用来捕捉全局用户和短视频的特征。要做到真正的千人千面,需要用户个性化的特征更强一些。所以当时我们探索了如何为DNN网络增加个性化。我们尝试了一些方法,最开始尝试用stacking的方法,在最顶层或中间加一些user独有的一些网络,对网络的参数,每个用户是不同的,但是收益甚微。然后我们尝试了另外一种方式,受LHUC的启发,思想来源于语音识别,给每个用户学习个性化的偏置项。

在网络输出的激活函数那里,设置了个性化的偏置项,可以认为是给每个用户学了一个bias和一个vector。我们做了一些尝试,但是基本上没有太大的收益。

我们发现一些问题,总结来说,首先是用户每天刷的样本不足以让网络的参数收敛,因为参数量相对来说比较少,这相当于是给一个用户学一个最宽的一个id的embedding向量。

另外用户每天都在上传新的视频,我们推荐的视频,主要约束在两天以内,所以会有一个视频冷启动的问题,而且基于流式训练,会导致训练样本中各方面的噪声非常大,如果是一个不稳定的网络,也会导致embedding的效果变差。如果只是简单学一个优质的id的embedding,则缺少足够的动态表达能力。另外,如果只是通过bp的方法传导梯度来更新id的embedding,其修正能力非常慢。最终我们在lte的基础上设计了一个pnet,以全局共享为基础,进行个性化的微调;我们又设计了gate网络来拟合个性化的参数:

  • 白色的部分可以认为是原来的基线。这个基线主要是训练原来的ctr模型。
  • 灰色和绿色部分是新加的,灰色部分是基于所有用户共享的,绿色部分是门控网络,通过门控网络与灰色部分的网络来学习用户的个性化。

这两部分的网络也就是ppnet的网络结构。上线后,收益非常明显。包括所有用户细分上提升都是非常明显的,特别是一些行为比较稀疏的用户,他们的提升非常大,因为他们的行为相对来说比较少,之前的两个方案模型很难学到他们的一些特征。这套方案给我们提供了一个比较通用的提升模型个性化的方法。

我们推广到了一些其他场景,实现多场景应用。但是这个算法的计算量比较大,因此我们对线上的预估服务做了一次升级——原来是cpu预估,我们在2019年10月份做了gpu加速预估。

03

多domain多任务学习框架

快手的产品场景非常多样,包括主站发现页、主站精选、发现页内流、极速版发现页等。另一方面,人群多样化,包括新用户、老用户、激活用户等。另外,这两个场景正交,就有几十个目标。因此,我们要预估的目标也会非常多。这样会存在一系列的问题,比如业务独占模型会导致训练资源低效、迭代低效、业务间不共享网络等。为了解决这些问题,我们在模型融合场景下做了多任务学习。

对于模型融合,我们做了很多工作,比如特征语义对齐,主要包括删减无用特征,改正语义不一致特征,添加单列播放列表类特征、交叉特征;embedding空间的对齐,通过Embedding transform gate,直接学习映射关系;特征重要性对齐,这里用到了slot gate,主要参考了前面提到的ppnet里面的gate设计方案。在不同的场景下,不同的用户或视频,对于特征的重要性选择,gate会把它约束在0~2,均值是1,动态选择这个特征是重要还是不重要,这样我们可以将样本的特征做一个比较好的对齐。最后,我们做了一个多目标的mmoe,动态建模目标之间的关系,每个task tower输入添加个性化偏置项。通过上面的工作,我们成功将在线与离线的模型融合成一套模型,全业务推全,用户交互涨幅提升近10%,效果显著。

04

短期行为序列建模

接下来介绍短期行为序列建模的工作,在2019年初,快手交互场景越来越多,同时出现了单双列的交互体验,单双列业务下用户行为序列存在差异。单列剥夺了用户主动点的权利,用户更多是被动来看推荐系统推荐的短视频,因此,单列更适合作E&E。双列的交互体验下用户获得的主动性、可选择性强,用户的点击历史没有太多的特征可以学习,用户会不断地释放自己想看的内容,释放自己的欲望,可能会一直不断地在看相关的一些内容。我们当时做了一些尝试,发现RNN表现不如sum pooling,其相关性大于时序性。因此我们对算法做了四个方面的改进:

① 使用encoder部分:对历史序列进行表征

② 使用用户视频播放历史序列

  • 包含用户更多信息(观看时长,交互label)
  • 不同业务语义一致

③ Transformer layer self attention替为target attention

  • Self attention无明显收益
  • 使用当前embedding层对sequence做attention
  • 简化计算复杂度 O(n2d) -> O(nd)

④ log(now - 视频观看时间戳) 代替position embedding

  • 最近观看视频更相关,log处理更合适
  • 更久之前观看视频体现用户长期兴趣分布

首先,使用encoder部分对历史序列进行表征。其次,使用用户视频播放历史序列,因为里面包含用户更多信息(观看时长、交互label)。另外,将Transformer layer self attention替换为target attention,主要是self attention无明显收益,然后使用当前embeding层对sequence做attention,因为我们认为对用户的行为历史作为监测的时候,不应该只看要推荐的这个视频,我们还会关注这是一个什么用户,这个用户的上下文信息是非常有用的。最后,使用log(现在时间-视频观看时间)代替position embedding,因为最近观看视频更相关,log处理更合适。上线之后,取得了非常大的收益。

05

长期行为序列建模

推荐系统拥有短期记忆,容易导致信息茧房或者出现多样性不足的一些问题。但是在长期行为建模的时候又遇到了各种问题,比如:Transformer建模问题,SIM用户历史索引问题等。Transformer建模容易出现结构限制,模型在过长的list上收敛性不好。另外,模型复杂度高,Target Attention计算成本也会很高。SIM用户历史索引的扩展性差,对于后续的迭代不友好,而且对于短视频类目精准度和覆盖率也有问题。为了能够捕捉到用户不同程度的兴趣偏好,我们迭代了两个版本模型,作了很多探索和改进。

下面介绍快手在长期行为序列建模的工作。

  • 第一个版本方案V1.0(基于Tag检索)

为了应对上面提到的一些问题,我们采用了独立存储方案,依托AEP高密度存储设备直接存储用户超长行为历史;进一步完善类目体系;GSU检索采用回溯补全算法,最大路径匹配的算法衡量相似度;ESU采用短时。关于Transformer方案,难点在于计算量增加,因此我们进行了算法优化;合并相同Tag候选视频的搜索过程;提前建立类目倒排链,简化搜索流程;成本优化,利用线上 GPU 推理服务器的闲置 CPU 资源。通过这些尝试,我们做到了让SIM算法首次在短视频推荐落地;在业界首次覆盖用户历史至年,这是数万级别的;收益巨大,建立了护城河;扩展到了其他场景。

  • V2.0(基于Embedding距离检索)

后面又做了第二个版本,基于视频内容embedding的聚类。采用GSU检索算法:优先聚类内视频;最近聚类补全;近似做了余弦相似度检索。

其次,又节省了余弦相似度计算量。通过这些工作,我们取得了一些成果:建立了快手特色的长期行为建模机制;收益巨大,建立了护城河;扩展到了其他场景。

经过这两版的迭代,整体效果提升明显,人均app使用时长提升显著,其中我们的工作做了非常多的贡献。

06

千亿特征,万亿参数模型

另外,我们发现模型的特征量还会制约模型精排的效果。模型收敛不稳定,模型更容易逐出低频特征、冷启动效果变差等。为此,我们在工程上做了一些优化,也起到了非常好的收益。主要包括:

  • 改进参数服务器(GSET)
  • 更好地控制内存使用
  • 定制feature score淘汰策略
  • 效果优于LFU,LRU等淘汰策略
  • 结合新的硬件:非易失内存(Intel AEP)
  • 底层KV引擎NVMKV来支撑GSET

07

总结和展望

对于未来优化的重点,我们会放在模型融合,多任务学习方向。另外用户长短期兴趣怎样更好得建模和融合,以及用户的留存建模也是我们未来优化的重点。

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

本文分享自 NewBeeNLP 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
1.9万亿参数量,快手落地业界首个万亿参数推荐精排模型
个性化推荐系统旨在根据用户的行为数据提供「定制化」的产品体验,精准的推荐系统模型也是很多互联网产品的核心竞争力。作为一款国民级短视频 App,快手每天都会为数亿用户推荐上百亿的视频,这就涉及到一个挑战:推荐系统模型如何精准地描述与捕捉用户的兴趣?
机器之心
2021/02/23
2.2K0
1.9万亿参数量,快手落地业界首个万亿参数推荐精排模型
遍览数年历史视频、挖掘用户隐藏兴趣,快手终身行为建模方案TWIN入选KDD 2023
本期为大家介绍快手 - 社区科学线自研论文:TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou 本文发表于 2023 年 KDD Applied Data Science Track(录取率 25.4%),旨在解决传统的超长行为建模中长久存在的「两阶段中相似度度量标准不一致」问题,从而提升超长行为建模的精准度。
机器之心
2023/09/08
1.3K0
遍览数年历史视频、挖掘用户隐藏兴趣,快手终身行为建模方案TWIN入选KDD 2023
深入理解推荐系统:超长用户行为序列建模
作为【推荐系统】系列文章的第七篇,将以CIKM2020中的一篇论文“Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction”作为今天的主角,主要介绍针对Lifelong用户行为序列建模的方案,用户行为长度可以达到上万,而且可以像DIN那样,对于不同的候选商品从用户行为里查找有效的信息建模用户的特殊兴趣。
Coggle数据科学
2020/12/16
5.9K0
深入理解推荐系统:超长用户行为序列建模
大厂怎么做 | 快手短视频推荐中的多目标排序
快手是中国领先的短视频和直播社区,拥有超过3亿的DAU和丰富的社交数据。快手秉承的价值观是真实、多元、美好、有用,致力于提高每一个用户独特的幸福感。而推荐覆盖了快手大部分流量,极大地影响整体生态,并直接作用于 DAU 和 APP 整体时长。短视频推荐需要更多地考虑生态,优化目标和约束非常多,包括消费侧指标、生产侧指标和社交侧指标。
NewBeeNLP
2023/08/28
1K0
大厂怎么做 | 快手短视频推荐中的多目标排序
深入理解推荐系统:十大序列化推荐算法梳理
作为【推荐系统】系列文章的第九篇,将以“序列化推荐算法”作为今天的主角,主要介绍相关的模型原理和发展方向。
Coggle数据科学
2021/03/02
2.7K0
深入理解推荐系统:十大序列化推荐算法梳理
移动端部署推荐系统:快手获数据挖掘顶会CIKM 2022最佳论文
获奖论文《Real-time Short Video Recommendation on Mobile Devices》针对短视频推荐场景,传统服务端部署的推荐系统在决策时机和实时特征利用方面的不足问题,通过在移动客户端部署推荐系统来实时响应用户反馈,提高推荐结果的精准度,从而提升用户体验。论文提出的方案 100% 流量部署到了快手短视频推荐生产环境,影响了日均超过 3.4 亿用户的体验,是端上智能在大规模推荐场景落地的创新实践。
机器之心
2022/12/15
7780
移动端部署推荐系统:快手获数据挖掘顶会CIKM 2022最佳论文
从零开始了解推荐系统全貌
| 导语 根据实际项目经验,从零开始介绍推荐的基础知识与整体框架。希望能帮助大家在了解部分碎片化知识后,形成对推荐系统全貌的认知。 本文作者:yijiapan,腾讯WXG数据科学 一、推荐算法的理解如果说互联网的目标就是连接一切,那么推荐系统的作用就是建立更加有效率的连接,节约大量用户与内容和服务连接的时间和成本。如果把推荐系统简单拆开来看,推荐系统主要是由数据、算法、架构三个方面组成。 数据提供了信息。数据储存了信息,包括用户与内容的属性,用户的行为偏好例如对新闻的点击、玩过的英雄、购买的物品等等。这些数
腾讯大讲堂
2022/03/03
4.6K0
搜推广生死判官:重排技术发展
全文1.2W字,PC阅读戳:https://f0jb1v8xcai.feishu.cn/wiki/LPlAwm6vSiesFBkysh8csZYfn1g
NewBeeNLP
2024/06/17
1.7K0
搜推广生死判官:重排技术发展
美团外卖推荐智能流量分发的实践与探索
美团外卖推荐团队在推荐算法的长期落地实践中,针对外卖业务情境化特点对排序模型进行深入探索与优化。本文介绍了面向情境化建模的“情境细分+统一模型”建模思路,通过用户行为序列建模以及专家网络两个模块的优化,实现不同场景间对信息独有性的刻画和信息共性的相互传递,进而提升全部流量效率。
美团技术团队
2022/12/16
1.4K0
美团外卖推荐智能流量分发的实践与探索
推荐系统技术演进趋势:排序篇
《推荐系统技术演进趋势》从召回篇、排序篇、重排篇依次更新,本文为排序篇。错过《推荐系统技术演进趋势:召回篇》的小伙伴可以点击链接跳转阅读。
NewBeeNLP
2021/04/26
1.9K0
推荐系统技术演进趋势:排序篇
得物社区推荐精排模型演进
得物社区是一大批年轻人获取潮流信息、分享日常生活的潮流生活社区。其中用户浏览的信息,进行个性化的分发,是由推荐系统来决策完成的。目前得物社区多个场景接入了推荐算法,包括首页推荐双列流、沉浸式视频推荐、分类 tab 推荐流、直播推荐流等多个场景,为了给用户提供更好的服务和体验,我们从整个推荐系统维度为相关服务做了大量优化。现在主流的推荐系统都会有召回、粗排、精排和机制等多个模块组成,本文主要介绍我们在精排层面演进过程中做的一些工作和思考。
得物技术
2023/07/04
1.4K0
得物社区推荐精排模型演进
WWW'22 推荐系统论文之序列推荐篇
WWW 2022已公布录用论文,接收323篇/投稿1822篇,录用率为17.7%,完整录用论文列表见https://www2022.thewebconf.org/accepted-papers/
枫桦
2022/08/02
1.5K0
推荐系统技术演进趋势:从召回到排序再到重排
地址:https://zhuanlan.zhihu.com/p/100019681
DeePR
2020/01/16
2.6K0
推荐系统技术演进趋势:从召回到排序再到重排
端智能在大众点评搜索重排序的应用实践
总第490篇 2022年 第007篇 端智能,是指在移动端设备运行人工智能(AI)应用的技术。本文主要讲述大众点评搜索场景下,在端侧部署大规模深度学习模型进行搜索重排序任务的实践方案,包括端上特征工程、模型迭代思路,以及具体部署优化的过程,希望能对从事相关领域开发的同学有所帮助或者启发。 1 引言 2 排序系统进阶:为什么需要端上重排 2.1 云端排序痛点 2.2 端智能重排流程和优势 3 端上重排序算法探索与实践 3.1 特征工程 3.2 用户反馈行为序列建模 3.3 重排模型设计 3.4 多场景应用效
美团技术团队
2022/03/04
1.2K0
端智能在大众点评搜索重排序的应用实践
2022年02月24日 作者: 祝升 刘哲 汤彪 文章链接 12434字 25分钟阅读
用户3839453
2022/03/01
6430
微博推荐实时大模型的技术演进
本文约6500字,建议阅读13分钟 本文将介绍近年来推荐大模型的演进,以及其中一些重要的技术点。 [ 导读 ] 本文将介绍近年来推荐大模型的演进,以及其中一些重要的技术点(本文基于2022年底在DataFun的分享成文,仅代表当时的技术和业务情况)。 主要内容包括四大部分: 1. 微博推荐技术路线回顾 2. 推荐大模型技术近期迭代 3. 以增强链路表达一致性为目标 4. 其他技术点 01、技术路线回顾 1. 业务场景与特点 本团队在微博 APP 中负责的推荐业务主要包括: ① 首页推荐下的所有 tab 栏的
数据派THU
2023/05/11
4700
微博推荐实时大模型的技术演进
推荐系统遇上深度学习(一二一)-基于用户行为检索的点击率预估模型
之前咱们介绍过阿里的SIM,通过一种两阶段的方式来使用用户所有行为序列来提升点击率预估的精度。而最近阿里的最新的进展中,尝试将两阶段的处理方式升级为端到端的处理方式,相关的论文会在后续进行介绍。而今天,我们主要介绍另一篇通过两阶段的方式对用户行为序列进行使用的论文UBR4CTR,一起来看一下。
石晓文
2021/08/25
1.2K0
推荐系统遇上深度学习(一二一)-基于用户行为检索的点击率预估模型
海纳“千川”:得物多场景统一推荐平台
得物的推荐场景,除了首页瀑布流等几个比较大的场景之外,还有很多长尾的小场景,包括:频道、会场、购中购后场景、品牌墙等。这类场景存在单个场景体量小(UV和GMV均偏小)、场景零散、类型多元的情况。如需对这类场景进行单独优化,涉及的成本投入远高于产出。而随着业务发展,这类长尾场景只会越来越多,对这类场景的优化亟待解决。因此,我们需要这样一个通用推荐平台,来承接住这些小场景,并能够持续优化,带来收益。“化零为整”、“兼容并包”、“统一平台”,这就是千川。
得物技术
2023/06/14
6740
海纳“千川”:得物多场景统一推荐平台
精排模型-从MLP到行为序列:DIN、DIEN、MIMN、SIM、DSIN
如下图 [1][2],阿里妈妈的精排模型,经历了从传统 LR、MLR 到深度模型 GwEN,再到用户兴趣建模的过程。
张小磊
2022/10/31
2.9K0
多目标学习在推荐系统中的应用
一般来说在搜索和推荐等信息检索场景下,最基础的一个目标就是用户的 CTR,即用户看见了一篇内容之后会不会去点击阅读。但其实用户在产品上的行为是多种多样的。比如在微信的订阅号中,用户可以对某个内容进行点赞,可以收藏这个内容,可以把它分享出去,甚至某篇文章如果他觉得比较符合他的兴趣,也可以进行留言。
石晓文
2020/11/09
3.9K0
多目标学习在推荐系统中的应用
推荐阅读
相关推荐
1.9万亿参数量,快手落地业界首个万亿参数推荐精排模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档