Jiahong 的个人博客

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

ML——泛化特征与非泛化特征


泛化特征与非泛化特征

  • 泛化特征(Generalized Features):
    • 泛化特征是指那些能够捕捉数据内在模式或规律性的特征,这些特征具有一定的普遍性,可以适用于不同但相关的场景
    • 一个模型如果具备良好的泛化能力,意味着它能在未见过的数据上表现良好,即不仅能准确预测训练集中的数据,还能对新数据做出合理的预测
    • 在创建泛化特征时,通常会考虑去除噪声、避免过拟合,并确保特征的选择基于数据的统计显著性和稳定性
  • 非泛化特征(Non-Generalized Features 或 Specific Features):
    • 非泛化特征是指那些与特定数据样本紧密相关,但在其他类似的数据样本中可能不具备相同意义或重要性的特征
    • 这些特征可能会导致模型过拟合,即模型在训练数据上的表现非常好,但对于未曾见过的新数据则可能无法给出准确的预测
    • 非泛化特征的例子包括某些特定于训练集样本的异常值或者非常具体且不常见的属性

一些说明

  • 统计型特征一般可以看做是泛化特征
  • User-ID或者Item-ID这种特征一般可以看做是非泛化特征
  • 在数据量特别大的时候,其实User-ID和Item-ID类特征是可以放进模型的,只要有充足的数据来训练他们的Embedding就可以;但是一般的小任务,小数据就不适合加这类特征了

ML——训练集-验证集-测试集

训练集(training set),验证集(validation set)和测试集(test set)


统计学习方法:

  • 训练集: 用于模型训练
  • 验证集: 用于模型选择
  • 测试集: 用于模型评估(原文:用于最终对学习方法的评估)

个人理解:

  • 训练集: 用于模型拟合的数据样本
  • 验证集: 用于模型的选择
    • 不参与训练过程
    • 可用于超参数的调整
    • 可用于判断模型是否过拟合(用于决策何时停止训练过程)
    • 可多次使用
  • 测试集: 用于模型的评估
    • 不参与训练过程
    • 不可用于超参数的调整
    • 只可以使用一次

一些场景说明

做kaggle题目时

  • 不用测试集,因为数据集本来就少,测试集不能用于优化或者选择模型,只能用于评估
  • 此时测试集可以理解为kaggle题目中未知的部分数据
  • 此时从验证集中划分一部分验证集

写论文时

  • 需要训练集用于训练,验证集用于模型选择
  • 并且最终需要测试集用于评估模型和与其他人的模型对比

核心:验证集和测试集不能参与训练模型,测试集不能参与模型选择
模型训练时不能让模型看见验证集
在模型确定前都不能让模型看见测试集


关于K折交叉验证法

  • 统计学习方法中的描述: 交叉验证中每次划分为两部分,一部分用于训练模型,另一部分用于测试模型
  • 理解:上面的两部分,一部分为训练集,另一部分为验证集,在这里面没有测试集

关于网格搜索

  • 用来调超参数的一部分正好称为验证集
  • 除了验证集外,加入写论文做实验需要和其他模型作比较的话需要使用测试集(和验证集以及训练集都不相交)

关于数据划分的比重

  • 训练集:测试集 = 7:3
  • 训练集:验证集:测试集 = 6:2:2
  • 数据量非常多时(比如百万级别),验证集和测试集的比重可以适当缩小,因为验证集的主要目的是选择较好的模型,而测试集的目的是为了测试模型的效果,如果1万条数据足以验证模型的效果,则没必要非得给20万条数据

ML——采样方法

本文介绍几种采样的方法


计算机能做什么样的采样

Uniform

  • 本质上来讲,计算机只能实现对均匀分布(Uniform Distribution)的采样

numpy.random模块功能介绍

numpy.random是用来实现随机数生成的库

  • 生成随机数random
  • 生成某个随机数的随机样本random_sample
  • 对序列做随机shuffle,choice等

numpy.random模块的采样

numpy.random模块下实现了很多常见分布的采样函数(他们本质上都是计算机通过多次均匀分布采样实现的)

单变量分布
  • beta:beta分布
  • binomial:二项分布
  • chisquare:卡方分布
  • exponential:指数分布
  • 还有更多…
多变量分布
  • dirichlet : Multivariate generalization of Beta distribution. 狄利克雷分布
  • multinomial: Multivariate generalization of the binomial distribution. 多项分布
  • multivariate_normal: Multivariate generalization of the normal distribution. 多变量正太(高斯)分布
标准分布
  • standard_cauchy: Standard Cauchy-Lorentz distribution.
  • standard_exponential: Standard exponential distribution.
  • standard_gamma: Standard Gamma distribution.
  • standard_normal: Standard normal distribution.
  • standard_t: Standard Student’s t-distribution.

复杂分布的采样方式

在实践中,往往有很多复杂的分布,复杂到我们无法直接对他进行采样
有些时候我们甚至不知道目标函数的分布函数

逆变换采样

Inverse Transform Sampling

  • 目标函数: \(p(x)\)

  • 相关补充:

    • 求函数的累积分布函数 \(\Phi(x) = \int_{- \infty}^{x}p(t)d_{t}\)
    • 求累计分布函数的逆函数(反函数) \(\Phi^{-1}(x)\)
  • 采样步骤:

    • 均匀分布采样: \(u_{i} \sim U(0,1)\)
    • 计算: \(x_{i} = \Phi^{-1}(u_{i})\),其中 \(\Phi^{-1}(\cdot)\) 是 \(p(x)\) 的累积分布函数(CDF)的逆函数
    • \(x_{i}\) 服从 \(p(x)\) 分布
  • 优缺点:

    • 优点:
      • 仅需进行一个均匀分布采样即可
    • 缺点:
      • 需要求解累积分布函数的逆函数
      • 累积分布函数的逆函数不一定容易求解,有些甚至无法求解
  • 证明:

    • 示意图如下:
    • 图中纵轴就是均匀分布采样的结果,然后丛纵轴对应到的累计分布函数 \(\Phi(x)\) 的曲线上概率越大的地方实际上也就是累积分布函数的导数(原始分布函数 \(p(x)\))最大的地方
    • 这个对应过程等价于我们将 \(x\) 轴和 \(y\) 轴互换,也就是求累积分布函数的逆函数即可

拒绝采样

