Real-Time Hard Negative Sampling via LLM-based Clustering for Large-Scale Two-Tower Retrieval
这篇论文改进大规模推荐双塔召回训练中的负采样问题:常见 in-batch 或 out-of-batch 负样本过易,模型很快学会,难以提升区分能力。作者用 LLM 学到的媒体表征做聚类,在训练时从同簇生成实时 hard negatives,框架面向数十亿训练样本并控制额外计算复杂度。论文报告在公开数据集和大规模线上系统中均优于行业常用负采样方案。
INSIGHT核心价值在于把 LLM 语义能力放在训练数据构造层,而不是直接放到线上召回路径,因此更容易控制延迟和成本。对于社区 UGC 推荐/搜索,很多相似帖子、视频或问答只在细粒度意图上不同,同簇 hard negative 能逼迫双塔模型学习更细的用户偏好边界。实践上可先离线构建语义簇,再逐步替换部分随机负样本或 in-batch 负样本做 A/B 验证。
Real-Time Hard Negative Sampling via LLM-based Clustering for Large-Scale Two-Tower Retrieval 深度解读
1. 问题与动机
这篇 Meta 论文处理的是大规模推荐召回训练里的负采样瓶颈。双塔模型把用户塔和 item 塔分别编码,再用向量相似度做近邻检索,优点是 item embedding 可预计算和索引,线上检索效率高;难点是训练时 item 类别规模至少百万级,无法对全库做完整 softmax,因此必须采样负样本。工业上常用 in-batch negatives、LogQ correction、out-of-batch sampling 或 mixed negative sampling,但它们有明显局限:in-batch 受 batch size 限制,负样本覆盖不够;随机 OOB 扩大了候选池但通常太容易;DNS、ANCE 等 hard negative 方法效果好但需要模型打分或全局 ANN 索引刷新,计算成本阻碍大规模上线。论文还把负采样问题和 popularity bias 关联起来:真实系统中热门内容获得更多曝光,进一步强化反馈回路,长尾 item 缺少探索和 embedding 学习机会。工业数据里约 1800 万 item 可曝光,但 top 100 item 占了 50% impression,这说明现有系统存在非常强的头部集中。
2. 方法详解
论文提出 Cluster GOOBS,即 Cluster-based Global Out-of-Batch Sampling。基础 GOOBS 是一个实时 OOB item pool:训练 batch 中的 item 通过 update engine 写入池子,sampling engine 再从池子取出 OOB negatives 与 in-batch negatives 共同训练。每个 item 被分配到一个 slot,slot 存储该 item 的特征 tensor;update 时用 item id 和 cluster id 经过定制 hash 找到对应 cluster segment 中的位置;sampling 时根据当前 batch item 的 cluster id 找到目标 segment,并随机抽取该 segment 中已有 item 作为负样本。为了冷启动时有较高命中率,OOB 池会先用历史训练数据预加载,后续由最新 batch 持续更新,保证新鲜度。
Cluster GOOBS 的关键变化是负样本不是从全局 item pool 随机抽,而是从正样本同一个语义 cluster 中抽。论文从 contrastive learning 和 gradient variance 解释这个设计:随机负样本通常离用户 anchor 很远,相似度低,softmax/InfoNCE 下梯度接近 0;同簇负样本与正样本共享潜在语义,更接近决策边界,能提供更大的梯度和更细粒度的区分信号。这类似 ANCE 的“局部邻域负样本”思想,但不需要维护和刷新全局 ANN 索引。
cluster 的生成在公开数据和工业数据中不同。公开 MovieLens/Amazon 实验直接用 genre/category 等已有 cluster id;工业应用中,作者使用基于 LLM 的 multimodal content understanding 模型来生成 item cluster。这个模型以预训练 LLM 为基础,叠加文本、图像、视频等多模态 encoder,输出固定长度媒体表示,再经过任务微调,使 cluster 能表达比传统类目更细的媒体语义。论文强调 cluster 不能过细,否则会增加 false negative 风险;工业线上使用 300 个 cluster,其中 98% cluster 有 item。
3. 核心技术贡献
第一,论文把 hard negative sampling 做成了能在线接入大规模训练的系统,而不只是离线采样策略。GOOBS 的 item pool、hash slot、cluster segment、update engine 和 sampling engine 让同簇 OOB negatives 可以随训练数据实时刷新,避免 ANCE 式全局索引刷新成本。
第二,LLM 的作用被放在 item cluster 生成上,而不是线上召回推理路径上。这样保留了双塔召回的线上效率,同时用 LLM/多模态模型提供更语义化的训练信号。对文本、图像、视频混合内容的社区平台,这种设计比只用人工类目或 item tag 更能捕捉细粒度内容差异。
第三,论文把负采样与流量反馈回路、头部偏置联系起来。Cluster GOOBS 不只是提高 HR@K,还在线上显著降低 top 100 item impression contribution,说明更难、更语义化的负样本会改变召回模型对长尾内容的学习方式。
4. 实验结果分析
公开实验使用 MovieLens-1M 和 Amazon Reviews 的 Grocery、Electronics、Home 子集,按时间戳前 80% 训练、后 20% 测试,评分 1–2 为负、3–5 为正。作者刻意不做 5-core/10-core 过滤,也不使用 100 个随机负样本的 sampled evaluation,而是在完整全局语料上评估 HR@50 和 HR@100,这更接近冷启动和稀疏工业场景。模型 backbone 是标准双塔,对比六种负采样:in-batch + LogQ baseline、DNS、CBNS、ANCE、随机 OOB 的 GOOBS、同簇 OOB 的 Cluster GOOBS。
结果显示 Cluster GOOBS 在所有数据集和指标上最优。MovieLens-1M 上,baseline HR@50 为 0.2253,Cluster GOOBS 为 0.2415,提升 7.2%;HR@100 从 0.3588 到 0.3682,提升 2.7%。Amazon-Grocery 上 HR@50 从 0.0254 到 0.0301,提升 18.5%;HR@100 从 0.0406 到 0.0470,提升 15.7%。Amazon-Electronics 上 HR@50 从 0.0084 到 0.0131,提升 55.6%;HR@100 从 0.0154 到 0.0201,提升 30.2%。Amazon-Home 上 HR@50 从 0.0050 到 0.0074,提升 47.3%;HR@100 从 0.0082 到 0.0118,提升 42.3%。这些提升在稀疏 Amazon 数据上更大,说明同簇 hard negative 对冷门/稀疏 item 的区分学习更有帮助。
工业实验中,系统有约 1800 万可曝光 item,top 100 item 占 50% impressions。对照组和实验组各随机 3% 用户;对照使用 GOOBS,实验使用相同双塔架构加 Cluster GOOBS。线上指标以 CTR 衡量,Cluster GOOBS 使 CTR 相对提升 53%,且论文称只带来轻微 training QPS regression、inference QPS 无退化。长尾方面,过去一天 impression 为 K 的 item cohort 占比提高约 50%,top 100 item impression contribution 从 50% 降到 32%。这组结果非常强,表明同簇负样本不仅改善离线 HR,也能打破部分热门反馈回路。
5. 局限与未来方向
论文结论中明确提到未来工作包括 weighted cluster-based negative sampling 和 user-query based negative sampling,这也暴露了当前方法的两个限制。第一,当前同簇抽样基本是 segment 内随机抽,没有按 item 难度、热度、质量或用户上下文加权;如果 cluster 内存在大量伪负样本,随机抽样会引入噪声。第二,cluster 主要是 item-side 语义,尚未充分结合 user query/session 意图;同一个 item cluster 对不同用户可能难度不同。第三,线上 CTR +53% 的相对提升非常大,但论文没有披露绝对 CTR、训练 QPS 退化幅度和业务场景细节,外部读者难以评估可迁移性。第四,LLM-based multimodal cluster 依赖内部内容理解模型和多模态特征工程,不是所有团队都有同等基础设施。最后,cluster 粒度是敏感超参,论文提示过细会提高 false negative 风险,但没有给出系统化的粒度选择方法。
6. 工业实践意义
对搜索/推荐团队,这篇论文的落地价值很高,因为它没有要求改变线上双塔 serving 架构。实践路线可以分三步:先用已有类目、topic、embedding 聚类构建 cluster id,在离线双塔训练中把部分随机 OOB negatives 换成同簇 OOB negatives;再引入 GOOBS 类 item pool,保证负样本来自最近训练流而不是静态快照;最后用 LLM/多模态内容模型重建 cluster,提高同簇负样本的语义难度。社区 UGC 场景尤其适合,因为帖子、短视频、问答常有多模态内容和细粒度主题,同簇 hard negative 能让模型区分“表面相似但用户不喜欢”的内容。
部署时要重点监控四类指标:召回 HR/nDCG 或线上 CTR,训练吞吐/QPS,false negative 比例,以及长尾曝光分布。论文的线上结果显示 top 100 impression contribution 从 50% 降到 32%,这对内容生态很有吸引力,但推荐团队需要确认这种长尾探索没有牺牲用户满意度、低质内容过滤或安全策略。与 POEM 相比,Cluster GOOBS 更靠近召回训练数据层,工程侵入性较小;它适合作为个性化召回模型的第一批实验项,尤其在现有 in-batch negatives 已经出现“样本太容易、线上头部过强”问题时。