1. 问题与动机
论文质疑了把用户行为历史直接类比为自然语言句子的主流做法。语言通常具有连续的句法和语义结构,但真实用户轨迹往往是点击、点赞、评论、搜索等行为的混合,其中还夹杂探索性点击、偶发行为和互不相关的兴趣。把这些事件塞进一条长序列,会让编程教程、烹饪视频等不同意图争抢同一注意力预算,作者把这种现象称为上下文污染。现有 HSTU、OneTrans、InterFormer 等工作主要增强单序列注意力、拉长上下文或加强序列与非序列特征交互,却没有先解决输入历史本身缺乏语义统一性的问题。论文的核心判断是:推荐系统不应只学习如何读取历史,更应学习如何为当前预测主动构造上下文。
2. 方法详解
CMSL 的输入同时包含非序列特征和多类行为序列。连续特征如年龄、价格、观看时长先归一化,再通过线性投影映射到 d 维;国家、语言、品类等稀疏特征使用各自 embedding table,多值特征用 embedding 求和。点击、点赞、评论等行为序列先经过共享 item embedding。若同一产品表面有多条相关序列,模型为每类行为配置一个 MLP,经 sigmoid 得到逐 token 门值,再对各序列加权求和,先压成一条输入序列,避免后续计算随行为类型数膨胀。
核心由 N 个 CMSL Block 堆叠,每层包含四步。第一步是多序列构造:当前非序列上下文经 K 个投影头分解成 K 组意图条件,并分别生成 key/value;原始行为序列生成 query,通过 cross-attention 得到 K 条上下文相关的潜序列。第二步在每条潜序列内部独立做 self-attention,使不同意图不再直接互相干扰。为控制 K 倍开销,作者近似 Meta 推荐系统常用的 HSTU 注意力。HSTU 计算 SiLU(M⊙QKᵀ)V;CMSL 用 SiLU 的二阶多项式核 φ(x) 近似大部分项,把主体改写为 φ(Q)φ(K)ᵀV,并另用稀疏 kernel 捕捉 QKᵀ 中的大值,因此随序列长度近似线性扩展。
第三步用 PMA(Pooling by Multi-head Attention)汇总每条潜序列:以当前上下文 S(l,k) 为 query,以序列表示为 key/value,提取与当前用户状态最相关的固定长度向量 h(l,k),并把这些摘要传给下一层非序列特征。第四步把 K 条潜序列沿通道拼接,再用 MLP 压回一条序列,防止每层序列数乘 K。最后一层的 K 个摘要拼接后进入多任务头,输出 CTR、CVR 等预测。
训练完全基于 Meta 内部生产流量,每个实验使用 300亿至500亿条样本,在 128 张 NVIDIA H100 上以混合精度训练,并配有定制 kernel 优化显存和吞吐。论文没有披露优化器、学习率、batch size、K/N 的具体取值和训练步数;这意味着方法结构可复现,但完整生产配方不可复现。
3. 核心技术贡献
第一,论文把序列推荐的瓶颈从模型容量重新定义为上下文构造:不是继续让更深的单序列 Transformer 自己过滤噪声,而是先用当前上下文将同一历史拆成 K 条意图流,使注意力只在语义更一致的事件之间发生。
第二,多序列构造不是人工按行为类型硬切分。K 个上下文投影头与 cross-attention 会在潜空间中动态分配历史事件,因此同一条点击记录可在不同当前场景下贡献给不同意图。它比固定的点击流、点赞流拆分更适应兴趣重叠。
第三,作者把 HSTU 的无行归一化 SiLU 注意力近似成多项式核线性项与稀疏大值修正项,从而抵消 K 条序列带来的主要复杂度。第四,PMA 摘要与逐层序列压缩让信息可以跨层传递,同时保持每层输入序列数恒定。相比仅提升长上下文长度,这套设计同时处理了语义干扰和工程成本。
4. 实验结果分析
论文在四个大规模产品表面评估排序,在第五个表面直接进行 U2U 召回线上 A/B。排序使用 Normalized Entropy,数值越低越好;作者说明在其系统中 NE 改善超过 0.03% 即具有统计显著性。表面 1 直接将 CMSL 用作互动预测模型;表面 2至4 为降低主排序链路时延,把长上下文 CMSL 放到异步上游用户模型,只把用户 embedding 输入线上排序器。
| 设置 | 指标 | CMSL 相对生产基线 |
|---|---|---|
| 表面1训练 | 评论 NE | -0.54% |
| 表面1评估 | 评论 NE | -0.62% |
| 表面1训练 | 点赞 NE | -0.31% |
| 表面1评估 | 点赞 NE | -0.33% |
| 表面2 | CTR / CVR NE | -0.12% / -0.10% |
| 表面3 | CTR / CVR NE | -0.09% / -0.06% |
| 表面4 | CTR / CVR NE | -0.10% / -0.13% |
| 表面5线上召回 | 四项互动指标 | +0.116% / +0.158% / +0.171% / +0.092% |
表面 1 的评估增益明显高于 0.03% 显著性门槛;异步两阶段方案虽然绝对增益较小,但六个 CTR/CVR 结果全部越过门槛,说明用户 embedding 能把部分多序列收益传给既有生产模型。召回实验的四项指标全部显著为正,支持方法并非只改善离线校准。值得注意的是,论文没有公开各表面的业务名称、基线结构、流量规模、置信区间,也没有给出移除多序列构造、线性注意力、PMA 或压缩模块的标准消融表。因此可以确认端到端方案有效,却无法从公开数字判断哪一组件贡献最大。作者也没有报告负向场景或失败案例。
5. 局限与未来方向
论文没有独立的 Limitations 或 Future Work 章节,结论也没有明确列出作者承认的限制。正文能够直接观察到的公开性限制包括:全部结果来自 Meta 内部数据,指标被匿名化;缺少公开数据集复现、标准消融、训练超参数、服务延迟和资源成本;U2U 召回四个线上指标未命名。这些信息缺口使外部团队难以估计收益是否来自具体模块、数据规模还是基础设施。另一个作者未讨论的风险是潜序列可能学成冗余或流行度驱动的通道,K 的选择也可能随用户历史长度和场景变化。
6. 工业实践意义
对搜索推荐团队,最直接的做法不是一次性替换主排序器,而是先验证上下文污染是否存在:把同一用户历史按主题或行为弱监督拆分,比较单序列与多序列的 NE、AUC、nDCG 和线上互动。若有效,再用可学习构造器代替人工规则。社区 UGC 可把搜索点击、首页浏览、收藏、评论等行为作为原始流,当前 query、入口、时间和内容类别作为 K 个意图头的条件。
部署上可复制论文的两阶段策略:长序列 CMSL 在异步用户塔中运行,线上精排只消费固定长度 embedding,避免把 128 张 H100 级训练复杂度带入请求链路。线性注意力和序列压缩应作为必需的成本控制,而不是事后优化。团队还应补充论文未报告的监控:潜流之间的相似度、各流负载、长尾用户覆盖、embedding 新鲜度、线上 P99 时延,以及多目标之间是否出现此消彼长。若业务只有很短历史或单一意图,CMSL 的 K 路构造开销可能不划算,应保留单序列基线和按请求降级路径。