腾讯KDD‘24公开最新广告推荐系统建模方案

科技   2024-09-29 23:01   北京  

点关注,不迷路,用心整理每一篇算法干货~

后台留言”交流“,加入圆圆算法交流群~
后台回复“星球”加入圆圆算法知识星球~
已有860+同学加入学习)

腾讯在KDD2024中发表了一篇广告推荐系统的工作,详细介绍了腾讯构建的新一代推荐系统模型,从Embedding构建、模型结构、优化方式等多个方面都进行了细致优化。今天这篇文章给大家介绍一下腾讯的这篇工作。

论文标题:Ads Recommendation in a Collapsed and Entangled World

下载地址https://arxiv.org/pdf/2403.00793

1

整体介绍

本文介绍了腾讯的广告推荐系统模型结构。整体的模型结构如下图所示,核心包括以下几个方面。

基础Embedding:包括序列特征、数值特征、ID特征,各类特征有相应的处理方法;

多Embedding多Expert融合:每个特征使用多个Embedding,并使用多个Expert进行建模,实现模型Ensemble,缓解Embedding维度坍缩问题;

多任务多场景的兴趣解耦:提出两种建模方法,解决多任务或多场景建模中,用户兴趣的耦合对模型造成的负向影响;

优化技巧:进行样本加权、引入rank loss等模型训练优化方法。

2

基础Embedding

推荐系统模型的Embedding可以分为4种类型:行为序列建模Embedding、数值型Embedding、ID类Embedding,以及从外部数据预训练的Embedding。

对于行为序列建模,文中采用了之前腾讯提出的Temporal Interest Module结构(论文Temporal Interest Network for Click-Through Rate Prediction),在用户历史行为序列建模中引入时间维度信息,并且和目标商品信息进行充分交叉。这篇文章的详细解析也在星球中更新过,感兴趣的同学可以进一步查看。

对于数值类型特征,由于其存在大小关系,文中提出了Multiple Numeral Systems Encoding (MNSE)的Embedding生成思路。其核心是将数值转换成不同进制的表示,再将这个表示转换成Embedding。比如将51这个数,可以转换成二进制111011,进一步可以转换成【6_1, 5_1, 4_0, 3_0, 2_1, 1_1】这6个Embedding。同时也可以将51转换成3进制、4进制等各种类型的表示,并转换成相应Embedding。

对于外部数据预训练的Embedding,例如使用User-Item构建的Graph训练的Embedding,文中使用user和item侧Embedding的相似度打分作为模型输入,并对这个相似度打分使用上述MNSE的方式构建数值Embedding输入模型。

3

多Embedding多Expert融合

本文进一步探索了Embedding中的维度坍缩问题。这里的维度坍缩问题指的是,对于一个K维的Embedding,模型只能有效利用其中较少量的维度,Embedding分布在一个很小的空间,进而无法有效利用Embedding信息。

文中提出,造成这个问题的核心原因是模型中的特征交叉模块。有一些特征,由于其取值较少,本来就用不了K维的Embedding,比如性别这个特征。而这个特征在和其他特征做交叉后,就会把其他特征也带向坍缩。

为了解决这个问题,文中提出将一个特征的Embedding拆成多份,每份内部分别做特征交叉,并过单独的Expert模型。进一步的,采用不同类型的特征交叉方式,实现了一种多Embedding、多类型特征交叉、多Expert融合的建模方法。

在特征交叉部分,为了避免直接计算两个Embedding内积出现的维度坍缩问题,文中借鉴前人的工作,先对一个特征的Embedding通过MLP映射后,再和另一个Embedding计算内积进行交叉,以此来有效缓解维度坍缩问题。

4

多任务多场景兴趣解耦

在多任务或者多场景建模中,不同的任务或场景下的用户兴趣是不同的,联合学习会造成互相的干扰,带来负迁移问题。为了解决上述问题,文中提出了两种建模方法,第一种方法面向多任务学习,同时关注多个目标的效果。核心在于将底层的Embedding进行不同维度的拆解,每种Embedding过一个专家模型,并通过Gate控制每个任务使用各个Embedding和专家的权重。相比传统的MoE做法,这里没有区分每个任务独立或者共享的Expert,而是直接使用独立模型+Gate的方法进行融合。

第二种方法面向单任务学习,这里只关注一个目标任务的效果,其他任务作为辅助任务,目的是提升目标任务的效果。这里采用了辅助Expert的方法,用一个辅助Expert学习辅助目标,并将辅助塔的表征作为主塔的输入,以提升主塔的预测效果。

5

优化技巧

在模型优化方法上,文中也提出了一些优化技巧。

首先是梯度消失问题,在腾讯的广告场景中,点击率很低,正样本很少,导致梯度跟小。文中指出,引入ranking loss和binary cross entropy进行联合训练,可以显著增大梯度,提升模型的收敛性。

其次,如果一个样本重复曝光,会带来用户体验的下降。为了缓解这个问题,文中对重复曝光的负样本进行加权,让模型减少重复曝光,且用户不感兴趣样本的打分。这样做之后,会改变样本打分的整体分布,因此文中对正样本进行纠偏加权缓解该问题。

此外,文中也进行了包括不确定度建模、在线学习、分析工具等一系列的优化和链路建设。

END




后台留言”交流“,加入圆圆算法交流群~
后台留言”星球“,加入圆圆算法知识请星球~【时序预测专题课程持续更新中
知识星球提供一文贯通笔记、经典代码解析、问答服务、新人入门,已有860+小伙伴加入价格随人数增加和内容丰富上涨,感兴趣的同学尽早加入~


投稿&加交流群请加微信,备注机构+方向拉群~

【历史干货算法笔记】
生成式模型入门:一文讲懂3大类生成式模型
Sptial-Temporal时空预测总结:建模思路、优化方法梳理
时序预测顶会论文数据集、数据处理方法、训练方法汇总
时间序列预测实战方法概述:从数据到模型
Informer模型结构和代码解析
基于Transformer的时序预测模型TFT代码详解
时空预测经典模型STGCN原理和代码解读
一网打尽:14种预训练语言模型大汇总
Vision-Language多模态建模方法脉络梳理
花式Finetune方法大汇总
从ViT到Swin,10篇顶会论文看Transformer在CV领域的发展历程

如果觉得有帮助麻烦分享在看点赞~  

圆圆的算法笔记
定期更新深度学习/算法干货笔记和世间万物学习记录~
 最新文章