推荐系统主要模块如下图所示(以视频推荐为例):
推荐系统的入口服务,主要职责为:
- 加载 User Profile 数据
- 请求 Leaf Server 获取推荐结果
- 请求 Video Server 完善视频信息
- 产生推荐日志。
推荐系统的主要“调度者”,主要功能为:
- 视频检索(retrieval):从各种索引中检索大量的候选视频
- 请求粗排服务(rough ranking)
- 请求精排服务(full ranking)
- 进行多样性打散(variety)
推荐系统的算法核心,一般分为两个Server,分别由 Leaf Server请求:
- 粗排服务:利用轻量级的模型对大量视频进行排序,然后返回头部的少量作品,比如输入5000个视频,返回top 1000;
- 精排服务:使用比较复杂的模型对粗排返回的少量视频进行准确的排序,产生最终的排序得分;
数据落盘:通过使用 Kafka、HDFS 等手段,把 Router 拼接的推荐日志数据进行持久化,日志信息主要包括请求上下文、用户画像、推荐结果信息等。
5. Model Training使用落盘的推荐日志对模型进行训练,然后把训练的模型推送给 predictor 主要分为两类场景:
- 离线调研:主要使用 HDFS 上的数据进行训练
- 线上模型:根据实时性要求选择 Kafka 或者 HDFS 上的数据进行训练
个人初步总结,可能有不完善的地方,如有高见,欢迎评论指出。
如果转载,请注明出处,谢谢支持!