别名: Accept-Reject Sampling, 接受-拒绝采样

  • 目标函数: \(p(x)\)

  • 相关补充:

    • (参考分布寻找) : 寻找一个容易采样的分布 \(q(x)\),满足 \(p(x) \leq M\cdot q(x)\)
    • 一般选择正太分布等
    • \(M > 1\),从后面的证明可以知道, M越小越好
  • 采样步骤:

    • 参考分布采样: \(x_{i} \sim q(x)\)
    • 均匀分布采样: \(u_{i} \sim U(0,1)\)
    • 判断是否接受: 如果 \(u_{i} < \frac{p(x_{i})}{M\cdot q(x_{i})}\),则接受采样,否则拒绝本次采样(丢弃本次采样的 \(x_{i}\))
    • \(x_{i}\) 服从 \(p(x)\) 分布(不包括被拒绝的样本)
  • 证明:

    • 由采样步骤得到,最终得到的分布服从$$q(x)\cdot \frac{p(x)}{M\cdot q(x)} = \frac{1}{M}p(x)$$
    • 对上述分布进行归一化即可得到采样的样本服从 \(p(x)\)
    • 从 \(\frac{1}{M}p(x)\) 这里也可以看出来采样的效率由M值的大小决定,M越小,采样效率越高
  • 优缺点:

    • 优点:
      • 复杂分布变成简单分布采样+一个均匀分布,有时候甚至可以将参考分布也使用均匀分布
    • 缺点:
      • 参考分布 \(q(x)\) 的选择很难的
      • 不合适的参考分布可能导致采样效率低下
  • 解决 \(q(x)\) 难以寻找的一种解决方案: 自适应拒绝采样(Adaptive Rejection Sampling)

    • 只适用于目标函数为凸函数
    • 使用分段线性函数来覆盖目标函数
    • 下面是示意图片(图片来源: https://www.jianshu.com/p/3fb6f4d39c60)

重要性采样

Importance Sampling

  • 重要性采样与前面两者不同,重要性采样解决的问题是在求一个函数的关于原始分布的期望时
  • 目标定义: \(\mathbb{E}_{x\sim p(x)}[f(x)] = \int_{x}f(x)p(x)d_{x}\)
  • 直接对 \(p(x)\) 采样可能存在的两个问题:
    • \(p(x)\) 可能难以采样
    • \(p(x)\) 采样到的样本大多都在 \(f(x)\) 比较小的地方,即 \(f(x)\) 与 \(p(x)\) 的差别太大导致有限次采样无法正确评估原始期望,采样次数不够大的话偏差可能很大
      • 这里一种解决方案是采样足够多的次数,多花点时间保证所有样本量足够,降低偏差
  • 解决方案:
    • 引入一个容易采样的参考分布 \(q(x)\),满足
      $$
      \begin{align}
      \mathbb{E}_{x\sim p(x)}[f(x)] &= \int_{x}f(x)p(x)d_{x} \\
      &= \int_{x}f(x)\frac{p(x)}{q(x)}q(x)d_{x} \\
      &= \int_{x}f(x)w(x)q(x)d_{x} \\
      \end{align}
      $$
    • 其中 \(w(x) = \frac{p(x)}{q(x)}\) 称为样本 \(x\) 的重要性权重(Importance Weight),不同样本的重要性权重不同
    • 与直接从 \(p(x)\) 中采样相比,相同采样次数,最终得到期望偏差会更小,因为 \(p(x)\) 会增大在 \(f(x)\) 大但是 \(p(x)\) 极小处的样本被采样的概率,然后调低这个样本的权重
  • 示意图片:

总结

  • 逆采样和拒绝采样都是在通过简单分布采样来采样原始分布的样本,最终的样本就是服从原始分布的样本 \(x_{i}\sim p(x)\)
  • 重要性采样本质上是通过简单分布来采样和重要性权重来估计某个函数在原始分布上的期望 \(\mathbb{E}_{x\sim p(x)}[f(x)] = \int_{x}f(x)p(x)d_{x}\)
  • 对于高维空间中的随机向量,拒绝采样和重要性采样经常难以找到合适的参考分布,容易导致采样效率低下(样本的接受概率太小或者重要性权重太低),此时可以考虑马尔可夫蒙特卡罗采样法(MCMC),MCMC中常见的有两种,MH(Metropolis-Hastings)采样法和Gibbs采样法,关于MCMC详情可参考我的博客ML——MCMC采样

ML——贝叶斯优化

本文持续更新,主要主要介绍贝叶斯优化

  • 参考链接:
    • 一文详解贝叶斯优化(Bayesian Optimization)原理 - 下里巴程序员的文章 - 知乎
    • 贝叶斯优化/Bayesian Optimization - 代忠祥的文章 - 知乎

关于贝叶斯优化

  • 贝叶斯优化(Bayesian Optimization,简称BO)主要用于解决超参数优化问题,目标是找到一组使得目标函数最大或者最小的超参数
  • BO的最大优势是可以使用非常少的步骤找到一个还不错的超参数组合,而且不需要知道目标函数(模型)的梯度
  • BO使用的场景特点:
    • 需要优化的函数(模型)是非常复杂的
    • 需要优化的函数(模型)对指定的变量(一般指超参数)没有梯度信息(求不出梯度)
  • BO不适合使用的场景包括:
    • 离散问题,即参数是离散的,则不适合使用BO
    • 参数太多,即参数维度过高,此时不适合使用BO
  • 和BO的适用场景和进化算法(如CEM等)比较相似

贝叶斯优化的一般步骤

  • 贝叶斯优化(Bayesian Optimization)算法是一个序列决策过程(Sequential Decision-making Problem),其核心框架是SMBO (Sequential Model-Based Optimization),而贝叶斯优化狭义上特指代理模型为高斯过程回归模型的SMBO,SMBO的一般算法思路如下:
    • 第一步:初始化采样n组参数 \(\{x_1,x_2,…,x_n\}\)
    • 第二步:针对每组参数,观察目标函数(待优化模型)的值(这一步一般需要训练模型或者模拟环境仿真,是成本比较高的操作),将得到的结果组合生成数据集 \(D=\{(x_1,y_1),(x_2,y_2),…,(x_n,y_n)\}\)
    • 第三步:根据数据集D拟合(训练)一个代理模型(Surrogate Model),该代理模型的功能是通过输入 \(x_i\) 预测输出 \(y_i\)
    • 第四步:根据采集函数(Acquisition Function,简称AC Function),选择一个最优参数 \(x_i\)
    • 第五步:观察目标函数(待优化模型)在参数 \(x_i\) 下的输出值 \(y_i\),并将 \((x_i,y_i)\) 添加到数据集D中
    • 循环执行第三步到第五步,直到达到指定的迭代次数
    • 最终:输出数据集D中最优的参数 \(x^*\)

代理模型

  • 代理模型一般是非常容易计算的,或者有梯度的,给出任意的 \(x_i\) 能快速预估 \(y_i\) 的
  • 常见的代理模型可以是:高斯过程回归、随机森林等等。其中,贝叶斯优化狭义上特指代理模型为高斯过程回归模型的SMBO
  • 高斯过程回归可参考:
    • 如何通俗易懂地介绍 Gaussian Process? - 石溪的回答 - 知乎
    • 快速入门高斯过程(Gaussian process)回归预测 - 摸鱼大王二百五的文章 - 知乎

采集函数

  • 通常做法是设计一个采集函数A,对每个采样点x进行打分,分数越高的点越值得被采样
  • 一般来说,采集函数需要满足下面的要求:
    • 在已有的采样点处采集函数的值更小,因为这些点已经被探索过,再在这些点处计算函数值对解决问题没有什么用
    • 探索:在置信区间更宽(方差更大)的点处采集函数的值更大,因为这些点具有更大的不确定性,更值得探索
    • 利用:对最大(小)化问题,在函数均值更大(小)的点处采集函数的值更大,因为均值是对该点处函数值的估计值,这些点更可能在极值点附近
  • 常用的AC Function包括下面几种:
    • Probability of Improvement:
    • Expected Improvement:
    • Entropy Search:
    • Upper Confidence Bound:

RS——EGA

EGA: End-to-end Generative Advertising

  • 参考链接:
    • EGA: A Unified End-to-End Generative Framework for Industrial Advertising Systems, 20250523, Meituan

整体说明

  • 传统在线广告系统的多级级联架构(multi-stage cascaded architectures)存在低效问题 :
    • 会过早过滤掉高潜力候选内容
    • 并将业务决策逻辑分散到独立模块中
  • 生成式推荐提供了端到端解决方案,但它们未能满足实际广告需求:
    • 缺乏对出价、创意选择、分配机制和支付计算(bidding, creative selection, allocation mechanism, and payment computation)等关键要素的显式建模
  • 论文提出了端到端生成广告(End-to-end Generative Advertising,EGA):
    • 第一个统一的广告生成框架,将用户兴趣建模、POI(兴趣点)与创意生成、位置分配和支付优化无缝集成在单一模型中
    • 利用 hierarchical tokenization 和 multitoken prediction 联合生成候选 POI 和创意内容
    • 通过排列感知(permutation-aware)奖励模型和 token-level bidding 策略确保与用户体验和广告商业务目标的一致性
    • 此外,论文通过专用的 POI-level 支付网络和可微分事后遗憾最小化(differentiable ex-post regret minimization)实现分配与支付的解耦,近似保证激励相容性(, guaranteeing incentive compatibility approximately)
  • 在真实广告系统上进行的大规模离线和在线实验证明了 EGA 相比传统级联架构的有效性和实践优势,凸显其作为行业领先端到端生成广告解决方案的潜力

一些讨论

  • 在线广告已成为主要互联网平台的关键收入引擎,每个用户请求会触发一个复杂的决策过程,平台需选择、排序并展示广告与自然内容的混合列表
  • 传统在线广告系统依赖多级级联架构,通常结构为:召回、预排序、排序、创意选择和拍卖(如图1(a)所示)
    • 具体做法:每个阶段从其输入中选择前 \(k\) 个候选内容并传递给后续阶段。这种范式通过逐步缩小候选内容集,在严格延迟约束下有效平衡了性能与效率
    • 级联架构存在固有局限:级联中的早期阶段本质上限制了下游模块的性能上限
      • 例如,在上游召回或排序阶段被过滤的广告即使最终分配中极具价值也无法恢复,导致平台收入降低并无法实现全局最优
      • 尽管已有多种努力通过促进排序模块间交互来提升整体推荐性能,但这些方法仍局限于传统级联排序框架
  • 生成式推荐框架的出现为这些长期挑战提供了新视角
  • 近期研究表明:Transformer-based 序列模型可以端到端统一检索、排序和生成,提供个性化内容并捕捉深层次 user-item 依赖关系
    • 尽管此类方法在自然推荐场景中表现出显著潜力,广告系统的复杂性带来了一系列独特障碍
    • 广告系统必须满足严格的业务约束,包括 bidding、创意选择、广告位分配和支付规则,同时优化用户与平台目标
    • 这些需求引入了复杂依赖关系和实际挑战,直接应用现有生成式推荐模型无法完全解决
  • 为解决上述挑战,论文提出 EGA,一种将决策阶段统一到单一模型中的新型生成框架:
    • 整体来说:EGA 弥合了生成建模与工业广告实际需求之间的鸿沟,直接端到端输出最终广告序列及对应创意、位置和支付
    • 第一:受生成式推荐技术启发,论文利用 RQ-VAE 将用户行为和物品特征编码为分层语义 token ,并采用带 multi-token prediction 的 Encoder-Decoder 架构联合生成候选广告序列和创意内容
    • 第二:论文提出 token-level bidding 和生成式分配机制 ,通过排列感知奖励建模增强(enhanced by permutation-aware reward modeling)
      • 该策略将分配与支付解耦,使模型在生成过程中有效反映业务目标,同时通过可微分支付网络近似保持激励相容性(IC)
    • 第三:论文引入多阶段训练范式 :
      • 预训练阶段 :从包含广告和自然内容的实际曝光序列中学习用户兴趣;
      • 后训练阶段 :基于拍卖的后训练用于微调模型以适应广告特定约束,根据拍卖信号和平台目标动态优化广告分配
  • 论文的贡献如下:
    • 提出 EGA,通过统一单生成模型超越传统多级级联架构(首个广告端到端模型)
    • 提出包含兴趣预训练和拍卖后训练的新颖多阶段训练策略
    • 该设计有效平衡用户兴趣建模与广告特定约束,利用训练中的多样化数据源,并使模型输出与最终平台目标对齐
    • 离线实验 + 在线A/B实验

相关工作(直译)

  • 为实现工业广告的端到端优化,统一用户行为建模、拍卖机制和广告分配策略至关重要。基于此整合动机,本节回顾各领域的最新进展

生成式推荐

  • 近年来,将生成范式应用于推荐系统的兴趣日益增长。一个特别有前景的方向是将推荐建模为序列生成任务,使用 Transformer-based 自回归架构捕捉 user-item 交互
  • 这些方法旨在深度捕获用户行为上下文并以端到端方式生成个性化物品序列
    • Tiger是开创性方法,引入RQ-VAE将物品内容编码为分层语义ID,实现语义相似物品间的知识共享
    • 在此基础上,COBRA提出两阶段生成框架,首先生成稀疏ID再细化为稠密向量,实现从粗到细的检索过程
  • 另一研究方向探索通用生成式推荐器
    • HSTU 将推荐重构为序列转导任务,设计专为高基数非平稳流数据定制的 Transformer 架构
    • OneRec 进一步推进这一方向,在单一 Encoder-Decoder 框架内统一检索、排序和生成,同时结合 session-level 生成和偏好对齐策略提升输出质量
  • 此外,多种方法专注于增强语义 tokenization 和 representation
    • LC-Rec 通过辅助目标将语义ID与协同过滤信号对齐
    • IDGenRec 利用大语言模型生成稠密文本标识符,在零样本场景中展现强大泛化能力
    • SEATER 引入通过对比和多任务目标训练的树结构 token 空间以确保一致性
    • ColaRec 为更好对齐搭建内容与交互空间的桥梁
  • 尽管这些工作展示了强大的通用推荐性能,但它们不足以满足在线广告系统的需求,后者需要对 bidding、支付和分配约束进行额外建模,而这些在纯用户兴趣建模中未被捕获

拍卖机制

  • 传统拍卖机制如 GSP 及其变体(如uGSP)因简单性、可解释性和强收入保证而广泛应用于在线广告。然而,它们基于广告间独立的假设运作,未能考虑外部性(即其他广告的影响)
  • 为解决此问题,计算能力的进步推动了基于学习的拍卖框架发展。例如:
    • DeepGSP 和 DNA 通过将在线反馈纳入端到端学习流水线扩展经典拍卖
    • DNA存在”排序前评估”困境,即必须在知晓最终序列前预测排序分数,限制了其建模集合级外部性的能力
    • 其他尝试将最优性融入拍卖设计
      • NMA 通过穷举枚举所有可能分配确保全局最优性,但其计算成本使其难以实时应用
      • CGA 通过自回归分配模型和激励相容性的梯度友好重构,显式建模排列级外部性,克服传统和学习型广告拍卖的局限,实现分配与支付的端到端优化

广告分配

  • 平台最初为广告和自然内容分配固定位置,但动态广告分配策略因优化整体页面级性能的潜力而受到关注
  • CrossDQN 引入 DQN 架构将排列信号融入分配模型而不改变广告相对排序
  • HCA2E提出具有理想博弈论特性和计算效率的分层约束自适应广告曝光
  • MIAA提出深度自动化机制,集成广告拍卖与分配,同时决定广告的排序、支付和展示位置

前置基础知识

  • 本节主要符号如表1所示:

任务定义

  • 形式化定义在线广告系统中联合广告生成与分配的任务 :给定用户 \(u\) 的页面浏览(PV)请求,系统有 \(N\) 个候选广告和 \(M\) 个候选自然内容,假设自然内容序列 \(O\) 已根据预估 GMV 由上游模块预排序(This reflects common platform design constraints where organic content is ranked independently and must preserve user experience),其内部顺序将保持不变 \(^1\),系统最终选择 \(K\) 个 item 的排序列表( \(K \ll (N+M)\) )进行展示:
    $$
    \boldsymbol{\mathcal{Y} } = \{y_1, y_2, \ldots, y_K\}, \quad y_i \in X \cup O,
    $$
    • 其中输出列表 \(\boldsymbol{\mathcal{Y} }\) 的生成需要在用户参与度和商业约束下联合做出以下决策:
      • 广告排序 :从 \(X\) 中决定所选广告的排列顺序;
      • 创意选择 :为每个选中的广告生成最合适的创意图片;
      • 支付 :根据广告的出价 \(b_i\) 和分配位置,计算每个展示广告的支付价格 \(p_i\) ;
      • 广告位 :在与自然内容竞争时,确定每个广告的最佳展示位置
  • 每个广告主 \(i\) 提交与其私有点击价值 \(v_i\) 对应的出价 \(b_i\) 。论文的目标是通过序列 \(\boldsymbol{\mathcal{Y} }\) 最大化平台预期收入:
    $$
    \max_{\theta} \mathbb{E}_{\boldsymbol{\mathcal{Y} } } \left[\textrm{Rev}\right] = \max_{\theta} \mathbb{E}_{\boldsymbol{\mathcal{Y} } } \left(\sum_{i=1}^K p_i \cdot \textrm{pCTR}_i\right).
    $$

拍卖机制设计

拍卖约束(Auction Constraints)
  • 与传统推荐系统不同,广告平台不仅需要优化平台收入,还需确保广告主效用。给定拍卖机制 \(\mathcal{M}(\mathcal{A}, \mathcal{P})\),其中分配规则为 \(\mathcal{A}\),支付规则为 \(\mathcal{P}\),广告主 \(i\) 的预期效用 \(u_i\) 定义为:
    $$
    u_i(v_i;b) = (v_i - p_i) \cdot \textrm{pCTR}_i.
    $$
  • 拍卖机制必须满足两个关键经济约束:激励相容性(IC)和个体合理性(IR)。IC要求真实出价能最大化广告主效用。对于广告 \(x_i\),需满足:
    $$
    u_i(v_i;v_i,b_{-i}) \geq u_i(v_i;b_i,b_{-i}), \quad \forall v_i, b_i \in \mathbb{R}^+.
    $$
  • IR要求广告主的支付不超过其出价,即:
    $$
    p_i \leq b_i, \quad \forall i \in [N].
    $$
基于学习的拍卖(Learning-based Auction)
  • 为了在模型中确保激励相容性(IC),论文采用事后遗憾(ex-post regret)的概念来量化广告主通过虚假报价可能获得的潜在收益。这种形式化方法使论文能够以可微分的方式强制执行IC约束,适用于端到端优化
  • 形式上,给定生成的序列 \(\boldsymbol{\mathcal{Y} }\),广告 \(x_i \in \boldsymbol{\mathcal{Y} }\) 的真实估值 \(v_i\) 和上下文用户输入 \(u\),事后遗憾定义为:
    $$
    \operatorname{rgt}_i(v_i, \boldsymbol{\mathcal{Y} }, u) = \max_{b’_i} \left\{u_i(v_i;b’_i, \boldsymbol{b}_{-i}, \boldsymbol{\mathcal{Y} }, u) - u_i(v_i;b_i, \boldsymbol{b}_{-i}, \boldsymbol{\mathcal{Y} }, u)\right\},
    $$
    • \(b_i\) 为真实 bidding
    • \(b’_i\) 为潜在虚假报价
    • \(\boldsymbol{b}_{-i}\) 表示除 \(x_i\) 外的其他广告 bidding
    • 当且仅当所有广告主的 \(\operatorname{rgt}_i = 0\) 时,IC约束被满足
    • 实践中,论文通过从分布 \(\mathbb{F}\) 中采样 \(N_0\) 个估值来近似计算广告 \(x_i\) 的经验事后遗憾:
      $$
      \widehat{\operatorname{rgt} }_i = \frac{1}{N_0} \sum_{j=1}^{N_0} \operatorname{rgt}_i(v^j_i, \boldsymbol{\mathcal{Y} }, u).
      $$
  • 随后,论文将拍卖设计问题形式化为在经验事后遗憾为零的约束下最小化预期负收入:
    $$
    \min_{\mathbf{w} } -\mathbb{E}_{\boldsymbol{v}\sim \mathbb{F} } \left[\operatorname{Rev}^{\mathcal{M} }\right], \quad \text{s.t.} \quad \widehat{\operatorname{rgt} }_i = 0, \ \forall i \in [N].
    $$

EGA 方法介绍

基于兴趣的预训练(Interest-based Pre-training)

  • 预训练阶段的目标是根据用户的历史行为(包括广告和自然内容)捕捉用户兴趣,这一阶段为学习反映用户兴趣的统一表征奠定了基础
  • 数学上,预训练模型 \(\mathcal{F}\) 的目标是在给定输入用户行为序列 \(\mathcal{S}^u\) 的条件下,生成一个兴趣感知的输出序列 \(\boldsymbol{\mathcal{Y} }\):
    $$
    \boldsymbol{\mathcal{Y} } := \mathcal{F}(\mathcal{S}^u).
    $$
特征表示(Feature Representations)
  • 论文使用 \(\mathcal{S}^u = \{y_1, y_2, \ldots, y_B\}\) 表示用户上下文,其中每个 \(y_i\) 是用户之前交互过的 item (如点击、购买、喜欢), \(B\) 是序列长度。目标标签 \(\boldsymbol{\mathcal{Y} } = \{y_1, y_2, \ldots, y_K\}\) 对应于当前PV会话中实际曝光的高价值 item 。每个候选 item \(y_i\) 通过多模态表征描述,包括兴趣点( POI )特征嵌入 \(\boldsymbol{e}_i^{poi}\) (如稀疏ID特征和密集特征)以及从视觉内容中提取的创意图像嵌入 \(\boldsymbol{e}_i^{img}\)。最终输入可以表示为:
    $$
    \mathcal{S}^u = \{(\boldsymbol{e}_1^{poi}, e_1^{img}), (e_2^{poi}, e_2^{img}), \ldots, (e_B^{poi}, e_B^{img})\}.
    $$
Vector Tokenization
  • 受现有生成式推荐模型的启发,论文采用残差量化变分自 Encoder (RQ-VAE)将密集嵌入编码为语义 token 。历史序列中的每个用户行为表示为 POI-creative(创意)对:
    $$
    \mathcal{S}^u = \{(\boldsymbol{a}_1^{poi}, a_1^{img}), (a_2^{poi}, a_2^{img}), \ldots, (a_B^{poi}, a_B^{img})\},
    $$
  • 预测目标是一个结构类似的序列:
    $$
    \boldsymbol{\mathcal{Y} } = \{(\boldsymbol{a}_1^{poi}, a_1^{img}), (a_2^{poi}, a_2^{img}), \ldots, (a_K^{poi}, a_K^{img})\}.
    $$
  • 每对 token \((\boldsymbol{a}_i^{poi}, a_i^{img})\) 结合了高层类别意图和细粒度视觉语义
  • 为简化,论文假设 POI 和创意图像均用单层 token \(\boldsymbol{a}\) 表示,但框架可扩展为分层 token 表示
    • 例如,给定由 \(C\) 层(每层大小为 \(K\) )组成的 codebooks \(\mathcal{V}\), token \(\boldsymbol{a}_i\) 表示为:
      $$
      \boldsymbol{a}_i = (a_i^1, a_i^2, \ldots, a_i^C), \quad a_i^j \in \{\boldsymbol{V}_{j,1}, \boldsymbol{V}_{j,2}, \ldots, \boldsymbol{V}_{j,K}\}. \tag{12}
      $$
Probabilistic Decomposition
  • 目标 item 的概率分布建模分为两个阶段,利用 POI-level 和 creative-level 表征的互补优势。 EGA 首先预测 POI \(\boldsymbol{a}_{t+1}^{poi}\),再确定创意图像 \(\boldsymbol{a}_{t+1}^{img}\):
    $$
    P(\boldsymbol{a}_{t+1}^{poi}, \boldsymbol{a}_{t+1}^{img} \mid \mathcal{S}_{1:t}^u) = P(\boldsymbol{a}_{t+1}^{poi} \mid \mathcal{S}_{1:t}^u) \cdot P(\boldsymbol{a}_{t+1}^{img} \mid \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}_{1:t}^u),
    $$
    • \(P(\boldsymbol{a}_{t+1}^{poi} \mid \mathcal{S}_{1:t}^u)\) 表示基于历史序列生成下一个 POI 的概率,捕捉 item 的类别身份;
    • \(P(\boldsymbol{a}_{t+1}^{img} \mid \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}_{1:t}^u)\) 表示在给定 POI 和历史条件下生成创意图像的概率,捕捉 item 的细粒度多模态细节
Encoder-Decoder
  • 整体生成架构遵循 Encoder-Decoder 设计,如图2所示
  • Encoder 模块首先使用堆叠的自注意力和前馈层编码用户交互序列:
    $$
    \mathcal{S}^e = \text{Encoder}(\mathcal{S}^u),
    $$
    • 其中 \(\mathcal{S}^e\) 表示用户兴趣的潜在上下文嵌入
  • Decoder 以自回归方式生成目标序列 \(\boldsymbol{\mathcal{Y} }\),条件为编码的用户上下文 \(\mathcal{S}^e\)
    • 每个解码步骤 \(t\) 包含两个子阶段: POI token 生成和创意 token 生成
    • 为实现联合学习,论文引入 multi-token prediction (MTP)模块,通过交叉熵损失同时监督 POI 和创意预测
    • 所有模块共享相同的 token Embedding 空间和量化 backbone,促进高效训练和一致的生成质量
      • 问题:所有模块的 Embedding 空间是共享的,如何理解量化 backbone 也共享?
      • 回答:这里是指量化相关的 codebook 和参数等共享吧
  • 在步骤 \(t+1\), POI Decoder 基于先前生成的 token 和编码的历史序列预测下一个 POI token:
    $$
    \boldsymbol{a}_{t+1}^{poi} = \text{ POI -Decoder}(\boldsymbol{\mathcal{Y} }_{1:t}, \mathcal{S}^e).
    $$
    • 注:从图2看,没有明确指出这里 POI Token \(\boldsymbol{a}_{t+1}^{poi}\) 的生成依赖 创意 Token \(\boldsymbol{a}_{t+1}^{img}\),但个人理解其实是应该包含的(不同创意对用户的感知是有影响的,应该包含在上下文中),公式里面也是包含的
  • 随后,创意 Decoder 通过关注 POI 预测和编码上下文预测对应的创意 token:
    $$
    \boldsymbol{a}_{t+1}^{img} = \text{Creative-Decoder}(\boldsymbol{\mathcal{Y} }_{1:t}, \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}^e).
    $$
    • 注:图中的 MTP token 不太标准,真实的 MTP 是生成后续的多个 token,本质还是 Casual Model,在论文图2的建模下已经不是 Casual Model 了,但是给出的公式又是 Casual Model,比较迷惑,需要解答
  • 整个目标序列 \(\boldsymbol{\mathcal{Y} }\) 的生成建模为条件概率的乘积:
    $$
    P(\boldsymbol{\mathcal{Y} } \mid \mathcal{S}^u) = \prod_{t=1}^T P(\boldsymbol{a}_t^{poi} \mid \boldsymbol{\mathcal{Y} }_{1:t-1}, \mathcal{S}^e) \cdot P(\boldsymbol{a}_t^{img} \mid \boldsymbol{\mathcal{Y} }_{1:t-1}, \boldsymbol{a}_t^{poi}, \mathcal{S}^e).
    $$

排列感知的奖励模型(Permutation-aware Reward Model)

  • 为确保生成的广告序列与真实用户兴趣对齐,论文引入排列感知的奖励模型(RM)指导迭代优化
  • 广告领域的兴趣信号通常来自用户交互(如点击和转化),比人工标注更准确
  • 设 \(R(\boldsymbol{\mathcal{Y} })\) 为奖励模型,估计候选目标 item \(\boldsymbol{\mathcal{Y} } = \{\boldsymbol{a}_1, \boldsymbol{a}_2, \ldots, \boldsymbol{a}_K\}\) 的奖励信号。每个 token \(\boldsymbol{a}_i\) 不一定对应唯一 item ,这增加了奖励模型中监督信号分配的复杂性。为此,论文通过拼接原始 item 嵌入 \(\boldsymbol{e}_i^{poi}\) 丰富每个 token 表示:
    $$
    \boldsymbol{h}_i = [\boldsymbol{a}_i; \boldsymbol{e}_i^{poi}],
    $$
    • 其中 \([;]\) 表示拼接。目标 item 变为 \(\boldsymbol{h} = \{\boldsymbol{h}_1, \boldsymbol{h}_2, \ldots, \boldsymbol{h}_K\}\)
  • 目标 item \(\boldsymbol{h}\) 通过自注意力层处理,捕捉上下文依赖并聚合序列中的相关信息:
    $$
    \boldsymbol{h}_f = \text{SelfAttention}(\boldsymbol{h}W^Q, \boldsymbol{h}W^K, \boldsymbol{h}W^V).
    $$
  • 为进行细粒度预测(如 POI 和创意图像的pCTR、pCVR),论文为奖励模型增加多任务特定塔:
    $$
    \hat{r}^{\text{pctr} } = \text{Tower}^{\text{pctr} } \left( \sum \boldsymbol{h}_f \right), \quad \hat{r}^{\text{pcvr} } = \text{Tower}^{\text{pcvr} } \left( \sum \boldsymbol{h}_f \right), \tag{20}
    $$
    • 其中 \(\text{Tower}(\cdot) = \text{Sigmoid}(\text{MLP}(\cdot))\)
  • 获得估计奖励 \(\hat{r}^{\text{pcvr} }\) 和对应真实标签 \(y^{\text{pcvr} }\) 后,通过最小化二元交叉熵损失训练奖励模型。详细训练过程见原文4.4节

基于拍卖的偏好对齐(Auction-based Preference Alignment)

  • 在工业广告场景中,生成式推荐模型需同时满足用户兴趣和关键业务约束。具体需满足两大业务约束:
    • i) 广告主对有效曝光、bidding 兼容性和支付一致性的需求;
    • ii) 平台对平衡收入和用户体验的约束(如控制广告曝光比例)
  • 为此,论文提出集成的生成式分配和支付策略进行偏好对齐,包括基于 token-level bidding 的分配模块和分离的 POI-level 支付网络。整体结构如图3所示
token-level Bidding
  • 通过 RQ-VAE 进行 item tokenization 后,原始 item-level bids 不再直接与 token 空间对齐,因 item 和潜在 token 之间存在多对多映射
  • 受 Google token-level bidding 理论启发,论文引入 token-level 分配机制,聚合与每个 token 关联的 item 的 bidding
  • 如式(12)所述,每个 token \(\boldsymbol{a}_i = (a_i^1, a_i^2, \ldots, a_i^C)\) 。为保持不同 token 间 bidding 的区分度, token \(a_i^j\) 的出价 \(b(a_i^j) = \max(b_1, b_2, \ldots, b_{N_i})\),其中 \(N_i\) 为与 token \(a_i^j\) 关联的 item 数。形式上, token \(a_i^j\) 的聚合 bidding 权重定义为:
    $$
    w(a_i^j) = [b(a_i^j)]^\alpha + \beta = [\max(b_1, b_2, \ldots, b_{N_i})]^\alpha + \beta,
    $$
    • 其中 \(\alpha\) 和 \(\beta\) 为超参数
    • 调整 \(\alpha\) 可灵活控制 bidding 对分配过程的影响;
    • 动态调整 \(\beta\) 可有效平衡生成结果中广告与自然内容的比例
生成式分配(Generative Allocation)
  • 生成式分配中选择 token \(a_i^j\) 的概率通过 softmax 归一化:
    $$
    z(a_i^j) = \frac{w(a_i^j) \cdot e^{a_i^j} }{\sum_{k=1}^W [w(a^{j,k}) \cdot e^{a^{j,k} }]}, \tag{22}
    $$
    • 其中 \(a^{j,k}\) 为第 \(j\) 层的第 \(k\) 个码
    • 基于生成概率 \(z \in \mathbb{R}^{C \times W}\) ( \(C\) 为码本层数, \(W\) 为每层码本大小)
    • 应用 Beam Search 生成 \(N_S\) 个长度为 \(K\) 的候选序列,确保分配的多样性和高质量选择:
      $$
      \mathcal{S}^{(1)}, \mathcal{S}^{(2)}, \ldots, \mathcal{S}^{(N_S)} = \text{BeamSearch}(z, N_S),
      $$
      • 其中 \(\mathcal{S}^{(j)}\) 表示第 \(j\) 个生成的候选 token 序列, \(N_S\) 为束宽度和生成候选序列数。使用奖励模型 \(\mathcal{R}\) 评估每个序列的预期业务价值,输出第 \(j\) 个序列的奖励 \(\hat{r}_j\):
        $$
        \hat{r}_j = \mathcal{R}(\mathcal{S}^{(j)}).
        $$
  • 最终输出为奖励最高的序列 \(\mathcal{S}^*\)
  • 奖励模型提供灵活接口,支持平台所需的多样化奖励信号组合
POI-level 支付网络
  • 分配在 token-level 操作,而支付在 item 或 POI-level 计算,更符合传统广告主预期和业务逻辑。分离的支付网络专门设计以满足IC和IR约束,基于 item 表征计算支付
  • 形式上,支付网络输入包括 item 表征 \(\mathcal{S}^* = \{y_1, y_2, \ldots, y_K\} \in \mathbb{R}^{K \times d}\)、自排除 bidding 配置 \(\mathcal{B}^- = \{\boldsymbol{b}_{-1}, \boldsymbol{b}_{-2}, \ldots, \boldsymbol{b}_{-K}\} \in \mathbb{R}^{K \times (K-1)}\) 和期望价值配置 \(\mathcal{Z} \cdot \Theta \in \mathbb{R}^{K \times 1}\),其中 \(\mathcal{Z} = \{z_1, z_2, \ldots, z_K\}\) 为式(22)定义的分配概率, \(\Theta = \{\hat{r}_1^{\text{pctr} }, \hat{r}_2^{\text{pctr} }, \ldots, \hat{r}_K^{\text{pctr} }\}\) 为式(20)中奖励模型估计的排列感知pCTR
  • 支付率定义为:
    $$
    \hat{p} = \sigma(\text{MLP}(\mathcal{S}^*; \mathcal{B}^-; \mathcal{Z} \cdot \Theta)) \in [0, 1]^K,
    $$
    • 其中 \(\sigma\) 为sigmoid激活函数以满足IR约束,最终 POI-level 支付 \(p\) 计算为:
      $$
      p = \hat{p} \odot b.
      $$
  • 注:若 \(y_i \in X\) 则支付仅针对广告计算;若 \(y_i \in O\) 则自然内容支付为零

优化与训练(Optimization and Training)

  • 整体训练流程如图4所示,每个步骤的详细描述在后面小节:
基于兴趣的预训练(Interest-based Pre-training)
  • 预训练阶段首先训练生成 backbone 以从历史交互行为中捕捉用户兴趣。具体优化两个独立的交叉熵损失:主模块的下一个 POI 预测损失 \(\mathcal{L}_{\text{NTP} }\) 和MTP模块的下一个创意预测损失 \(\mathcal{L}_{\text{MTP} }\) 。形式上,根据式(17):
    $$
    \mathcal{L}_{\text{NTP} } = -\frac{1}{K} \sum_{i=1}^K \log P(\boldsymbol{a}_i^{poi} \mid \boldsymbol{\mathcal{Y} }_{1:i-1}, \mathcal{S}^e), \tag{27}
    $$

$$
\mathcal{L}_{\text{MTP} } = -\frac{1}{K} \sum_{i=2}^{K+1} \log P(\boldsymbol{a}_{i-1}^{img} \mid \boldsymbol{\mathcal{Y} }_{1:i-1}, \boldsymbol{a}_i^{poi}, \mathcal{S}^e). \tag{28}
$$

  • 总预训练损失定义为:
    $$
    \mathcal{L}_{\text{pre-train} } = \mathcal{L}_{\text{NTP} } + \mathcal{L}_{\text{MTP} }.
    $$
