为什么微信推荐这么快?( 四 )

5.4 支持布隆过滤器、阈值过滤器等

  • 在视频号场景中 , 业务使用 SimSvr 对视频进行索引;
  • 在使用某个用户的特征进行召回时 , 常常召回了许多用户已看过的视频 , 影响用户体验;
  • 通过增加召回结果并在结果中进行过滤 , 对于重度用户 , 一样存在上述问题 , 并且还会导致不必要的性能开销;
  • SimSvr 改造 hnswlib , 嵌入了过滤器的逻辑 , 使得其支持在检索过程中实时对符合特定条件的 key 进行过滤 , 保证了召回结果的有效性 。
5.5 支持过期删除
  • 对于一些推荐系统来说 , 对于数据的时效性要求是非常高的 , 在数据过了其最佳召回时间段之后 , 就不应该出现在召回结果中 , 以免出现不合时宜的尴尬;
  • SimSvr 支持导入带过期时间的数据 , 在现网召回过程中 , 实时淘汰过期的 key 以达到准确的召回要求 。
6. 现网运营情况
  • SimSvr 目前已部署 160+ 个模型索引 , 使用逻辑核 8000+ , 总索引量超过 20 亿特征向量 , 广泛应用于视频号、看一看、搜一搜等推荐业务中 。
  • 搜一搜基于 SimSvr 建立小程序优质文章的向量索引 , 提升小程序文章搜索的优质结果召回率 。 新方案相比旧方案 , 优质结果召回率提升 7%;
  • 搜一搜使用 SimSvr 检索视频指纹 , 进行相似视频去重;单表索引量高达 1.7 亿 * 128 维 , 检索平均耗时小于 8ms , 日检索量 12.5 亿 。
7. 总结
随着推荐系统的强势发展 , 特征检索的使用场景越来越广泛 。 而作为基础组件 , 除了要拥有支持亿级索引的基本素养外 , 在功能特性上也需要不断迎合业务的发展 。 因此我们开发了 SimSvr , 搭配特征存储 FeatureKV , 在视频号、看一看、搜一搜等推荐系统中发挥了重要的作用 。
出处: