1. CADET模型架构解析1.1 模型整体设计思路CADET模型的核心创新在于将解码器Transformer架构应用于广告点击率预测场景。传统DLRM模型在处理广告CTR预测时存在三个主要局限1) 难以有效建模用户行为序列的长期依赖关系2) 无法优雅处理广告位置等后评分(post-scoring)上下文信号3) 特征交互方式受限于人工设计的交叉特征。CADET通过以下设计解决了这些问题首先模型采用完全基于Transformer解码器的架构将用户历史行为(包括广告曝光和点击动作)建模为时间序列。这种设计使模型能够捕捉用户兴趣的演化模式例如一个用户连续查看多个机器学习培训广告后对相关广告的点击概率变化。其次创新性地设计了上下文条件解码模块(Context-Conditioned Decoding Block)。这个模块包含多个预测头每个头对应不同的上下文条件(如广告位置区间)。在训练时只有实际发生的上下文对应的预测头参与损失计算在推理时所有预测头并行计算根据实际上下文选择对应输出。这种设计巧妙地解决了广告位置等上下文信号在推理时未知的鸡与蛋问题。1.2 输入序列构建CADET的输入序列采用特殊的交错格式将静态用户特征、广告曝光特征、上下文信号和用户动作有机组合[用户静态特征; 广告1特征,(上下文1,动作1); 广告2特征,(上下文2,动作2); ...]这种设计有几个关键考虑用户静态特征(如职业、行业)作为序列前缀为后续行为提供背景信息广告特征包含三部分广告自身属性(如广告ID)、请求特征(如设备类型)和其他曝光相关特征上下文特征(如最终广告位置)与用户动作成对出现确保时间一致性序列按时间顺序排列最新事件位于序列末尾实际实现中序列长度通常设置为4096个token可覆盖数周的用户行为。过长的序列会通过chunking技术分割处理。1.3 自门控注意力机制传统Transformer在广告CTR预测中面临训练不稳定的问题主要表现为某些特征维度主导注意力计算梯度爆炸/消失频繁发生不同训练运行结果差异大CADET引入了双层自门控机制解决这些问题表示层门控Gate(X) σ(W_gate_X · X) X̃ X ⊙ Gate(X)这个门控相当于特征选择器抑制噪声或无关维度保留有用特征。实验显示表示层门控使训练曲线平滑度提升47%。交互层门控Gate(Q) σ(W_gate_Q · Q) Q̃ Q ⊙ Gate(Q) Gate(K) σ(W_gate_K · K) K̃ K ⊙ Gate(K)交互层门控调节query-key点积的幅度防止某些token垄断注意力。这解决了广告CTR预测中常见的注意力汇聚问题——模型过度关注少数强特征而忽略其他有用信号。1.4 时间感知的位置编码广告CTR预测对时间敏感两个关键时间尺度需要捕捉短期效应几分钟内的连续广告曝光会产生疲劳或增强效应长期模式某些广告类型在周末或工作日的表现差异CADET改进Rotary Position Embedding(RoPE)将序列位置替换为事件时间戳旋转角度α_i(t) t·θ_i θ_i (φ_min/Δt_max) · base^(2i/d)其中Δt_max是序列最大时间跨度(通常设1年)φ_min控制最小旋转角度(设为1e-4)base控制高频分量(设为600000)。这种编码可以同时捕捉秒级到月级的时间模式。2. 生产环境关键技术2.1 序列打包(Packing)技术广告场景的用户行为序列长度高度不平衡80%用户100次曝光5%用户1000次曝光传统填充(padding)方式浪费大量计算资源。CADET采用序列打包技术将多个短序列拼接为连续token buffer使用前缀和偏移量记录序列边界保持每批总token数固定以优化GPU利用率实现要点# 传统填充方式 inputs pad_sequences(sequences) # (batch, max_len, dim) # 打包方式 packed_inputs concatenate(sequences) # (total_tokens, dim) offsets cumsum([len(s) for s in sequences])实测显示打包技术使训练吞吐量提升4倍内存占用减少62%。2.2 序列分块(Chunking)策略长序列带来两个问题注意力计算O(n²)复杂度GPU内存限制CADET采用非重叠分块策略从序列末尾向前分块(确保最新数据完整)每块作为独立训练样本块间共享用户静态特征分块长度对比实验块长度训练成本AUC变化40961.0x-20480.46x-0.04%10240.29x-0.29%实际采用2048长度在精度损失可接受(0.04%)情况下训练速度提升117%。2.3 自定义Flash Attention内核线上推理需要同时评分数百个候选广告。CADET开发了专用Flash Attention内核优化多候选评分场景标准Attention计算复杂度O((LN)²)L上下文长度N候选数CADET优化版复杂度O(L²/2 LN)利用候选间相互独立的特性关键优化点避免显式构建注意力掩码矩阵基于上下文/候选长度参数动态计算有效区域跳过全零分块的QK计算线上服务指标延迟262μs/请求 (原792μs)吞吐330请求/秒/GPUp99延迟50ms3. 上下文条件解码设计3.1 多塔预测头架构广告位置对CTR有显著影响位置1 CTR ≈ 位置5 CTR的3-5倍但精确位置在评分时未知CADET采用K个预测头(实际K2)头1位置1-4头2位置5训练时只有实际位置对应的头参与损失计算loss CrossEntropy(ŷ_k, y_true) # k实际位置区间推理时并行计算所有头根据最终渲染位置选择对应预测值。这种方法避免了传统解决方案的缺陷特征消歧法需要多次评分位置偏置建模难以捕捉非线性效应3.2 辅助任务设计为提高表示质量CADET引入4个辅助任务点击类型分类(链接点击/图片点击等)落地页停留时间回归广告曝光时长回归次级转化预测辅助任务有3个设计原则不增加推理耗时(仅在训练时使用)共享底层Transformer表示损失权重经网格搜索确定实验表明辅助任务使主CTR预测AUC提升0.21%。3.3 混合损失函数CADET使用三部分损失上下文条件损失(λ1.0)辅助任务损失(λ0.05每个)成对排序损失(λ0.1)成对排序损失采用RankNet形式loss_pair -log(σ(z_positive - z_negative))这种设计直接优化广告排序质量而不仅是CTR校准度。虽然对离线AUC提升有限(0.03%)但线上AB测试显示对业务指标有显著提升。4. 线上部署与效果4.1 AB测试设计对照组生产环境LiRank模型DCNv2特征交叉TransAct序列编码器复杂特征工程实验组CADET模型统一Transformer架构简化特征管道相同训练数据流量分配5%用户随机分组运行2周4.2 核心指标提升指标变化率CTR11.04%营收0.14%用户停留时长1.2%CTR提升主要来自长尾广告曝光量增加23%新用户CTR提升15%低频用户CTR提升18%4.3 工程效益特征管道简化特征数量从143→12特征计算耗时减少82%训练效率提升单机吞吐量4.2样本/秒→17.8样本/秒训练时长18小时→6小时代码复杂度降低模型代码量减少62%配置参数减少75%5. 实践经验与教训5.1 关键成功因素渐进式架构迁移先在子流量测试纯Transformer架构逐步引入上下文条件解码等复杂模块每阶段都有明确的验证指标离线-在线一致性保障严格的会话掩码策略线上特征日志与训练数据对齐每日数据漂移监控硬件感知优化利用H200 GPU的FP8计算定制Flash Attention内核混合并行训练策略5.2 遇到的挑战初始训练不稳定解决方案引入自门控机制增加梯度裁剪(阈值1.0)使用LAMB优化器长尾广告预测偏差解决方案在损失函数中添加频率感知权重对低频广告过采样添加曝光次数作为特征线上延迟超标解决方案开发候选并行评分量化模型(FP32→FP16)请求预处理与模型执行流水线化5.3 未来优化方向多模态特征融合广告图文内容理解用户生成内容分析实时增量更新每小时更新用户行为序列在线学习机制跨场景联合建模广告与自然内容统一排序跨产品线兴趣迁移CADET的成功证明基于Transformer的端到端架构可以超越精心设计的特征工程模型。其核心价值在于用统一模型替代复杂管道同时通过创新的上下文条件机制解决广告系统的特殊挑战。这一框架也为其他推荐场景提供了有价值的参考。