基于拍卖的后训练(Auction-based Post-training)
  • 预训练阶段后,论文冻结其参数,通过基于拍卖的后训练阶段在拍卖约束下优化生成式广告模型。此阶段将生成输出与平台收入目标和广告主需求对齐,包括两部分:
    • i) 奖励模型训练,
    • ii) 基于策略梯度的生成式分配训练,
    • iii) 基于拉格朗日方法的支付网络优化
  • 奖励模型训练 :使用用户真实反馈信号(如点击和转化)训练独立奖励模型(RM)。RM通过最小化二元交叉熵损失优化:
    $$
    \mathcal{L}_{\text{RM} }^{\text{pctr} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{i=1}^K \left( y^{\text{pctr} } \log \hat{r}^{\text{pctr} } + (1 - y^{\text{pctr} }) \log(1 - \hat{r}^{\text{pctr} }) \right),
    $$
    • \(y^{\text{pctr} }\) 为真实用户交互的标签
    • \(\hat{r}^{\text{pctr} }\) 为式(20)中奖励模型的预测概率
    • \(\mathcal{D}\) 为训练数据集
  • 生成式分配训练 :奖励模型收敛后,采用基于非自回归策略梯度的方法
    • 给定生成的获胜广告序列 \(\mathcal{S}^* = \{y_1, y_2, \ldots, y_K\}\),定义每个 item \(y_i\) 对平台收入的边际贡献为:
      $$
      r_{y_i} = \sum_{y_j \in \mathcal{S}^*} b_j r_j^{\text{pctr} } - \sum_{y_j \in \mathcal{S}_{-i}^*} b_j r_j^{\text{pctr} },
      $$
      • 其中 \(\mathcal{S}_{-i}^*\) 为排除 \(y_i\) 的最佳替代广告序列
    • 应用策略梯度目标最大化预期奖励:
      $$
      \mathcal{L}_{\text{PG} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{y_i \in \mathcal{S}^*} r_{y_i} \log z_{y_i},
      $$
      • 其中 \(z_{y_i}\) 为式(22)中 item \(y_i\) 的分配概率。此设计鼓励生成器产生更高总收入的序列,使用固定奖励模型参数
  • 支付网络优化 :支付网络通过拉格朗日对偶形式优化式(8),平衡收入最大化和IC约束,损失函数整合总平台支付和事后遗憾最小化,给定选定序列 \(\mathcal{Y}\),支付损失 \(\mathcal{L}_{\text{Pay} }\) 定义为:
    $$
    \mathcal{L}_{\text{Pay} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \left( \sum_{y_i \in \mathcal{S}^*} p_i \hat{r}_i^{\text{pctr} } - \sum_{y_i \in \mathcal{S}^*} \lambda_i \widehat{\text{rgt} }_i - \frac{\rho}{2} \sum_{y_i \in \mathcal{S}^*} (\widehat{\text{rgt} }_i)^2 \right),
    $$
    • \(\widehat{\text{rgt} }_i\) 为广告 \(y_i\) 的事后遗憾
    • \(p_i\) 为支付网络的预测支付
    • \(\lambda_i\) 为拉格朗日乘子
    • \(\rho > 0\) 为 IC 惩罚项超参数
    • 通过迭代拉格朗日方法联合优化支付网络,具体步骤如下:
      • 支付网络更新 :固定乘子,最小化拉格朗日目标优化支付网络参数 \(\theta_{\text{Pay} }\):
        $$
        \theta_{\text{Pay} }^{\text{new} } = \arg \min_{\theta_{\text{Pay} } } \mathcal{L}_{\text{Pay} }(\theta_{\text{Pay} }^{\text{old} }, \boldsymbol{\lambda}^{\text{old} }).
        $$
      • 乘子更新 :基于观测的事后遗憾调整拉格朗日乘子:
        $$
        \boldsymbol{\lambda}^{\text{new} } = \boldsymbol{\lambda}^{\text{old} } + \rho \cdot \widehat{\text{rgt} }(\theta_{\text{Pay} }^{\text{new} }).
        $$
  • 尽管整体目标非凸,但实证结果表明此优化策略能有效最小化遗憾,同时在现实场景中保持接近最优的收入

相关实验

  • 本节在工业数据集上评估所提出的模型,旨在回答以下研究问题:
  • RQ1 :与最先进的广告模型相比,论文的 EGA 模型表现如何?
  • RQ2 :EGA 的设计(如MTP模块、token-level bidding、支付网络和多阶段训练)对其性能有何影响?
  • RQ3 :EGA 模型的可扩展性如何?
  • RQ4 :EGA 在真实工业广告场景中的表现如何?

Experiment Setup

数据集
  • 实验使用的工业数据集来自大规模基于位置的服务(LBS)平台,时间跨度为 2024年9月至2025年4月
  • 数据集包含2亿次请求,覆盖超过200万用户和近1000万条独立广告
  • 前200天的数据用于预训练,并随机抽取10%用于偏好对齐
  • 最后14天的数据用于测试
评估指标
  • 离线实验中,采用以下指标全面评估平台收入、用户体验和广告主的后验遗憾:
  • 千次展示收入(RPM) :
    $$
    \text{RPM} = \frac{\sum \text{click} \times \text{payment} }{\sum \text{impression} } \times 1000
    $$
  • 点击率(CTR) :
    $$
    \text{CTR} = \frac{\sum \text{click} }{\sum \text{impression} }
    $$
  • 激励相容性指标( \(\Psi\) ) :
    $$
    \Psi = \frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{i \in k} \frac{\widehat{\text{rgt} }_{i}^{d} }{u_{i}(v_{i}^{d}, b_{i}^{d})}
    $$
    • \(\widehat{\text{rgt} }_{i}^{d}\) 表示广告主 \(i\) 在会话数据 \(d\) 中的经验后验遗憾(定义见公式(7))
    • \(u_{i}\) 为实际效用
    • 该指标通过反事实扰动测试激励相容性(IC):对每个广告主,将出价 \(b_{i}\) 替换为 \(\gamma \times b_{i}\),其中 \(\gamma \in \{0.2 \times j \mid j=1,2,\ldots,10\}\)
  • 离线实验中,评估指标基于奖励模型的预测值计算
基线模型
  • 评估 EGA 与以下两种工业常用架构的对比:
    • MCA :多阶段级联架构(MCA)是工业在线广告的标准范式,包含五个关键阶段:召回、排序、创意选择、拍卖和广告分配
      • 为实现强基线,采用以下方法实现 MCA:Tiger[20]用于召回,HSTU[34]用于排序,Peri-CR[32]用于创意选择,CGA[41]用于拍卖,CrossDQN[16]用于广告分配
    • GR :生成式推荐(GR)将推荐任务建模为序列生成问题,使用 Transformer-based 自回归架构建模 user-item 交互
      • 为适应在线广告场景,该基线整合了 OneRec[4](用于推荐)、Peri-CR[32](用于创意选择)和 GSP[8](用于支付)
实现细节
  • EGA 使用 Adam 优化器训练,初始学习率为 0.0024,批量大小为 128
  • 模型训练和优化在 80G 内存的 NVIDIA A100 GPU 上进行
  • 通过网格搜索选择最优超参数:
    • 兴趣预训练阶段:
      • Encoder 和 Decoder 的块数 \(L=3\), codebook 层数 \(C=3\),每层 codebook 大小 \(W=1024\) ;
      • 目标会话物品数 \(K=10\),历史行为序列长度 \(B=256\)
    • 偏好对齐阶段:
      • token-level bidding 的超参数 \(\alpha=1.2\), \(\beta=2\) ;每个请求通过 Beam Search 生成 \(N_{\mathcal{S} }=64\) 个候选序列。奖励模型和支付网络的MLP隐藏层维度为128、32和10

离线性能(RQ1)

  • 表2展示了离线表现
  • 如表2所示,关键观察如下:
    • 1)多阶段级联架构(MCA)存在早期过滤问题:高潜力广告常在初始阶段被淘汰,导致整体性能次优,表现为RPM和CTR指标较低
    • 2)生成式推荐基线(GR)虽能改进序列建模和个性化,但因无法满足实际业务约束(如IC保证、动态广告分配和曝光率控制),在广告场景中表现有限,IC遗憾高达8.4%
  • EGA 通过端到端生成、排列感知奖励建模、token-level bidding 和专用支付网络,实现了最佳综合性能:显著提升收入(RPM)、POI 和创意CTR,并以最低IC遗憾(2.7%)展现经济鲁棒性
  • 这表明,解决早期候选丢失和业务约束对广告系统至关重要

消融研究(RQ2)

  • 通过简化 EGA 设计验证各组件有效性:
    • EGA-mtp :移除多令牌预测(MTP)模块,改用标准单令牌预测(NTP),独立预测 POI 和创意
    • EGA-end :禁用多阶段训练,改为单阶段端到端训练
    • EGA-bid :将 token-level bidding 的最大聚合改为平均值 \(b(a_{i}^{j})=\text{avg}(b_{1},…,b_{N_{i} })\)
    • EGA-gsp :移除支付网络,改用标准GSP支付计算
  • 结果如表3所示,完整 EGA 在所有指标上均优于变体
  • 具体来说,结果如下:
    • 1)EGA-mtp 导致 RPM、CTR-poi和CTR-img下降(-2.1%、-3.1%、-3.6%),表明联合建模的重要性
    • 2)EGA-end 的 RPM 下降5.3%,凸显多阶段训练对对齐用户兴趣和业务目标的优势
    • 3)EGA-bid 的 IC 遗憾升至4.1%,说明最大聚合对激励相容性的必要性
    • 4)EGA-gsp 的 IC 遗憾高达8.2%,验证支付网络对近似IC的关键作用

模型可扩展性(RQ3)

  • 研究 EGA 对超参数和模型规模的敏感性
  • 图5显示:bidding 参数 \(\alpha\) 提升RPM但降低CTR-poi,\(\beta\) 则相反,需权衡收入与用户体验
  • 图6表明:增加 Encoder / Decoder 块数或用户行为长度可提升RPM,但边际效益递减

在线A/B测试(RQ4)

  • 2025年4月2日至8日,在 2% 生产流量上对比 EGA 与MCA
  • 如表4所示,EGA 实现RPM提升15.2%、CTR 提升 6.4%、广告主投资回报率(ROI)提升 3.1%,且单请求响应时间仅增加7毫秒(2.5%),验证了其工业场景有效性

结论

  • 在本研究中,论文提出了端到端生成式广告(EGA),这是一种新颖的框架,将排序、创意选择、广告分配和支付计算统一到一个生成式模型中,用于广告系统
  • 通过利用分层语义 tokenization、排列感知的奖励建模以及基于 token 的 bidding 和分配机制, EGA 弥合了用户兴趣建模与业务关键拍卖约束(如激励兼容性(IC)和个体理性(IR))之间的差距
  • 论文提出的多阶段训练范式,包括基于兴趣的预训练和基于拍卖的后训练,确保 EGA 在复杂的现实条件下能够同时捕捉用户兴趣和广告主效用
  • 在工业数据集上进行的大量离线实验和大规模在线A/B测试表明,EGA 在多阶段级联架构和最新的生成式推荐基线中均实现了显著改进,包括平台收入、用户体验和广告主投资回报率的提升,同时仅带来极小的延迟开销
  • 论文的消融研究验证了每个设计组件的有效性,并突出了所提出框架的灵活性和可扩展性
  • 展望未来,作者认为 EGA 为生成式建模与经济机制设计在在线广告中的融合开辟了新的方向
  • 未来的工作将进一步探索扩展规律并增强业务可解释性

RS——FM-因子分解机

本文主要介绍因子分解机(FM, Factorization Machine)


FM模型

  • 最早于2010年提出,目标是解决稀疏特征下的特征组合问题

模型推导

  • 假设训练数据为: \(\{(x, y)\}\)
    • \(x\) 特征维度为n(所有特征One-Hot编码后Concat的总维度), 初始时维度比较小,但是特征中含有特殊的字符串或者对象类型等,我们使用One-Hot编码来拓展每个特殊特征(如果一个特征有m个可能的取值,那么One-Hot编码下每个特征将被扩展为m个维度,累计计算x是所有One-Hot的维度和)
      • 由于用One-Hot来编码,所以实际上特征是非常稀疏的(某些特征很多样本都为0,只有少数的样本为1)
      • 在FM中,特征 \(x\) 的所有取值都为0或者1 ,因为都是One-Hot的结果做Concat得到的;在使用FM作为组件的模型(比如DeepFM等)中,输入FM的部分也只是稀疏特征的One-Hot编码
      • 如果有连续特征想要输入FM怎么办?可采用连续特征离散化的方法(比如等频分桶)
    • \(y_{i}\) 是样本的标签,表示是否点击(Clicked?), 1表示点击,0表示未点击
  • 一般模型建模
    $$y(x) = w_0+ \sum_{i=1}^n w_i x_i \label{eq:poly}\tag{1}$$
    • 未挖掘到特征之间的关联关系,
      • 如“USA”与“Thanksgiving”、“China”与“Chinese New Year”这样的关联特征,对用户的点击有着正向的影响
      • 如“化妆品”类商品与“女”性,“球类运动配件”的商品与“男”性,“电影票”的商品与“电影”品类偏好等
  • FM建模
    $$ y(x) = w_0+ \sum_{i=1}^n w_i x_i + \sum_{i=1}^n \sum_{j=i+1}^n w_{ij} x_i x_j $$
    • n是样本的特征数量
    • \(x_{i}\) 是样本的第 \(i\) 个特征 ,不是第 \(i\) 个样本
    • \(w_{0}, w_{i}, w_{ij}\) 都是模型参数
    • 显然模型组合特征的参数数量为 \(\frac{n(n-1)}{2}\),且任意两个参数独立
  • 存在问题: 在数据稀疏性普遍存在的实际应用场景中,二次项参数的训练是很困难的
    • 原因: 每个参数 \(w_{ij}\) 的训练需要大量 \(x_{i}\) 和 \(x_{j}\) 都非零的样本;由于样本数据本来就比较稀疏,满足“ \(x_{i}\) 和 \(x_{j}\) 都非零”的样本将会非常少。训练样本的不足,很容易导致参数 \(w_{ij}\) 不准确,最终将严重影响模型的性能
  • 解决问题的灵感
    • 基于模型的协同过滤中,一个User-Item的评分(rating)矩阵可以分解为User和Item两个矩阵,每个用户和商品都可以用一个隐向量表示
  • FM解决问题的方法:
    • 用一个对称矩阵 \(W\) 代表所有二次项参数 \(w_{ij}\),矩阵的两边对称的是参数,中间填充正实数
    • 矩阵 \(W\) 可分解为
      $$W=V^{T}V$$
      • \(V\) 的第 \(j\) 列就是第 \(j\) 维特征的隐向量
      • \(V\) 是 \(k x n\) 维的向量(\(k << n\))
      • 此时有
        $$w_{ij} = \boldsymbol{v}_i^T \boldsymbol{v}_j$$
        $$ y(x) = w_0+ \sum_{i=1}^n w_i x_i + \sum_{i=1}^n \sum_{j=i+1}^n \boldsymbol{v}_i^T \boldsymbol{v}_j x_{i} x_{j} $$
      • \(v_{i}\cdot v_{j}\) 是两个隐向量的内积
      • 此时 \(w_{ij}\) 和 \(w_{mj}\) 之间不在是独立的,他们有相同的内积项 \(v_{j}\),这意味着所有包含“ \(x_{i}\) 的非零组合特征”(存在某个 \(j\neq i\),使得 \(x_{i}x_{j}\neq 0\))的样本都可以用来学习隐向量 \(v_{i}\) (从而学习到 \(w_{ij}\)), 这很大程度上避免了数据稀疏性造成的影响
        • 问题: 以前不能用来学习吗?
        • 回答: 以前的时候 \(w_{ij}\) 参数只能靠 \(x_{i}, x_{j}\) 均为1的样本 \(x\) 来训练,现在 \(w_{ij}\) 能由 \(v_{j}, v_{j}\) 生成,而 \(x_{i}\) 不为0的所有 \(x\) 都可以用来训练 \(v_{i}\),(当然,这里还需要存在某个 \(j\neq i\),使得 \(x_{i}x_{j}\neq 0\), 只要当前样本不是只有 \(x_{i}\) 这个维度为1,这个条件肯定是成立的)
  • 当前的式子运算复杂度是 \(O(kn^2)\),这意味着我们训练和预测时计算 \(y(x)\) 的值都需要 \(O(n^2)\) 的时间
  • 考虑到上面的公式主要是复杂在二次项的计算,我们考虑对二次项进行化简

$$
\sum_{i=1}^{n-1}\sum_{j=i+1}^n(v_i^T v_j)x_ix_j = \frac{1}{2}\left(\sum_{i=1}^n\sum_{j=1}^n(v_i^T v_j)x_ix_j-\sum_{i=1}^n(v_i^T v_i)x_ix_i\right)
$$

$$
\begin{align}
&=\frac{1}{2}\left(\sum_{i=1}^n\sum_{j=1}^n\sum_{l=1}^kv_{il}v_{jl}x_ix_j-\sum_{i=1}^n\sum_{l=1}^k v_{il}^2x_i^2\right)\\
&=\frac{1}{2}\sum_{l=1}^k\left(\sum_{i=1}^n(v_{il}x_i)\sum_{j=1}^n(v_{jl}x_j)-\sum_{i=1}^nv_{il}^2x_i^2\right)\\
&=\frac{1}{2}\sum_{l=1}^k\left(\left(\sum_{i=1}^n(v_{il}x_i)\right)^2-\sum_{i=1}^n (v_{il}x_i)^2\right)\\
\end{align}
$$

  • 上式中:
    • 现在二次项的复杂度是 \(O(nk)\),最终模型的计算复杂度也是 \(O(nk)\),注意这里是计算复杂度,不是参数数量(虽然FM模型的二次项参数数量碰巧也是 \(nk\) 个)
    • 意味着我们可以在线性时间内对FM模型进行训练和预测 ,是非常高效的
    • \(v_i, v_j\) 分别表示 \(\boldsymbol{v}_i, \boldsymbol{v}_j\)

参数数量

  • 整体模型的参数一共是 \(1+n+nk\) 个
    • 偏执项一个 \(w_{0}\)
    • 一次项 \(n\) 个 \((w_{1},\dots,w_{n})\)
    • 二次项 \(nk\) 个 \(v_{ij}\),其中 \(i=1,2,\dots,n\), \(j=1,2,\dots,k\)

