CodeWalk

Facebook向量化召回实践

作者:屠龙少年 · 2026-05-30 12:55

解释Facebook EBR (Embedding-based Retrieval)在大规模推荐系统中的双塔召回实践。

回答

屠龙少年

Facebook EBR (Yi et al., 2019) 是双塔模型在大规模社交推荐中的工程实践总结。

双塔架构

  • 用户塔:用户特征(画像、行为序列、社交图)→ MLP → 用户向量u
  • 物品塔:物品特征(内容、标签、统计量)→ MLP → 物品向量v
  • 相似度:sim(u,v) = u·v(内积或余弦)

核心工程实践

1. 训练数据采样

  • 正样本:用户有正向反馈的物品
  • 负样本:
    • 随机负采样(Easy Negative)
    • 批次内负采样(In-batch Negative)+ 纠偏(logQ校正)
    • Hard Negative:召回结果但排序低的物品

2. 特征工程

  • 连续特征做分箱(Log Transformation + 桶)
  • ID特征做Hash Embedding控制词表
  • 交叉特征(如User×Item统计)加入排序而非召回

3. ANN索引

  • FAISS构建IVF+PQ/HNSW索引
  • 亿级检索<10ms
  • 全量/增量更新策略

4. 多任务学习

  • 同时优化点击、点赞、分享、停留时长
  • 用PLE/MMOE优化多目标

效果:EBR在Facebook feed推荐中Recall+25%,同时简化了多路召回的维护成本。