← 全部深度解读
📖 深度解读 · PERSONALIZATION

CADET: Context-Conditioned Ads CTR Prediction With a Decoder-Only Transformer

David Pardoe, Neil Daftary, Miro Furtado, Aditya Aiyer, Yu Wang, Liuqing Li, Tao Song, Lars Hertel, Young Jin Yun, Senth... · LinkedIn · 网页来源 · 发表 2026-08-09
7 分钟阅读时长 2722字 4.45综合分 第 1 名08-31 Personalization 日报
目录 · 6 节1问题与动机2方法详解3核心技术贡献4实验结果分析5局限与未来方向6工业实践意义
相关 5新颖 4实用 5证据 5时效 2
最值得借鉴的是把广告位置等打分后才确定的上下文显式放进条件解码,从结构上处理预估分与排序位置相互依赖的问题;会话掩码则直接约束训练只能使用服务时可见信息。对社区信息流或广告精排,可优先复用时间戳位置编码与 train-serve 一致性设计,再评估完整 Transformer 替换现有特征交叉网络的成本。

1. 问题与动机

LinkedIn Homefeed 广告的核心排序信号是 CTR,但原生产模型 LiRank 是 DCNv2 特征交叉网络与 TransAct 序列编码器的混合集成:它依赖 100 多个工程特征、点式样本格式和多组件服务链路。作者希望用一个 decoder-only Transformer 统一替代这套系统,困难不只在模型容量。第一,广告位置、UI 样式等上下文在打分后才由拍卖与页面布局确定,却会显著改变点击概率,形成“先有 CTR 还是先有位置”的循环依赖;第二,埋点与序列更新存在延迟,训练若看到同一会话内尚未在线可见的行为,会制造虚假的离线增益;第三,线上要同时给数百候选打分,并满足 p99 50 ms。CADET 因此把研究重点放在后验上下文建模、训练服务一致性和稀疏注意力工程,而不是简单放大 Transformer。

2. 方法详解

输入序列写成 [M; I1,(C1,A1); ...; IL]:M 是静态用户特征,It 拼接广告、请求和曝光特征,Ct 是位置等打分后上下文,At 是点击等动作。模型以 teacher forcing 一次预测各曝光动作。对每个隐藏状态 ht,解码器并行输出 K 个上下文头 ŷk=MLPk(ht);训练时只让真实位置桶 kt 对交叉熵有贡献,位置只用于 loss routing,不作为当前曝光输入。线上 K 个头一次前向全部算出,拍卖确定位置后直接取相应预测。生产配置 K=2,对应位置 1–4 与 5+。

注意力有两层门控。表示门 sigmoid(WxX) 先逐维抑制噪声激活;交互门分别作用于 Q、K,限制点积幅度,避免少量 token 形成 attention sink。时间编码把普通 RoPE 的序号 p 换成 Unix 时间戳 t,并用最大回看窗 Δtmax、最小旋转 φmin 与 base 控制从秒到月的频率范围;实验设 Δtmax=1 年、φmin=1e-4、base=6e5。因果 mask 保留顺序,时间接近的事件只产生很小旋转。

训练 mask 用一小时可观测延迟 Δdelay,把 tj > ti-Δdelay 的历史位置置为负无穷,避免利用线上尚不可见的同会话行为。推理时把数百候选追加到共享用户上下文后,并行评分且让候选彼此隔离。总损失还加入点击类型、落地页停留时长、曝光时长等辅助头,这些头只做训练正则,服务时移除。训练采用 8 层、4 头、d_model=352、序列长 4096,在 NVIDIA H200 上以 PyTorch HSDP、FlexAttention 和 packed token buffer 训练;论文未披露优化器、学习率、batch size 或训练步数。服务端定制 FlashAttention 直接跳过全遮蔽 tile,注意力规模从 (L+N)^2 变为 L^2/2+LN。

3. 核心技术贡献

  1. 上下文条件多头把“位置未知但位置影响 CTR”改写为一次前向的多策略预测。真实位置只选择训练头和线上输出头,因此不泄漏当前样本信息,也不需要迭代重排;去掉该模块 AUC 相对下降 0.61%,是最大单项贡献。
  1. 双层自门控不是普通输出门,而是在表示进入注意力前及 Q/K 交互处分别控流。多次训练中,无门控版本出现早期 AUC 急跌,表示门能缓和波动,表示门加交互门最稳定,解决的是工业训练可复现性。
  1. 时间戳 RoPE 与延迟感知 mask 分别建模“多久以前”和“当时能否看到”。移除时间 RoPE 下降 0.13% AUC;训练允许读取一小时内行为而验证仍按一小时遮蔽时,AUC 下降 0.31%,说明消除 train-serve skew 本身就带来真实收益。
  1. 数据与内核协同使统一模型可部署:由 100+ 点式特征压到 12 个高价值序列信号,数据体积减少 98%;packing 将有效 batch 提高约 4 倍;定制内核相对 FMHA 加速 3 倍。

4. 实验结果分析

所有实验使用 LinkedIn Sponsored Updates 广告点击数据,训练一年历史、最后一天验证。主要结果如下:

模型/消融AUC 或线上结果
HSTU-Base0.8497 AUC
HSTU-Large0.8505 AUC
CADET-HSTU(无 session mask)0.8535 AUC
CADET-Transformer(无 session mask)0.8534 AUC
Full CADET0.8554 AUC
去掉上下文条件头-0.61% 相对 AUC
去掉时间 RoPE-0.13% 相对 AUC
去掉训练 session mask-0.31% 相对 AUC
对 LiRank 线上 A/BCTR +11.04%,CPC -10.9%

HSTU 与普通 Transformer 在保留 CADET 其余设计时仅差 0.0001 AUC,说明收益主要来自上下文、时间与一致性机制,而不是某个注意力骨干。线上收入近似中性并非模型无商业价值:自动出价广告主通常花完预算,CTR 提升转化为 CPC 下降 10.9% 和更强 ROI。工程指标也完整:每 GPU 330 requests/s,p99 小于 50 ms。论文没有报告各门控的独立数值、统计区间和分人群结果,这是证据解读时需要保留的边界。

5. 局限与未来方向

作者没有单列 limitations,但正文暴露了几项明确边界:上下文被离散成仅两个位置桶,是为下游拍卖集成简化,不能表达连续位置效应或复杂 UI 组合;辅助任务权重和门控超参未披露;数据、线上实验和广告目标均来自 LinkedIn 单一场景,外部复现受限。论文也未给出 H200 数量、总训练时长、优化器及显著性区间。作者结论把未来重点放在继续扩展统一生成式骨干。实践上还应补做校准误差、长尾广告、新广告冷启动、不同延迟阈值与流量峰值下的稳定性评估。

6. 工业实践意义

对推荐与广告团队,最先值得复用的不是整体换模,而是三个低耦合模块:用候选上下文多头解决后验特征循环依赖;按真实埋点 SLA 设置 delay mask;将位置编码改为时间差编码。它们都能在现有序列模型中单独消融。上线应同时监控 AUC、校准、CTR、CPC、收入与 p99,避免只用 CTR 判断价值。若计划统一 DCN 与序列模型,CADET 给出了清晰容量基线:8×352 的中型骨干、4096 历史、12 个高价值信号即可替代 100+ 特征,但前提是 packed 数据管线、候选隔离 mask 和定制稀疏 kernel 同步到位。对于 UGC 社区排序,可把“广告位置桶”替换为展示卡型、首屏/非首屏、流量入口等上下文,并以线上可观测延迟构造训练 mask。

补充实施检查:灰度时还应按新老用户、广告库存稀疏度、设备性能和位置桶分别检查校准;若某一头样本过少,应合并桶或做共享参数正则,避免多头结构把整体数据优势切碎。模型回滚也需保留 LiRank 式基线并同步记录特征与序列版本,才能把架构收益和数据变化分开。还应验证 50 ms 预算在峰值候选数和不同 GPU 批处理下是否稳定。

← 全部深度解读 出现于报告:2026-08-31 · Personalization #1 (4.45)2026-03-01 · Personalization #2 (4.20) 原文 ↗