和其他模型的对比

  • FM较为灵活,通过一些合适的特征变换,可以用来模拟二阶多项式核的(SVM ,MF模型 ,SVD++模型)等
  • 相比SVM的二阶多项式而言,FM在样本稀疏的情况下有优势?什么优势?[待更新],
    • 能想到的其中一个优势是FM训练/预测是线性复杂度,而二阶多项式核SVM需要计算核矩阵[待更新,关于核矩阵的理解?],所以复杂度是 \(O(n^2)\)
  • MF相当于只有 \(u,i\) 两类特征的FM模型[待更新:MF的详细推导]
    • 而FM模型中我们还可以加入任意多的特征,比如user的历史购买平均值,item的历史购买平均值等,但是MF只能局限在两类特征中
    • 为什么MF相当于只有 \(u,i\) 两类特征的FM模型?
      • 证明,将MF中的每一项评分(rating)改写为:
        $$r_{ui} \sim \beta_{u} + \gamma_i + x_u^Ty_i$$
      • 显然可得结论
  • SVD++与MF类似,都是矩阵分解方法,在特征的扩展性上也不如FM模型[待更新: SVD++的推导和理解]
  • FFM是FM的改进模型,加入了Field的概念,参考RS——FMM模型

RS——COBRA

Cascaded Organized Bi-Represented generAtive retrieval, COBR

  • 参考链接:
    • (COBRA)Sparse Meets Dense: Unified Generative Recommendations with Cascaded Sparse-Dense Representations, 202503, Baidu

整体思路

  • 现有召回方案的问题 :生成模型能够直接从用户交互序列中预测 item ID,但现有方法难以达到 sequential Dense 召回技术的建模精度(原因是量化、序列建模等阶段的分离导致严重的信息损失),整合生成式与 Dense 召回方法仍是一个关键挑战
  • 论文提出一种生成式召回方法COBRA(Cascaded Organized Bi-Represented generAtive retrieval):
    • 核心亮点 :通过级联过程(Cascading Process)创新性地整合 Sparse 语义 ID 与 Dense 向量,提升召回准确性和多样性
    • 具体思路 :交替生成 Sparse 语义 ID 与 Dense 向量这两种表示,先生成 Sparse ID ,再将其作为条件辅助生成 Dense 向量(Sparse ID 是 Dense 向量的生成条件)
      • 训练时 :端到端训练实现了 Dense Representation 的动态优化,同时捕捉 user-item 交互中的语义信息与协同信号
      • 推理时 :COBRA 采用 Coarse-to-Fine的策略,首先生成 Sparse ID,再通过生成模型将其细化为 Dense 向量
    • 论文还提出了 BeamFusion 方法,结合 Beam Search 与最近邻分数(Nearest Neighbor Scores)以提升推理灵活性与推荐多样性
  • 实验 :离线+在线实验

一些讨论

  • 序列推荐(Sequential Recommendation)方法,利用用户交互的时序特性提升推荐性能。SASRec 和 BERT4Rec 等模型证明了序列模型在捕捉用户行为模式上的有效性
  • 生成模型可直接基于用户行为序列预测目标 item(与传统序列推荐方法不同)
    • 生成模型能处理复杂的 user-item 交互,并具备推理和小样本学习(few-shot learning)等新兴能力,显著提升推荐准确性与多样性
    • TIGER 是生成式推荐领域的开创性工作。如图1(左下)所示,TIGER利用残差量化变分自 Encoder (RQ-VAE)将 item 内容特征编码为分层语义 ID,使模型能在语义相似 item 间共享知识和 Embedding(不是独立的 item Embedding)
    • 除 TIGER 外,其他方法也探索了生成模型与推荐系统的融合
      • LC-Rec 通过一系列对齐任务将语义与协同信息结合;
      • ColaRec 从预训练推荐模型中获得(deriving)生成式标识符,整合协同过滤信号与内容信息;
      • IDGenRec 利用大语言模型生成独特、简洁且语义丰富的文本标识符,在零样本(zero-shot)场景中展现出强大潜力
  • 现有生成式推荐方法的挑战 :(相比序列 Dense 召回方法的挑战)
    • 问题 :序列 Dense 召回方法依赖每个 item 的 Dense 嵌入,具有高准确性和鲁棒性,但需要大量存储和计算资源;生成式方法高效,却常难以建模细粒度相似性
      • 理解:细粒度相似性指的是一些 item 的统计信息相似,但是 ID 完全不想关?
    • 解决思路 :为有效结合两种召回范式的优势,论文提出 COBRA(协同生成式与 Dense 召回的框架),图1(右)展示了 COBRA 中级联 Sparse-Dense Representation 的结构
      • 该方法通过交替生成 Sparse ID 与 Dense 向量的级联生成式召回框架,缓解了基于 ID 方法固有的信息损失
    • 具体实现 :COBRA 的输入是由用户交互历史中 item 的 Sparse ID 和 Dense 向量组成的级联表示(Cascaded Representations)序列
      • 训练时,Dense Representation 通过端到端的对比学习目标进行学习
        • 先生成 Sparse ID 再生成 Dense Representation ,降低了 Dense Representation 的学习难度并促进两种表示间的相互学习
      • 推理时,COBRA 采用 Coarse-to-Fine 生成过程:
        • 先生成 Sparse ID 以捕获 item 的高层类别特征 ,随后将该 ID 追加至输入序列并反馈至模型中以预测捕捉细粒度细节的 Dense 向量 ,从而实现更精准的个性化推荐
      • 此外,为确保灵活推理,论文引入 BeamFusion 采样技术,结合 Beam Search 与最近邻分数,确保召回 item 的多样性可控
        • 与仅依赖 Sparse ID 的 TIGER 不同,COBRA 同时利用了 Sparse 与 Dense Representation 的优势
  • 论文的主要贡献如下:
    • 提出 COBRA 框架 :交替生成 Sparse 语义 ID 与 Dense 向量,将 Dense Representation 融入 ID 序列,补充了基于 ID 方法的信息损失;以 Sparse ID 为条件生成 Dense 向量,降低了 Dense Representation 的学习难度
    • 端到端训练的可学习 Dense Representation :COBRA 利用原始 item 数据作为输入,通过端到端训练生成 Dense Representation。不同于静态嵌入,COBRA 的 Dense 向量是动态学习的,能捕捉语义信息与细粒度细节
    • Coarse-to-Fine 生成过程 :推理时,COBRA 先生成 Sparse ID,再将其反馈至模型生成优化的 Dense Representation,提升向量的细粒度。此外,论文提出 BeamFusion 以实现灵活多样的推荐
    • 实验 :离线+在线

相关工作(直译)

  • 序列 Dense 推荐 :序列 Dense 推荐系统利用用户交互序列学习用户与 item 的 Dense Representation [8, 15, 21],捕捉长期偏好与短期动态[25, 51, 22, 10]
    • 早期模型如 GRU4Rec[14]使用循环神经网络(RNN)[49]捕捉用户行为的时间依赖性
    • Caser[39]将序列视为“图像”,应用卷积神经网络(CNN)[36]提取空间特征
    • Transformer 相关模型如 SASRec[18]和 BERT4Rec[37]显著推动了该领域发展,这些模型采用自注意力机制捕捉复杂用户行为,其中 SASRec 专注于自回归任务,BERT4Rec侧重双向上下文建模
    • PinnerFormer[30]和 FDSA[52]等更先进的模型通过利用 Transformer 进行长期行为建模与特征整合,进一步提升了用户表示
    • ZESRec[8]、UniSRec[15]和 RecFormer[21]等近期工作通过融合文本特征和对比学习技术,强调了跨领域可迁移性,RecFormer 尤其通过双向 Transformer 统一了语言理解与序列推荐
  • 生成式推荐 :生成模型在各领域的普及推动了推荐系统从判别式向生成式模型的范式转变[17, 44, 26, 27, 42, 46]。生成模型直接生成 item 标识符而非计算每个 item 的排序分数[11, 34, 38, 54]
    • P5[11]将多种推荐任务转化为自然语言序列,通过独特训练目标和提示为推荐补全提供通用框架
    • TIGER[33]首创将生成式召回应用于推荐,利用残差量化自 Encoder 创建语义丰富的索引标识符,随后由基于Transformer的模型从用户历史中生成 item 标识符
    • LC-Rec[53]通过额外对齐任务将语义标识符与协同过滤技术结合以增强效果
    • IDGenRec[38]将生成式系统与大语言模型结合,生成独特且语义 Dense 的文本标识符,在零样本场景中表现优异
    • SEATER[34]通过平衡的k叉树结构索引保持语义一致性,并结合对比与多任务学习优化
    • ColaRec[45]对齐基于内容的语义空间与协同交互空间以提升推荐效果
    • 以上现有的生成式方法仍面临挑战,例如:
      • 基于离散 ID 的方法:可能缺乏细粒度细节并存在信息损失 ,限制其准确捕捉用户偏好的能力[48]
      • 依赖自然语言的方法:可能难以将语言表达与推荐任务需求对齐 ,导致性能欠佳[25]
    • 为解决以上这些问题,LIGER[48]提出结合生成式与 Dense 召回优势的混合模型,同时生成 Sparse ID 与 Dense Representation ,将其视为同一对象粒度的互补表示
      • 该混合方法在一定程度上缩小了生成式与 Dense 召回间的差距;
      • 但 LIGER 的 ID 与 Dense Representation 共享相同粒度,且 Dense Representation 是预训练且固定的。因此,如何更灵活地结合生成式与 Dense 召回仍是待探索的开放问题

COBRA框架方法

  • 本节介绍 COBRA(Cascaded Organized Bi-Represented generAtive Retrieval)框架,该框架通过级联 Sparse-Dense Representation 和 Coarse-to-Fine 生成过程提升推荐性能。图2展示了 COBRA 的整体框架

Sparse-Dense Representation

Sparse 表示
  • COBRA 使用残差量化变分自 Encoder (RQ-VAE)生成 Sparse ID,灵感来源于 TIGER[33]的方法。对于每个 item ,提取其属性生成文本描述,将其嵌入 Dense 向量空间并量化生成 Sparse ID。这些 ID 捕捉 item 的类别本质,为后续处理奠定基础
  • 注:为简洁起见 ,后续方法描述假设 Sparse ID 仅包含单层,但该方法可轻松扩展至多层场景
Dense Representation
  • 端到端可训练的 *Dense Encoder * :用于对 item 文本内容进行编码(可捕捉细粒度的属性信息)
    • 每个 item 的属性被展平为文本句子,前缀为 [CLS] token,并输入基于 Bidirectional Transformer 的文本 Encoder Encoder
    • Dense Representation \(\mathbf{v}_{t}\) 从 [CLS] token 对应的输出中提取,捕捉 item 文本内容的细粒度细节
  • 如图2下半部分所示,论文加入位置 Embedding 和类型 Embedding 以建模序列中 token 的位置和上下文。这些 Embeddings 以加法方式与 token Embedding 结合,增强模型区分不同 token 及其在序列中位置的能力
    • 注:文中未指明类型(type) Embedding是什么
Cascaded Representation
  • 思路 :Cascaded Representation(级联表示)将 Sparse ID 和 Dense 向量整合到统一的生成模型中
  • 具体方案 :对于每个 item,论文将其 Sparse ID \( ID_{t}\) 和 Dense 向量 \(\mathbf{v}_{t}\) 组合为级联表示 \(( ID_{t},\mathbf{v}_{t})\)
    • 该方法结合两种表示的优势,提供更全面的 item 表征:Sparse ID 通过离散约束提供稳定的类别基础,而 Dense 向量保持连续特征分辨率,确保模型同时捕捉高层语义和细粒度细节

序列建模(Sequential Modeling)

概率分解(Probabilistic Decomposition)
  • 思路 :目标 item 的概率分布建模分为两个阶段,利用 Sparse 和 Dense Representation 的互补优势
  • 具体方案 :COBRA 不直接基于历史交互序列 \(S_{1:t}\) 预测 next item \(s_{t+1}\),而是分别预测 Sparse ID \( ID_{t+1}\) 和 Dense 向量 \(\mathbf{v}_{t+1}\):
    $$P( ID_{t+1},\mathbf{v}_{t+1}|S_{1:t})=P( ID_{t+1}|S_{1:t})P(\mathbf{v}_{t+1}| ID_{t+1},S_{1:t})$$
    • \(P( ID_{t+1}|S_{1:t})\) 表示基于历史序列 \(S_{1:t}\) 生成 Sparse ID \( ID_{t+1}\)的概率,捕捉下一个 item 的类别本质;
    • \(P(\mathbf{v}_{t+1}| ID_{t+1},S_{1:t})\) 表示在给定 Sparse ID \( ID_{t+1}\) 和历史序列 \(S_{1:t}\) 下生成 Dense 向量 \(\mathbf{v}_{t+1}\) 的概率,捕捉下一个 item 的细粒度细节
    • 这种分解使 COBRA 能够同时利用 Sparse ID 提供的类别信息和 Dense 向量捕捉的细粒度细节
    • 注:论文中未明确,但根据上下文信息可以推测 \(s_{t}\) 的定义为 \(s_{t} = ( ID_{t},\mathbf{v}_{t})\)
统一生成模型的序列建模(Sequential Modeling with a Unified Generative Model)
  • 使用基于 Transformer 架构的统一生成模型做序列建模,有效捕捉 user-item 交互中的序列依赖关系:
    • Transformer 接收级联表示的输入序列,每个 item 由其 Sparse ID 和 Dense 向量表示
  • Sparse ID 嵌入 :Sparse ID \( ID_{t}\)通过嵌入层转换为 Dense 向量空间:\(\boldsymbol{e}_{t}=\textbf{Embed}( ID_{t})\)。该 Embedding \(\boldsymbol{e}_{t}\) 与 Dense 向量 \(\mathbf{v}_{t}\) 拼接形成模型在每一步的输入:
    $$\mathbf{h}_{t}=[\boldsymbol{e}_{t};\mathbf{v}_{t}]$$
  • Transformer建模 :论文的Transformer Decoder 模型包含多层,每层具有自注意力机制和前馈网络
    • 如图2上半部分所示, Decoder 的输入序列由级联表示组成
    • 为增强序列和上下文信息建模,这些表示加入了 item 位置和类型 Embedding
    • 为简洁起见,后续数学公式聚焦于级联序列表示,省略位置和类型嵌入的显式 token
    • Decoder 处理这一增强的输入,生成用于预测后续 Sparse ID 和 Dense 向量的上下文表示
  • Sparse ID 预测 :给定历史交互序列\(S_{1:t}\),为预测 Sparse ID \( ID_{t+1}\),Transformer的输入序列为:
    $$S_{1:t}=[\mathbf{h}_{1},\mathbf{h}_{2},\ldots,\mathbf{h}_{t}]=[\boldsymbol{e}_{1},\mathbf{v}_{1},\boldsymbol{e}_{2},\mathbf{v}_{2},\ldots,\boldsymbol{e}_{t},\mathbf{v}_{t}]$$
    • 其中每个 \(\mathbf{h}_{i}\) 是第 \(i\) 个 item 的 Sparse ID 嵌入和 Dense 向量的拼接
    • Transformer 处理该序列生成上下文表示,随后用于预测下一个 Sparse ID 和 Dense 向量。Transformer Decoder 处理序列 \(S_{1:t}\),生成向量序列\(\mathbf{y}_{t}=\textbf{TransformerDecoder}(S_{1:t})\)。Sparse ID 预测的logits通过下式得到:
      $$\mathbf{z}_{t+1}=\textbf{SparseHead}(\mathbf{y}_{t})$$
      • 其中 \(\mathbf{z}_{t+1}\) 表示预测 Sparse ID \( ID_{t+1}\) 的logits
  • Dense 向量预测 :为预测 Dense 向量\(\mathbf{v}_{t+1}\),Transformer的输入序列为:
    $$\tilde{S}_{1:t}=[S_{1:t},\boldsymbol{e}_{t+1}]=[\boldsymbol{e}_{1},\mathbf{v}_{1},\boldsymbol{e}_{2},\mathbf{v}_{2},\ldots,\boldsymbol{e}_{t},\mathbf{v}_{t},\boldsymbol{e}_{t+1}]$$
    • Transformer Decoder 处理\(\tilde{S}_{1:t}\),输出预测的 Dense 向量:
      $$\hat{\mathbf{v} }_{t+1}=\textbf{TransformerDecoder}(\tilde{S}_{1:t})$$

