本文主要阐述2021年天猫新品算法团队在深度粗排上关键的优化过程与结果。
电商领域推荐业务从海量的商品底池中为用户推荐其最感兴趣的少量商品,整个过程时间一般需要在300ms以内。较为常用的推荐链路包含召回、粗排、精排、重排等主要阶段,每个阶段的商品量级逐级递减,以天猫新品频道页为例,其中召回阶段需要从完整商品池中根据用户偏好得到用户可能感兴趣的近万个商品,粗排阶段需要对其进行高性能的打分排序、截断5k个,精排需要对粗排后top600个商品进行计算最终用户偏好分,重排阶段对精排打分后的top20进行多目标重排。整体链路中,每个阶段都依赖着上游阶段的输出结果作为当前阶段建模的候选集,如粗排阶段决定了最终精排打分的上限,而粗排阶段作为召回后第一个模型打分阶段,待打分商品量级较大,一般情况下无法直接使用精排大模型进行复用,需要在算力约束的前提下尽可能高效地打尽可能多的商品,以帮助精排在全集空间下尽可能的挑选出相对较优的候选集。
最早的时候我们会使用离线静态分作为规则对召回到的候选集进行截断,一般I2I是trigger_score*i2i_score*offline_ctr_score,X2I是trigger_score*offline_ctr_score;后期会训练一个gbdt作为粗排模型进行打分,特点是模型结构简单,特征少,线上rt低,但精度较低;再后期召回引擎BE2.0以及之前的版本支持部署深度模型,我们便尝试了深度粗排模型,使用了单塔WDL模型,线上ab效果相较于gbdt有所提升,但rt明显增高,无法进一步精细化模型结果或者增加特征,同时也没法全量;当时也有团队使用DSSM双塔版本的粗排模型,通过内积计算相似度简单高效,且item塔中间结果可以提前离线产出部署至召回引擎BE,user塔在线预测部分部署RTP,预测效率较高,模型可以设计相对复杂,但与此同时,这种使用方式由于两个平台独立部署会存在一个严重的版本不一致的问题,很难维持线上得到的 userembedding 和 item embedding的版本一致性。最后,得益于召回引擎BE3.0合图版本的升级与开放使用,我们也迎来了解法。BE3.0将原先一个粗排模型需要分别将 user tower 和 item tower 部署在两个不同的平台,转变为一个粗排模型仅需在 BE 内部部署,且模型构建完成后会根据配置自动进行O2O 优化(Offline2Online),提前生成好 item tower 结果后才会将服务状态切换至 online 可服务状态,此时新的请求访问 BE 时使用当前版本模型预测得到 user tower 结果,再直接读取当前版本模型离线产出的 item tower 结果执行剩余图的计算,天然地解决了版本一致性的问题。
在BE合图版本中,我们第一步尝试的是base dssm模型,模型结构如下:
与线上精排模型对比,去掉了交叉特征、context特征,以及使用self attention+user attention替代了target attention,其主要结构如下:
该模块先对用户序列特征进行self_attention,在对user feature做target attention,最终和user feature concat在一起后过MLP得到user embedding;item embedding直接根据item feature过MLP得到;整体loss采用交叉熵
合图版本模型相较于原有的tf savedmodel形式效率大大提高,之前的版本线上有提升但是由于性能导致无法全量,而合图版本线上rt上涨不多,且效率上有明显的提升,与gbdt桶进行对比
线上效果:uctr+1.41%,pctr+3.54%,浏览深度+0.45%,点击次数+4.00%,点击用户平均点击次数+2.56%
由于base dssm 在离线 GAUC 上仍和精排模型有一定的差距,且由于粗排阶段的 rt 约束,不能往大模型、复杂建模的角度优化,故我们在base dssm的基础上引入精排模型对粗排进行蒸馏优化。 目前模型蒸馏的方式较多[3],从蒸馏阶段上主要可分为
我们首先采用的是两阶段蒸馏的方式,实现成本较低。两阶段蒸馏的方式是精排模型正常训练,对日志预测一个分数作为soft_label,而粗排学习根据soft_label学习distill_loss。同时,粗排模型由于无法显示使用交叉特征,而交叉特征已经在精排模型被验证为是很有效的,我们也转换一种方式引入至粗排模型,其结构如下:
主要改进点如下:
hard_label指曝光点击日志中用户的实际行为,点击则为1,没有点击则为0。但事实上用户没有发生点击行为并不代表用户完全不感兴趣,而teacher对这部分曝光未点击样本预测得到的soft_label相比于hard label带有更多的信息以及更合理的分布,便于student model学习,以提升student model的泛化效果。Loss构建如下:
同时,我们在两阶段蒸馏框架下对粗排模型通过多目标的方式对 以及 分开学习,因为我们认为hard_label和soft_label涵盖的信息丰富度是不一样的,学习难度也是不一样的,对于不同的任务应该使用独立的模块分别建模学习,避免相互干扰,最终权重融合至 中。
主要思想是在粗排上使用已被验证有用的user-item交叉特征部分,且满足合图BE分离式部署的特性,便于部署。定义 为用户的行为序列 为target商品特征,基于FM的交叉公式如下:
且整体用户侧的表征和target item侧的表征可以等价于sum pooling的结果,相较于target attention的逐项交叉方式计算量大大降低
受到Non-invasive Self-attention for Side Information Fusion in Sequential Recommendation文章的启发[1],目前user sequence中使用的特征是item_id+cate_id+cate_level1_id+brand_id+seller_id+time,每一个特征都拥有不同维度的embedding,使用的方式是将embedding直接concat起来得到一个fusion表达,该表达在引入了side infomation的同时也不可避免的引入了一定的噪声,比如用户点击一个商品,对 cate_id是一定有偏好的,但是对对应的seller_id并不一定有偏好。但现有后验经验告诉我们side infomation也是非常有用,可以提供额外的信息,且能够一定程度上缓解SSB的问题,对建模是有所帮助的。对于这种带有噪声数据的 side infomation,Non-invasive attention 的优化方式可以很好的取其精华去其糟粕,其主要思想是针对self attention结构中,将V从fusion embedding的方式转为仅保留target info(item_id embedding)的方式,实现也非常方便。公式如下
主要贡献在于Q、K依旧是融合了side info的fusion embedding,而V更换成了仅保留item_id的embedding,从公式上也可以看出,attention weight仍旧根据fusion embedding计算得到,而最终被加权的V是item_id本身,不进行融合的embedding数据,这样能够使得该部分self attention既能够通过side info增加信息,又能够一定程度上去噪,使得self attention更加准确。
item tower 侧会在BE3.0合图版中预先进行O2O优化,离线先计算好item embedding 并构建索引,也就是说线上请求BE时不需要进行该部分的计算,item tower一定程度上可以相对复杂,而目前 item tower 纯MLP的建模方式无法合理地对众多带有场域性特色的数据,如手淘global 统计特征和业务场域内 local 统计特征等,故引入了SENET+Bilinear interaction模块针对 item tower 侧的特征进行特征筛选及特征交叉,主要参考FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction[2],包括一下两部分:
inner product:
hadamard product:
Bilinear product:
其中有三种交叉方式:
有关bilinear interaction部分,目前只离线尝试all\each的方式,interaction的方式内存需求太大且训练时间较长;其中each模式中由于user侧、item分开交叉,线上rt上升较高,故仅保留item侧特征交叉模块;蒸馏温度最终调参为3效果最佳。
模型 | GAUC提升 |
---|---|
base | |
base+MLP | +1‰ |
base+MLP+FM | +6‰ |
base+MLP+FM+distill | +30‰(推全) |
模型 | GAUC提升 |
---|---|
base | |
base+nova | +10‰ |
base+senet | +10‰ |
base+nova+senet+fibi_all | +8‰ |
base+nova+senet+fibi_each | +13‰ |
base+multi_task | +16‰ |
base+multi_task+nova+senet+fibi_each | +19‰(推全) |
我们上线了蒸馏温度=3的两阶段蒸馏+user-item tower优化模型+多任务粗排模型,线上打分使用student塔输出的logits,其线上效果分别如下
两阶段蒸馏+低成本交叉:uctr+3.23%,pctr+1.78%,浏览深度+2.14%,点击次数+3.96%(先推全)
多目标+user、item tower优化:uctr+2.61%,pctr+0.70%,浏览深度+2.00%,点击次数+2.83%
两阶段蒸馏的方式实现成本小,但主要收益仅来自于soft_label,无法从teacher模型学到更多的信息,故使用同步蒸馏的方式即将teacher model和student model融合成一个model进行优化。与两阶段蒸馏不同的是
网络结构如下:
整体loss如下:
模型 | GAUC提升 |
---|---|
base | |
ync_distill | -2‰ |
sync_distill+indep | -6‰ |
sync_distill+stop_user_grad | +8‰ |
sync_distill+user_attention | +12‰(推全) |
sync_distill+stop_user_grad+user_attention | +11‰ |
离线对比了
从结果上分析,得到结论如下:
大盘:uctr+1.86%,pctr+1.68%,浏览深度+1.83%,点击次数+3.48%,点击用户平均点击次数+1.56%,人均曝光类目+3.10%,人均点击新类目数+3.58%
心智用户:uctr+1.52%,pctr+2.19%,浏览深度+3.11%,点击次数+5.33%,点击用户平均点击次数+3.93%,人均曝光类目数+2.44%,人均点击新类目数+4.20%
模型 | GAUC提升 |
---|---|
base | |
base+kl_loss+distill_loss | -2‰ |
base+only_kl_loss | +0.5‰ |
soft_label分布蒸馏在上述同步蒸馏模型推全后也补充了实验。就离线评测上来看,加入kl_loss学习分布并没有明显的提升,且如果直接在现有distill_loss基础上加入kl_loss还会下降。但上线后捞取线上打分实际分布,如下图所示,实验桶的粗排分与精排分的分布相较于基准桶的确更为相近,线上效果也的确更为优异。
大盘:uctr+0.57%,pctr+1.24%,浏览深度+0.66%,点击次数+1.87%
心智用户:uctr+2.13%,pctr-4.63%,浏览深度+3.76%,点击次数-0.99%
本文主要阐述2021年天猫新品算法团队在深度粗排上关键的优化过程与结果。在平衡模型打分效率与效果的前提下,我们基于基础的 dssm 双塔模型的基础上引入蒸馏的方式,通过使用精排大模型输出 soft_label 进行了低成本的两阶段蒸馏与更为精细的优势特征同步蒸馏的优化。优化过程中结合了 NOVA attention 、SENET+Bilinear Interaction 对双塔 user tower 和 item tower 分别进行了更为细致且低成本的优化,同时对如何更好地使用 teacher model 输出的 dark knowledge进行多方面蒸馏进行了探索,在优势特征蒸馏的基础上拟合 soft_label 的值与分布,进一步提高粗排模型的精度的同时也提高粗排精排模型打分分布一致性,提升离线与在线的关键指标。
但对于粗排优化而言,目前也存在一个比较明显且关键的问题,即粗排的优化目标与评价指标是什么?由于粗排的打分空间是全商品底池范围,而线上日志是用户对精排重排结果的一个显式反馈,粗排目前仅使用线上的曝光点击日志会使得模型的选择偏差更严重,线上的马太效应更大。目前有部分探索尝试加入精排打过分但未透出的样本或者直接对底池进行负采样的样本用于扩展粗排模型的学习空间、提高模型的泛化能力,但在目前的推荐范式下最终仍缺少一个客观的评价指标对此进行指导优化,该问题是深入优化的关键问题,目前仍是浅尝辄止。道阻且长,行则将至。
本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/O7dVMOv7Xy5lDjMZGoawLw
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。