System Design for Recommendations and Search

System Design for Recommendations and Search

💡 原文英文,约2700词,阅读约需10分钟。
📝

内容提要

本文讨论了工业推荐和搜索系统的设计,强调了离线和在线环境以及候选检索和排序步骤的重要性。文章介绍了一些公司的系统设计,并提到了一些实用的技巧和注意事项。

🎯

关键要点

  • 工业推荐和搜索系统设计在机器学习论文中讨论较少,主要集中在模型设计和训练数据上。
  • 发现系统的实现通常分为离线和在线环境,以及候选检索和排序步骤。
  • 离线环境主要用于批处理流程,如模型训练和创建嵌入。
  • 在线环境使用生成的人工制品为用户请求提供服务。
  • 候选检索是一个快速但粗糙的步骤,旨在将数百万个项目缩减为数百个候选项目。
  • 排名是一个较慢但更精确的步骤,用于对候选项目进行评分和排序。
  • 阿里巴巴通过项目嵌入和ANN设计淘宝候选检索。
  • Facebook使用双塔网络进行嵌入式检索,确保查询和文档在同一嵌入空间。
  • JD采用双塔模型进行语义检索,利用查询编码器和条目编码器。
  • DoorDash利用知识图谱进行查询扩展和检索。
  • LinkedIn依赖XGBoost进行人才搜索结果的个性化。
  • 优化模型训练和服务的实用技巧包括减少训练数据大小和确保离线训练与在线服务的一致性。
  • 建议在构建发现系统时,先进行候选检索,再添加排名器,或考虑使用知识图谱。
➡️

继续阅读