端到端训练(End-to-End Training)

  • 在 COBRA 中,端到端训练过程旨在联合优化 Sparse 和 Dense Representation 预测。训练过程由组合损失函数控制,该函数结合了 Sparse ID 预测损失和 Dense 向量预测损
  • Sparse ID 预测损失 \(\mathcal{L}_{\textrm{Sparse} }\) 确保模型能够基于历史序列 \(S_{1:t}\) 熟练预测下一个 Sparse ID:
    $$\mathcal{L}_{\textrm{Sparse} }=-\sum_{t=1}^{T-1}\log\left(\frac{\exp(\mathbf{z}_{t+1}^{ ID_{t+1} })}{\sum_{j=1}^{C}\exp(\mathbf{z}_{t+1}^{j})}\right)$$
    • \(T\) 是历史序列的长度
    • \( ID_{t+1}\) 是时间步 \(t+1\) 交互 item 对应的 Sparse ID
    • \(\mathbf{z}_{t+1}^{ ID_{t+1} }\) 表示 Transformer Decoder 在时间步 \(t+1\) 生成的真实 Sparse ID \( ID_{t+1}\)的预测 logit
    • \(C\) 表示所有 Sparse ID 的集合
    • 注:Sparse ID 预测损失本质是个交叉熵损失函数
  • Dense 向量预测损失 \(\mathcal{L}_{\textrm{Dense} }\) 聚焦于优化 Dense 向量,使其能够区分相似和不相似的 item,损失定义为:
    $$\mathcal{L}_{\textrm{Dense} }=-\sum_{t=1}^{T-1}\log\frac{\exp(\cos(\hat{\mathbf{v} }_{t+1}\cdot\mathbf{v}_{t+1}))}{\sum_{item_{j}\in\textrm{Batch} }\exp(\cos(\hat{\mathbf{v} }_{t+1},\mathbf{v}_{item_{j} }))}$$
    • \(\hat{\mathbf{v} }_{t}\) 是预测的 Dense 向量
    • \(\mathbf{v}_{t}\) 是正样本的真实 Dense 向量
    • \(\mathbf{v}_{j}\) 表示批次内 item 的 Dense 向量
    • \(\cos(\hat{\mathbf{v} }_{t+1}\cdot\mathbf{v}_{t+1})\) 表示预测和真实 Dense 向量之间的余弦相似度,较高的余弦相似度表明向量在方向上更相似,这对于准确的 Dense 向量预测是理想的
    • Dense 向量由端到端可训练的 Encoder Encoder生成,该 Encoder 在训练过程中优化,确保 Dense 向量动态调整并适应推荐任务的特定需求
    • 注:Dense 向量预测损失本质是个 InfoNCE
  • 总体损失函数为:
    $$\mathcal{L}=\mathcal{L}_{\textrm{Sparse} }+\mathcal{L}_{\textrm{Dense} }$$
  • 双目标损失函数实现了平衡的优化过程,模型在 Sparse ID 的引导下动态优化 Dense 向量。这种端到端训练方法同时捕捉高层语义和特征级信息,联合优化 Sparse 和 Dense Representation 以获得卓越性能
  • 问题:图2中的 上层 Bidirectional Transformer 和 (Casual) Transformer Decoder 是同时训练的吗?
    • 看起来是的,这也是论文所说的端到端训练

Coarse-to-Fine Generation

  • 在推理阶段,COBRA 实现 Coarse-to-Fine 生成过程,依次生成 Sparse ID 并级联优化 Dense 向量(如图3所示)
  • COBRA 中的 Coarse-to-Fine 生成过程旨在捕捉 user-item 交互的类别本质和细粒度细节。该过程包含两个主要阶段:
  • Sparse ID 生成 :给定用户序列 \(S_{1:T}\),论文利用 Transformer Decoder 建模的 ID 概率分布 \(\hat{\textit{ ID } }_{T+1}\sim P(t_{T+1}|S_{1:T})\),并采用 Beam Search 算法得到前 \(M\) 个 ID:
    $$\{\hat{\textsf{ ID } }^{k}_{T+1}\}_{k=1}^{M}=\textrm{BeamSearch}(\textbf{TransformerDecoder}(\textrm{S}_{1:T}),M)$$
    • \(k\in\{1,2,\ldots,M\}\)
    • 每个生成的 ID 关联一个 Beam 分数 \(\phi_{\hat{\textsf{ ID } }^{k}_{T+1} }\)
  • Dense 向量精细化(Dense Vector Refinement) :每个生成的 Sparse ID \(\hat{\textsf{ ID } }^{k}_{T+1}\) 随后转换为嵌入并追加到先前的级联序列嵌入 \(\textrm{S}_{1:T}\) 中,然后生成对应的 Dense 向量 \(\mathbf{\hat{v}}^{k}_{T+1}\):
    $$\mathbf{\hat{v}}^{k}_{T+1}=\textbf{TransformerDecoder}(\{\textrm{S}_{1:T},\textbf{Embed}(\hat{\textsf{ ID } }^{k}_{T+1})\})$$
  • ANN 搜索候选 item :对每一个 Sparse ID \(\hat{\textsf{ ID } }^{k}_{T+1}\),论文使用近似最近邻(ANN)搜索检索前 \(N\) 个候选 item :
    $$\mathcal{A}_{k}=\textrm{ANN}(\hat{\textsf{ ID } }^{k}_{T+1},C(\hat{\textsf{ ID } }^{k}_{T+1}),N)$$
    • \(C(\hat{\textsf{ ID } }^{k}_{T+1})\) 是与 Sparse ID \(\hat{\textsf{ ID } }^{k}_{T+1}\) 关联的候选 item 集合
    • \(N\) 表示要召回的 top item 数量
    • 理解:这里的 ANN 搜索是为 Beam Search 生成的每一个 \(k\),即 Sparse ID \(\hat{\textsf{ ID } }^{k}_{T+1}\) 都生成一个候选集合 \(\mathbf{\hat{v}}^{k}_{T+1}\)
    • 注:这里原论文未给出 ANN 的具体方法(是否与 Dense 向量 \(\mathbf{\hat{v}}^{k}_{T+1}\) 有关还未知)
  • BeamFusion 机制合并结果 :为实现精度和多样性的平衡,论文为每个 Sparse ID 对应的 item 设计全局可比分数。该分数能反映不同 Sparse ID 之间的差异以及同一 Sparse ID 下 item 间的细粒度差异。为此,论文提出 BeamFusion 机制:
    $$\Phi^{(\mathbf{\hat{v}}^{k}_{T+1},\hat{\textsf{ ID } }^{k}_{T+1},\mathbf{a})}=\textrm{Softmax}(\tau\phi_{\hat{\textsf{ ID } }^{k}_{T+1} })\times\textrm{Softmax}(\psi\cos(\mathbf{\hat{v}}^{k}_{T+1},\mathbf{a}))$$
    • \(\mathbf{a}\) 表示候选 item(理解:文章未明确说明,但通过上下文可推测:\(\mathbf{a} \in \mathcal{A}_{k}\))
    • \(\tau\) 和 \(\psi\) 是系数
    • \(\phi_{\hat{\textsf{ ID } }^{k}_{T+1} }\)表示 Beam Search 过程中获得的 Beam 分数
  • 最后,基于 BeamFusion 分数对所有候选 item 排序 ,并选择前 \(K\) 个 item 作为最终推荐:
    $$\mathcal{R}=\textrm{TopK}\left(\bigcup_{k=1}^{M}\mathcal{A}_{k},\Phi,K\right)$$
    • \(\mathcal{R}\) 表示最终推荐集合
    • TopK 表示选择具有最高 BeamFusion 分数的前 \(K\) 个 item 的操作

相关实验(离线+在线)

  • 数据:公开数据集 + 工业数据集
  • 指标:重点关注 COBRA 在提升推荐准确性和多样性方面的能力
  • 实验方式:离线 + 在线

公开数据集实验

数据集与评估指标
  • 采用 Amazon 产品评论数据集[13,29](注:该数据集是推荐任务的经典基准)
  • 该数据集包含从 1996年5月 至 2014年9月 收集的产品评论及相关元数据。论文选取了三个特定子集:”Beauty”、”Sports and Outdoors”和”Toys and Games”
  • 对于每个子集,论文利用标题、价格、类别和描述等属性构建 item 嵌入。为确保数据质量,论文应用了5-core过滤处理,剔除了交互次数少于5次的 item 和用户。数据集统计信息详见表1
  • 为评估推荐准确性和排序质量,论文采用 Recall@K(准确性)和 NDCG@K(排序质量)指标,其中 \(K=5\) 和 \(K=10\)
基线方法
  • 为全面评估 COBRA 的性能,论文将其与以下最先进的推荐方法进行比较(这些方法代表了多种推荐技术,包括序列 Dense 推荐和生成式推荐):
    • P5[11]:将推荐任务转化为自然语言序列
    • Caser[39]:使用卷积层捕捉序列模式
    • HGN[28]:通过分层门控网络建模用户长短期兴趣
    • GRU4Rec[14]:利用门控循环单元建模用户行为
    • SASRec[18]:基于 Transformer 的模型,用于捕捉长期依赖关系
    • FDSA[52]:自注意力模型,用于 item 特征转移
    • BERT4Rec[37]:结合双向自注意力与掩码目标函数
    • S³-Rec[55]:通过对比学习提升推荐效果
    • TIGER[33] :使用 RQ-VAE 编码 item 内容特征,并利用 Transformer 进行生成式召回
实现细节
  • 论文采用与 TIGER 类似的语义 ID 生成方法,但与其配置不同,论文使用 3 层语义 ID 结构,每层对应 Codebook 大小为32
  • 这些语义 ID 通过 T5 模型生成
    • 理解:这里原文表达有误,应该是需要从 item 文本描述中提取 Embedding,再进入 RQ-VAE 编码为离散 Code(也就是语义 ID),TIGER 中也使用了 Sentence-T5 作为第一步的文本编码器的
  • COBRA 采用轻量级架构实现,包含 1 层 Encoder 和 2 层 Decoder
结果
  • 如表2所示,COBRA 在各项指标上均超越所有基线模型

工业规模实验(Industrial-scale Experiments)

数据集与评估指标
  • 在百度工业数据集上进行实验,该数据集源自百度广告平台的用户交互日志,涵盖列表页、双栏和短视频等多种推荐场景
  • 数据集包含500万用户和200万广告,全面反映了真实世界的用户行为和广告内容
  • 广告和广告主通过标题、行业标签、品牌和活动文本等属性表示,这些属性被处理并编码为两层 Sparse ID 和 Dense 向量,捕捉粗粒度和细粒度语义信息。这种双重表示使 COBRA 能够有效建模用户偏好和 item 特征
  • 数据集分为两部分: \(D_{\text{train} }\) 和 \(D_{\text{test} }\)
    • 训练集 \(D_{\text{train} }\) 包含前60天的用户交互日志,覆盖该期间的推荐内容交互
    • 测试集 \(D_{\text{test} }\) 构建自 \(D_{\text{train} }\) 之后一天的日志,作为评估模型性能的基准
    • 离线评估采用 Recall@K 指标,测试 \(K \in \{50,100,200,500,800\}\),该指标衡量模型在不同阈值下准确召回推荐内容的能力
基线方法
  • 论文将 COBRA 与其变体进行比较:
    • COBRA w/o ID :移除 Sparse ID,仅依赖 Dense 向量。该变体类似于 RecFormer[21],使用轻量级 Transformer 进行序列建模
    • COBRA w/o Dense :移除 Dense 向量,仅使用 Sparse ID。由于 ID 的粗粒度特性,该变体采用类似 TIGER[33]的生成式召回方法,利用语义 ID 进行召回
    • COBRA w/o BeamFusion :移除 BeamFusion 模块,使用 top-1 Sparse ID 和最近邻召回获取 top-\(k\) 结果
实现细节
  • COBRA 基于 Transformer 架构实现
  • Encoder 将广告文本处理为序列,随后由 Sparse ID 头部预测2层语义 ID,配置为 \(32 \times 32\)
  • 变体 COBRA w/o Dense 采用 3 层语义 ID ( \(256 \times 256 \times 256\) ),以更细粒度地建模广告
结果
  • 如表3所示,COBRA 在所有评估指标上均优于其变体
  • 值得注意的是,在较小的 \(K\) 值时,缺少 Dense 或 Sparse 表示会导致更明显的性能下降,这凸显了级联表示对于实现粒度和精度的重要性。相反,随着召回规模 \(K\) 的增加,BeamFusion 的性能优势愈发明显,证明了其在工业召回系统中的有效性
  • 结果进一步凸显了特定组件的贡献:
    • 移除 Sparse ID(COBRA w/o ID)导致召回率下降 26.7%至41.5%,表明语义分类的关键作用
    • 移除 3 层语义 ID(COBRA w/o Dense)导致性能下降 30.3%至48.3%,说明细粒度建模的重要性
    • 移除 BeamFusion 导致召回率下降 27.5%至36.1%,强调了其在 Sparse ID 内部和 Sparse ID 之间的信息整合的重要性

进一步分析

表示学习分析
  • 为评估 COBRA 模型的表示学习能力,论文构建了广告 Dense 嵌入的相似度矩阵,如图4所示
  • 图4相关结论:
    • 图4a:COBRA 模型展现出显著的 ID 内凝聚性(intra-ID cohesion) 和 ID 间分离性(inter-ID separation) ,表明其 Dense 嵌入能够有效捕捉 item 细节特征,同时保持类别内的语义一致性
    • 图4b:无 Sparse ID 的模型变体显示出较弱的类别分离性,凸显了 Sparse ID 在保持语义结构中的重要性
    • 图4c:差异矩阵定量验证了 Sparse ID 对增强内聚性和分离性的作用
  • 通过 t-SNE 将广告嵌入分布可视化,进一步验证 COBRA 嵌入的效果。随机采样 10,000 个广告后,可观察到不同类别的明显聚类中心。图5显示广告按类别有效聚类,表明类别内的强内聚性。紫色、青色、浅绿色和深绿色聚类分别主要对应小说、游戏、法律服务和服装类广告,表明广告表示有效捕捉了语义信息
召回-多样性平衡
  • 在推荐系统的召回阶段,平衡准确性和多样性是一项挑战,为分析 COBRA 的这种权衡,论文研究了召回-多样性曲线(recall-diversity curves)
    • 该曲线描述了在固定 \(\phi=16\) 时,Recall@2000 和多样性指标如何随 BeamFusion 机制中的系数 \(\tau\) 变化
    • 如图6所示,增加 \(\tau\) 通常会导致多样性下降
  • COBRA 在 \(\tau=0.9\) 和 \(\phi=16\) 时达到召回与多样性的最佳平衡,此时模型在保持高准确性的同时确保推荐 item 覆盖足够多样的集合
    • 多样性指标定义 :召回 item 中不同 ID 的数量,反映模型避免冗余和为用户提供更广泛选择的能力
    • 通过精细控制 \(\tau\) 和 \(\phi\),实现业务目标

在线结果

  • 论文于 2025年1月 在百度工业数据集上进行了在线A/B测试
  • 测试覆盖 10% 的用户流量 ,确保统计显著性(ensuring statistical significance)
  • 主要评估指标 :转化率(用户参与度)和用户平均收入(ARPU,经济价值)
  • 在论文策略覆盖的领域中,COBRA 实现 转化率+3.60%,ARPU+4.15%

RS——FMM模型

本文主要介绍FFM(FFM, Field-aware Factorization Machine)


FFM模型

  • FFM最初概念来自Yu-Chin Juan(阮毓钦,毕业于中国台湾大学,现在美国Criteo工作)与其比赛队员,他们借鉴了Michael Jahrer的论文中的field概念提出了FM的升级版模型

Field的概念

  • FFM把相同性质的特征归于同一个Field,
    • 比如“Day=26/11/15”、“Day=1/7/14”、“Day=19/2/15”这三个特征都是代表日期的,可以放到同一个field中
  • 简单来说,就是同一个categorical特征经过One-Hot编码生成的数值特征都可以放到同一个field,包括用户性别、职业、品类偏好等

模型推导

  • FM 对每个特征 \(x_i\) 学习一个 \(k\) 维隐向量 \(v_i\),二次项参数数量为 \(nk\)
  • FFM 对每个特征 \(x_i\) 和每个域(field) \(f_j\) 学习一个 \(k\) 维隐向量 \(v_{i,f_{j}}\),二次项参数数量为 \(nfk\)
    • 假设样本的特征有 \(n\) 个
    • 假设filed有 \(f\) 个
  • 建模方程
    $$y(x) = w_0 + \sum_{i=1}^n w_i x_i + \sum_{i=1}^n \sum_{j=i+1}^n \langle \mathbf{v}_{i, f_j}, \mathbf{v}_{j, f_i} \rangle x_i x_j \label{eq:ffm}\tag{4}$$
    • 值得注意的是,上面的公式中, \(\mathbf{v}_{i, f_j}\) 的第二个下标是 \(f_j\),不是 \(f_i\),表示的是, 同一个特征 \(x_{i}\) 在对不同的域(Field) \(f_j\) 中的特征 \(x_j\) 组合时,FFM考虑到 \(x_j\) 的域不同,应该用不同的组合方式,所以使用不同的隐向量
    • FM中 \(x_i\) 的隐向量为 \(v_i\)
    • FFM中 \(x_i\) 的隐向量有多个,确切的说是隐矩阵, 对每个不同的域Field(包括 \(x_i\) 自身所在的域), 都有一个隐向量 \(v_{i,f_{j}}\), 和不同类型的特征组合时,我们选择他们对应域的隐变量与之相乘
  • 当前模型的二次项一共有 \(\frac{n(n-1)}{2}\) 项, 计算复杂度为 \(O(n^2)\) 与FM化简前相同, FFM这里不能化简, 所以训练和预测复杂度计算复杂度为 \(O(n^2)\)

FFM需要关注的细节

  • 样本归一化, FFM默认进行样本归一化, 有个参数pa.norm设置为真即可;若此参数设置为假,很容易造成数据inf溢出,进而引起梯度计算的nan错误
    * 因此,样本层面的数据是推荐进行归一化的
    • [待更新],样本归一化的具体操作,样本归一化的作用是什么?
  • 特征归一化,这里由于样本归一化后categorical的特征会变得非常小
  • 省略零值特征, 从建模方程可以看出, 零值特征对FFM模型完全没有贡献,包含零值特征的一切组合均为零

RS——MTGR

  • 参考链接:
    • MTGR:美团外卖生成式推荐Scaling Law落地实践 - 美团技术团队

整体总结性说明

  • 样本组织思路:基本思路是将样本按照用户组织,具体来说,将同一用户的天粒度样本组织为同一条样本,同时通过掩码机制保证不会出现训练时数据/特征穿越问题
  • 输入信息 Token 化(未详细说明 Token 化的方案)

    输入信息Token化:我们将样本信息拆分成一个个Token。其中对于User Profile每一个特征都表示为一个Token,对于用户行为,则将每一个具体行为对应的item ID以及多个side info的Embedding表征拼接在一起再通过非线形映射组装成一个Token。同理,对于每一个曝光,我们则将item ID、对应的side info、交叉特征、时空等Context信息拼接在一起组成一Token

  • HSTU架构使用

    采用HSTU架构统一建模多个序列:我们利用HSTU架构针对Token化的输入进行统一编码,对比原方法,我们对每一层的输入都做了额外的LayerNorm以保证深层次训练的稳定性,考虑到不同与传统的LLM,我们的数据可以分组为多种类型的Token,因此,我们将LayerNorm拓展为Group LayerNorm,针对不同类别的Token采用不同的LayerNorm参数,以实现不同语义空间下Token的对齐


美团外卖的历史Scaling路径

  • 历史Scaling路径
  • 粉色框部分是之前的 Scaling 主要模块

特征处理

  • 保留全部 DLRM 特征
    • User Profile:用户统计信息,购买次数等
    • Context:广告位,时间等
    • UBS(User Behaviour Sequence):用户历史点击、曝光序列,包含每个 item(商家) 及其 Side Info
    • Target item:待打分的商家,包含商家ID、Side Info 以及基于统计的交叉特征信息
    • 注:博客中给出了丢弃交叉特征后,性能损失 CTR_GAUC -1.25pp;CTCVR_GAUC -0.91pp
  • 按照用户压缩数据:将同一用户的天粒度样本组织为同一条样本,同时通过掩码机制(后续介绍)保证不会出现训练时数据/特征穿越问题
  • 问题:按照用户压缩样本数据后会导致模型数据分布发生变化,减少模型对活跃用户的重视程度吗?
    • 回答:不会,因为后文会提到,每个原始样本还是有一个自己的损失,总的样本损失数还是没有变化的

模型结构

  • 整体架构如下所示:
  • 输入特征 Token 化:
    • User Profile:每一个特征都表示为一个Token
      • 问题:是否都是离散特征,直接就是 Token化的?
    • UBS:对每一个行为 item,将其 item ID,以及 多个 Side Info 的 Embedding 表征拼接在一起,然后通过非线形映射映射成一个Token(理解:每个 item 输出一个离散 Token)
      • 问题:非线性映射如何将连续向量映射成 Token?使用类似 CodeBook 机制吗?
    • 每一个候选目标,将其 item ID、对应的side info、交叉特征、时空等 Context 信息拼接在一起组成 Token
    • 补充原文描述:

      我们将样本信息拆分成一个个Token。其中对于User Profile每一个特征都表示为一个Token,对于用户行为,则将每一个具体行为对应的item ID以及多个side info的Embedding表征拼接在一起再通过非线形映射组装成一个Token。同理,对于每一个曝光,我们则将item ID、对应的side info、交叉特征、时空等Context信息拼接在一起组成一Token

  • 使用HSTU架构,并做以下改进
    • 使用 GroupLayerNorm 层替换原始 HSTU 中的 Norm 层(Group的含义是针对不同类别的 Token 采用不同的 LayerNorm 参数)
    • 在每一层输入时增加 GroupLayerNorm(注:增加 GroupLayerNorm 可提升0.17pp~0.18pp 的GAUC)
  • 混合动态掩码机制(注:使用掩码机制可提升 0.12pp~0.16pp 的GAUC):
    • 历史静态特征:包括 User Profile + 用户历史行为序列(User History Sequence),完全互相可见
    • 当日实时行为序列(Real-Time Sequence):使用 Casual Mask 机制
    • 目标 item(Targets):按照用户压缩组织样本后,这里会有多个 item,一方面要求 item 看不到发生于自己之前的当日实时行为序列,同时看不到自己之前的 Target item 信息(Casual Mask)
    • 掩码机制的详细示意图如下(注:其中示意图的括号有点歪,按照颜色来区分更准确):

      实时行为/曝光样本按照时间近至远进行排列:最近发生的曝光样本可以看到全部的实时行为,但较早发生的曝光样本只能看到部分实时行为
      对于Target 1,因为它出现的时间较晚,因此它可以看到全部的User Profile & Sequence以及Real-Time Sequence;对于Target 2,有一部分Real-Time Sequence出现在其之前,因此它只能看到部分Real-Time Sequence

  • HSTU 最终输出的利用:
    • 任务建模:实际上使用的是 HSTU 编码后的 embedding 信息直接进行 多任务训练(CTR,CVR等)
    • 注意:多个 targets 可以同时建模(一个样本包含多个 Target item 头,每个头都对应之前的一个曝光样本)每个头又会被分为多个任务

附录:生成式体现在哪里?

  • 唯一体现生成式的地方是 Token 化特征后,Item 训练有 Casual Mask 的机制,变相在当日实时 Item 和 Target Item 上都实现了类似 Next Item Prediction 的感觉了
  • Casual Mask 部分的序列不长(同一天内同一个用户的曝光数不会特别多),更像是一个 Prefix LM 架构
  • 实际上生成式的体现很弱,甚至像是没有,但是确实拿到了 Scaling Law 的效果

附录:Scaling Law效果如何?

  • Scaling Law实验结果
  • 实际上效果有点微弱,虽然随着模型增大,效果一直在涨,但涨幅非常有限

RS——LEARN

LEARN:Llm-driven knowlEdge Adaptive RecommeNdation

  • 参考链接:
    • LEARN: Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application, AAAI 2025, Kuaishou
      • 相关博客:AAAI’25 | 快手LEARN:使用LLM做特征增强用于电商广告推荐

整体思路说明

  • 当前推荐系统问题 :主要依赖 ID embedding 来捕捉用户与 item 之间的潜在关联。然而,这种方法忽视了 item 文本描述中丰富的语义信息 ,导致性能欠佳和泛化能力不足
  • LLM :LLM 具备理解与推理文本内容的能力,为推荐系统的进步提供了新的可能
  • 论文提出了一种 LLM-based 知识自适应推荐框架(Llm-driven knowlEdge Adaptive RecommeNdation,LEARN):
    • 通过协同融合开放世界知识与协作知识(synergizes open-world knowledge with collaborative knowledge)来解决这一问题
    • 针对计算复杂度问题,论文采用预训练的LLM作为 item 编码器,并冻结其参数以避免灾难性遗忘(catastrophic forgetting),从而保留开放世界知识
    • 为了弥合开放世界与协作领域之间的鸿沟,论文设计了一种双塔结构(twin-tower structure),以推荐任务为监督目标,并适配实际工业应用需求
  • 通过在真实工业级大规模数据集上的实验和在线A/B测试 ,论文验证了该方法的有效性。此外,论文在六个 Amazon 评论数据集上取得了最先进的性能,进一步证明了LEARN的优越性

Introduction and Discussion

  • 近年来, LLM 展现出卓越的能力并快速发展,如何将其开放的领域知识和强大的逻辑推理能力引入推荐系统(RS)成为学术界和工业界关注的焦点。
  • 当前的推荐系统严重依赖独立的 ID Embedding,并侧重于基于历史交互捕捉用户与 item 的潜在关联。这种方法忽略了 item 文本描述中的语义信息,难以泛化到未见数据,导致工业冷启动场景和长尾用户推荐中的性能不佳。此外,与计算机视觉(CV)和自然语言处理(NLP)领域不同,推荐系统中基于 ID Embedding 的建模方法难以开发出适用于下游任务和子场景的预训练模型。
  • 为了改善当前推荐系统的泛化能力,已有研究尝试利用文本信息或结合LLM生成文本预测,例如用户兴趣(Ren等, 2024)、 next item 信息(Li等, 2023)和推荐理由(Zhang等, 2023b)。
  • 先前关于LLM与推荐系统结合的研究通常遵循一种统一策略,论文称之为“Rec-to-LLM”适配(adaptation)
    • 该策略将推荐领域的 user-item 交互数据(目标领域)转换为LLM开放世界领域(源领域)的文本格式,如图1所示
    • 具体而言,这些方法设计任务特定的提示(prompt),将推荐数据转化为对话形式,并采用 next token 预测损失,使输入组织和目标任务与LLM预训练阶段对齐。
  • 然而,论文的实证研究表明,“Rec-to-LLM”适配在真实工业应用中未能带来实际效益。这种低效性源于该方法的固有缺陷:
    • 计算复杂度高 :由于LLM的输入长度限制(2K至128K)和计算复杂性,在工业场景中无法负担对文本化交互数据进行推理或微调
      • 例如,在论文的短视频平台中,用户平均每周与近800个短视频交互,因此用LLM处理数月内的全局用户历史交互数据会带来巨大的计算负担。
    • 灾难性遗忘 :用推荐数据微调LLM会导致开放世界知识的灾难性遗忘(catastrophic forgetting),因为推荐系统的协作知识与LLM的开放世界知识之间存在显著领域差距。
    • 目标不对齐 :LLM的训练目标与推荐任务的不匹配进一步限制了已有方法的性能。
  • 为克服上述限制,论文提出了一种基于语言模型的知识自适应推荐方法(LEARN) ,旨在协同融合LLM的开放世界知识与推荐系统的协作知识。与“Rec-to-LLM”适配不同,论文的方法遵循“LLM-to-Rec”适配(如图1所示),将LLM作为内容提取器,并以推荐任务为训练目标。
  • LEARN框架由用户塔(User Tower)和 item 塔(Item Tower)组成,二者均包含内容提取模块(Content EXtraction,CEX)和偏好对齐模块(Preference ALignment,PAL)
    • 内容提取模块(CEX) :为降低处理大规模用户历史交互的计算开销,CEX模块采用预训练LLM作为 item 编码器而非用户偏好编码器。为避免开放世界知识的灾难性遗忘,论文在训练阶段冻结LLM参数
    • 偏好对齐模块(PAL) :为弥合开放世界与协作领域之间的鸿沟,论文设计了PAL模块,并采用推荐任务的自监督训练目标指导模型优化。LEARN生成的用户和 item 嵌入将作为在线排序模型的输入。
  • 为验证方法在工业实践中的有效性,论文从真实推荐场景中构建了大规模数据集,并通过在线A/B测试进行评估。同时,论文在六个 Amazon 评论数据集(Ni等, 2019)上进行了实验,与已有方法进行公平对比。实验结果表明,LEARN在六个数据集的三项指标中均达到最先进性能,尤其在Recall@10上平均提升13.95%
  • 论文的主要贡献如下:
    • 提出LEARN框架,高效地将LLM的开放世界知识聚合到推荐系统中。
    • 提出CEX和PAL模块,解决LLM的灾难性遗忘问题,并通过推荐任务弥合开放世界与协作领域的鸿沟。
    • 在工业级数据集和在线A/B测试中验证了方法的实用性。
    • 在六个公共数据集上取得最先进性能,Recall@10平均提升13.95%。

