推荐系统[九]项目技术细节讲解z4:向量检索技术工程上实践,曝光去重实践以及检索引擎该如何选择:支撑亿级索引、5毫秒级的检索[elasticsearch、milvus]

2023-03-10 09:24:45 浏览数 (2)

1.向量检索技术工程上实践

博文 推荐系统[九]项目技术细节讲解z3:向量检索技术与ANN搜索算法[KD树、Annoy、LSH局部哈希、PQ乘积量化、IVFPQ倒排乘积量化、HNSW层级图搜索等],超级详细技术原理讲解 介绍了几种主流ANN近似算法,实际应用上,也同样会遇到很多工程上的挑战

  • 从单机性能这个角度,资源限制的主要是 CPU 内存。不同的ANN算法,在索引构建和查询的时间复杂度各不相同,但基本上符合 “召回率越高,qps越低”。单机内存资源上限也制约着整体向量的规模,目前常规的服务器大部分都是 128G/256G左右的内存。举个例子,1亿个256维度的向量,整体的存储大小为 1^9 * 256 * 4B = 100G,算上服务系统资源消耗,索引切换等,一个大内存的机器顶多也就加载1个向量索引。
  • 同时,由于搜索广告推荐场景,大部分都是数据/实验驱动增长,每个模型的切换全量都需要进行AB流量验证,因此会有多个版本的小流量实验。在中等规模(千万到亿级别的向量规模),会出现资源利用的不均衡**(每台机器只能加载1-2个索引版本,内存跑满但是cpu没有跑满)**。
  • 当然还有索引版本管理,上下线等。此外有些对数据延时要求比较高的,还会额外关注索引是否能够增量或者实时更新。

在篇中将主要关注大公司和开源界,在更大规模(10亿 )的场景下如何做到低成本,高性能且能够横向扩容伸缩。

1.1 大厂的方案

<

0 人点赞