相关工作(直译,包含引用信息)

基于内容的推荐

  • 传统推荐系统主要基于 ID Embedding,其泛化能力有限。为此,大量研究通过深化对用户和 item 内容的理解来增强推荐系统的泛化能力
    • Wu等人(2020)为新闻推荐任务构建了大规模文本数据集MIND,推动了文本内容理解对推荐系统影响的研究
    • 随后,多项研究利用BERT模型(Devlin等, 2018)改进内容理解,例如ZESRec(Ding等, 2021)、UniRec(Hou等, 2022)和TBIN(Chen等, 2023)采用预训练BERT模型作为编码器提取 item 文本描述的内容嵌入
    • RecFormer(Li等, 2023)结合掩码语言模型损失(MLM)和对比损失,并重新设计分词器以编码 item 的文本信息
    • 除文本信息外,部分方法还尝试将视觉信息融入推荐模型,例如SimRec和MAKE(Wang等, 2023)采用CLIP(Radford等, 2021)和MoCo(He等, 2020)提取图像特征,MoRec(Yue等, 2023)和MISSRec(Wang等, 2023)则利用ResNet(He等, 2016)和ViT(Dosovitskiy等, 2020)在序列推荐中融入 item 图像内容。

基于LLM的推荐

  • 由于LLM在文本理解和常识推理上的强大能力,越来越多的研究探索如何将其整合到推荐系统中(Fan等, 2023; Lin等, 2023a)
  • 第一类方法冻结LLM参数 ,将其直接作为推荐器
    • 部分研究(Li等, 2023; Zhang等, 2023b; Yue等, 2023; Xi等, 2023)设计任务特定提示构建推荐对话,并利用ChatGPT生成候选 item ;
    • RLMRec(Ren等, 2023)则通过ChatGPT生成用户/ item 画像
  • 第二类方法在推荐领域的特定文本数据集上微调LLM
    • LlamaRec(Yue等, 2023)以 item 标题为文本数据,通过排序分数优化LLM;
    • TALLRec(Bao等, 2023b)提出两阶段微调框架,并采用LoRA(Hu等, 2021)进行少样本推荐;
    • LLARA(Liao等, 2023)将LLM提示与 ID Embedding 结合,对齐LLM与序列推荐器;
    • ReLLa(Lin等, 2023b)提出检索增强的指令微调方法,并在混合数据集上微调Vicuna(Chiang等, 2023)。
  • 上述研究均将推荐系统的 user-item 交互数据适配为LLM的文本对话格式,并利用LLM的训练损失微调模型。这些方法将数据和任务从推荐领域(目标领域)迁移到LLM领域(源领域),因此论文称之为“Rec-to-LLM”方法。

方法

模型架构

  • 给定按时间顺序排列的用户历史交互记录,交互序列根据特定时间戳分为两段:第一段是历史交互序列 \( U^{hist} \),第二段是目标序列 \( U^{tar} \)。历史交互和目标交互的长度分别记为 \( H \) 和 \( T \)。论文提出LEARN框架,旨在从历史交互中捕捉用户兴趣,并预测用户可能感兴趣的 next item。LEARN框架由用户塔(User Tower)和 item 塔(Item Tower)组成,如图2所示
  • 用户塔 :用户塔包含内容提取(Content EXtraction, CEX)模块和偏好对齐(Preference ALignment, PAL)模块,如图3所示
    • 用户塔的输入 :与用户交互的历史 item 序列。每个 item 根据图3所示的提示模板进行文本描述。提示设计非常简洁,以有效评估文本描述的信息量
    • CEX模块 :使用预训练的 LLM 和一个平均池化层处理这些 item 描述,生成内容嵌入 \( E^c \)。在训练过程中,预训练LLM的参数保持冻结状态,最终解码器层的隐藏状态作为输出嵌入,随后送入池化层,如图3(a)所示。对于整个历史交互序列 \( U^{hist} \),CEX模块将每个 item 的文本描述转换为内容嵌入 \( E^c \),形成内容嵌入序列。每个 item 由CEX模块独立处理
    • 偏好对齐(PAL)模块 :基于内容嵌入序列捕捉用户偏好,并输出用户嵌入。PAL模块首先通过内容适配器进行维度转换,随后采用12层Transformer作为主干网络,其配置与BERT-base模型(Devlin等, 2018)一致。该Transformer专门设计用于学习隐含的 item 关系并建模用户偏好。与BERT的双向注意力机制不同,论文的模块采用因果注意力机制(causal attention),仅关注过去的 item ,以符合用户偏好的时序特性。Transformer的输出嵌入通过在线投影层进一步处理,生成用户嵌入 \( E^{user} \in \mathbf{R}^{64} \),直接用于图5所示的在线电商推荐系统
  • item 塔 :item 塔处理 item 内容的文本描述,并输出适用于推荐领域的 item 嵌入 \( E^{item} \)。如图2所示,论文提出了三种 item 塔变体:
    • item 塔(a) 采用与用户塔相同的因果注意力机制。
    • item 塔(b) 采用自注意力机制(self-attention),每个 item 仅关注自身内容。尽管存在这一差异,两种变体的模型架构相同,且与用户塔共享权重。
    • item 塔(c) 直接使用内容嵌入 \( E^c \) 作为 item 嵌入 \( E^{item} \),以“Rec-to-LLM”方式指导用户偏好学习。
  • 在训练阶段,item 塔(a)将整个用户目标序列 \( U^{tar} \) 作为输入,而 item 塔(b)和 item 塔(c)独立处理单个 item。在推理阶段,所有三种变体均以单个 item 为输入,独立生成 item 嵌入。根据表5的结果,item 塔(a)因其性能优势被选为默认配置

训练目标

  • 为了弥合LLM开放世界领域的内容嵌入与推荐系统协作领域 user/item 嵌入之间的差距,论文将训练目标与在线排序模型对齐。在在线推荐系统中,排序模型计算用户嵌入与所有候选 item 嵌入之间的相似度,相似度最高的前k个 item 被视为用户可能感兴趣的内容。因此,论文采用自监督对比学习机制建模用户偏好,与在线推荐系统的目标一致。该方法最大化用户嵌入与相关 item 嵌入之间的相似度,同时最小化与无关 item 的相似度
  • 论文从用户历史序列中采样用户嵌入,从同一用户的目标序列中采样 item 嵌入,构建正样本对。同一批次中其他用户的目标 item 嵌入被采样为负样本。为充分利用用户交互并捕捉用户长期兴趣,论文采用密集全动作损失(dense all action loss)。从历史序列中采样 \( N_h \) 个用户嵌入,从目标序列中采样 \( N_t \) 个 item 嵌入,从而构建 \( N_h \times N_t \) 个正样本对以应用密集全动作损失。默认情况下,\( N_h \) 和 \( N_t \) 均设置为10

采样策略

  • 尽管在构建工业数据集时已根据行为重要性对 item 进行了采样,但由于训练资源限制,用户序列长度仍然过长。为此,论文在训练阶段设计了两阶段采样策略:
    • 第一阶段 :从完整用户历史/目标交互中随机采样,作为用户塔的输入,确保建模用户兴趣的数据无偏。
    • 第二阶段 :构建正负样本对时,采用加权采样策略,优先选择近期交互的 item。历史/目标序列中第 \( i \) 个 item 的权重 \( \tilde{w}_i \) 计算如下:
      $$
      \tilde{w}_i = \frac{w_i}{\max(w)}, \quad \text{其中} \quad w_i = \log(\alpha + i \cdot \frac{\beta - \alpha}{N - 1}).
      $$
      • 超参数 \( \alpha \) 和 \( \beta \) 分别设置为10和10000,\( N \) 为第一阶段采样的用户历史/目标交互长度
  • 通过这种策略,模型能够更有效地捕捉用户当前兴趣,提升推荐性能

Experiments

Experiment Setup

  • 数据集 :为了工业应用,论文从短视频应用的电商平台构建了一个大规模的实际推荐数据集。该工业数据集包含从2022年6月到2023年4月共10个月内1200万用户与3100万商品的交互记录。前9个月的交互数据作为历史数据,最后1个月的交互数据作为目标数据。论文收集了六类信息(标题、类别、品牌、价格、关键词、属性)来构成商品描述。为了公平比较,论文采用了广泛使用的Amazon Review数据集,并遵循RecFormer的设置。选取七个类别作为预训练数据,另外六个类别作为微调数据以评估论文的方法。商品描述由三类信息(标题、类别、品牌)构成。公开数据集和工业数据集的统计信息分别如表1和表2所示
  • 实现细节 :论文采用Baichuan2-7B作为 LLM 来提取商品文本描述的内容嵌入,因其在中文和英文文本理解上的强大能力。训练阶段冻结LLM的参数。所有实验默认采用AdamW优化器和余弦调度器。对于工业数据集,由于内存限制,训练批次大小设为240,用户历史交互和目标交互长度分别设为80和40,训练轮次为10。评估指标采用Top50和Top100的命中率(H@50、H@100)和召回率(R@50、R@100)。对于Amazon Review数据集,预训练阶段批次大小为1024,微调阶段为16,学习率分别为5e-5和2e-5。预训练和微调的训练轮次分别为20和200。论文遵循RecFormer的评估设置,采用留一策略进行评估,使用NDCG@10(N@10)、Recall@10(R@10)和MRR三个指标以确保公平比较。由于Amazon Review数据集的交互序列长度有限,论文在LEARN的训练阶段未采用任何采样策略

在Amazon Review数据集上的性能

  • 整体性能 :为了验证方法的有效性,论文在Amazon Review数据集上的性能如表3所示。论文将LEARN与三类方法进行比较:仅ID方法(GRU4Rec、SASRec、BERT4Rec、RecGURU)、ID-文本方法(FDSA、S³-Rec)和纯文本方法(ZESRec、UniSRec、RecFormer)。论文的方法在仅ID、ID-文本和纯文本方法中均取得了显著提升。具体而言,与最先进的RecFormer相比,LEARN在Scientific、Instruments、Arts、Office、Games和Pet数据集上的Recall@10分别提升了10.08%、17.87%、5.39%、10.41%、29.45%和10.50%。RecFormer采用掩码语言建模(MLM)损失和两阶段微调过程,而LEARN仅通过 user-item 对比损失在单阶段微调中实现显著性能提升,进一步证明了论文框架的有效性。论文还按照RecFormer的设置进行了零样本实验(仅预训练阶段)
  • 图4结果显示,LEARN框架可以作为预训练推荐模型,在下游子场景中表现优异
  • 消融研究 :论文性能提升的核心在于推荐系统协作域与LLM开放域之间存在显著差距。通过将 user-item 交互作为对齐目标,将内容嵌入转换为用户/商品嵌入,可以有效弥合这一差距。表4展示了论文的发现。首先,论文通过平均用户交互商品的内容嵌入生成用户嵌入,并直接使用商品的内容嵌入作为商品嵌入(称为“w/o Align”)。由于LLM与推荐域之间缺乏对齐,其性能极差,验证了论文的假设。其次,论文采用LLM生成的内容嵌入作为对齐目标(ItemTower(c)),通过将推荐域转换为LLM域实现对齐(与之前工作的“Rec-to-LLM”方法一致)。实验表明,ItemTower(c)性能低于LEARN,因为推荐知识的特性未在LLM开放域中充分体现。相比之下,LEARN通过将源域投影到目标域空间,更贴合推荐分布的复杂性,从而提升性能。值得注意的是,在Amazon Review数据集中,由于留一设置,ItemTower(a)与ItemTower(b)等效

在工业数据集上的性能

  • 消融研究 :为了验证模型设计的合理性,论文在实际工业场景构建的大规模数据集上进行了消融实验。如表5所示,“w/o Align”因LLM与推荐域之间的显著差距表现最差。在对齐策略中,采用ItemTower(a)的LEARN性能最佳,其次是ItemTower(b),ItemTower(c)最差。ItemTower(a)通过序列到序列对齐更好地捕捉用户长期兴趣,而ItemTower(c)的“Rec-to-LLM”对齐性能较差,与Amazon Review数据集的结论一致。由于用户交互序列长达十个月以上,论文采用式(1)的样本加权策略,与随机采样相比,H@100和R@100分别提升了7.13%和7.18%
  • ID Embedding 与内容嵌入对比 :鉴于 ID Embedding 在语义表示和泛化上的局限性,论文探索了在大规模工业场景中替代 ID Embedding 的可行性。论文采用三种商品表示方法:可学习的 ID Embedding 、从预训练BERT和LLM提取的冻结内容嵌入。 ID Embedding 维度设为64以匹配在线系统。表6显示,基于LLM的内容嵌入相比 ID Embedding 显著提升了性能,H@100从0.0504提升至0.0751(提升49.01%);相比BERT嵌入,LEARN进一步提升了30.38%。这表明LLM嵌入因训练于大规模文本语料而蕴含更丰富的信息,为替代 ID Embedding 提供了可行方向
  • PAL模块消融研究 :考虑到LLM在文本理解和常识推理上的优势,论文尝试用预训练LLM(Baichuan2-7B)替换PAL模块中从头训练的Transformer层。为避免遗忘开放域知识,论文采用LoRA微调LLM,并调整可训练参数量。如表7所示,随着可训练参数从134M增至572M,“w/ LLM”变体性能从0.0376提升至0.0513,但仍低于LEARN(采用12层Transformer)。由于LLM的冻结参数远多于LoRA可训练参数,原始特征(基于开放域和下一词预测损失)主导了混合特征,导致其无法达到最优性能

在线A/B实验

  • 论文在拥有4亿日活跃用户(DAU)的短视频平台的排序模型上进行了在线A/B测试。自2024年1月起,论文的方法已部署在短视频信息流广告场景中
  • 带LEARN适配器的排序模型 :为了更好地将LEARN生成的用户和商品嵌入与在线排序模型对齐,论文在基线模型上引入了LEARN适配器。如图5所示,基线模型包含原始排序模型(输入为现有在线特征)。LEARN适配器模块通过融合模块(两个线性层)和MLP,将用户和商品嵌入聚合为融合嵌入(基于CVR损失)。融合嵌入与LEARN的用户/商品嵌入及现有在线特征拼接后输入排序模型
  • AUC评估 :论文在短视频应用电商平台的十亿级数据集上进行了AUC评估。采用UAUC和WUAUC指标以更准确评估每用户的排序性能。如表8所示,论文的方法优于基线模型,UAUC和WUAUC分别提升0.84和0.76个百分点。这一提升归功于LEARN框架的泛化能力,能够有效捕捉长尾用户兴趣。进一步分析显示(表9),LEARN对冷启动和长尾用户及商品的性能提升尤为显著,验证了其在稀疏交互数据上的泛化能力

结论

  • 论文探讨了如何将 LLM 与推荐系统相结合,并提出了LEARN框架以实现显著的商业效益。LEARN框架包含内容提取(CEX)和偏好对齐(PAL)模块。CEX模块利用预训练的LLM为每个项目提取内容嵌入,而PAL模块将这些嵌入从开放世界领域投影到推荐领域的用户/项目嵌入中。在工业数据集和公开的Amazon Review数据集上取得的领先性能,证明了论文的LEARN框架具有卓越的表现
1…495051…61
Joe Zhou

Joe Zhou

Stay Hungry. Stay Foolish.

608 posts
49 tags
GitHub E-Mail
© 2026 Joe Zhou
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4