您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[-]:火山引擎(桂峰):火山引擎云搜索服务大规模技术应用实践 - 发现报告

火山引擎(桂峰):火山引擎云搜索服务大规模技术应用实践

信息技术2024-08-25桂峰-
AI智能总结
查看更多
火山引擎(桂峰):火山引擎云搜索服务大规模技术应用实践

桂峰|火山引擎云搜索资深架构师 目录Contents 云搜索服务向量搜索引擎高可用架构混合搜索01020304 云搜索服务 云搜索服务 火山引擎云搜索服务 •全托管一站式分布式搜索服务,完全兼容搜索引擎OpenSearch、ElasticSearch。 •多年来持续为包括头条、抖音、飞书、懂车帝等字节跳动内部核心业务提供搜索服务支持。历经多年业务发展,云搜索服务累积丰富的业务实践并提供给内外部客户。 高可用架构 高可用架构-AZ容灾 AZ容灾方案 •数据节点多AZ部署:每个AZ一组k8sStatefulSet,存储使用同AZ的EBS云盘•结合ESAllocationAwareness,保证同一Shard的主、副分片分配到不同AZ 容灾能力 •支持EBS云盘容灾,单EBS集群故障时集群可正常工作•支持AZ容灾,单AZ故障时集群可正常工作 高可用架构-多活方案 常见多活方案 局限性:无法满足 高可用架构-多活方案 Ebus多活双向同步方案 •Ebus组件:订阅消费集群的Translog •防回环:针对业务写入数据打Tag&消费侧过滤 •实时增量数据一致性检验 向量搜索引擎 向量搜索引擎 向量搜索引擎:大模型时代重要的存储 向量搜索引擎-常用ANN算法 ANN算法:决定向量搜索引擎的应用数据规模、查询效率和召回率 基于空间划分 •常见有Kd-tree、K-Means等算法;高维场景下,搜索效率较低 向量压缩方法 •常见有矢量压缩(PQ/OPQ)或标量压缩(SQ);主要降维方式减少计算/内存占用,但召回率低 基于图 •主要有NSW和HNSW等算法,当前HNSW业界应用最广;搜索效率和召回率高,但索引空间大,占用较大内存 DiskANN 索引构建 •构建原始向量的PQ压缩向量•相比于HNSW进一步裁剪短边,置换为长边,搜索效率高•原始向量以及图索引存储于SSD,原始向量和邻居节点存放一起 查询 •内存Cache:PQ压缩向量以及与查询入口节点保持3跳内的向量节点•相似度计算仍使用原始向量,保证高召回率•并行从候选节点中搜索邻居,减少IO等待时间 引入FAISS实现PQ压缩编码减少HNSW图内存 引入FAISS构建HNSW/NSG和Lucene构建HNSW 引入DiskANN 混合搜索 适用场景 •搜索效率高 •精确匹配,用户很明确搜索意图 局限性 •仅支持结构化文本数据 •默认对拼写错误以及同义词场景支持不友好 •搜索结果精确匹配,无法从语义上扩展搜索范围,例如搜索“好吃的水果” 适用场景 •多模态支持,文本、图像和音视频等数据 •理解查询背后的意图和上下文信息,非单纯关键字匹配 局限性 •复杂度高,需额外引入Embedding模型,涉及大量模型优化 •成本高,向量索引构建、存储和检索占用大量计算和内存 •搜索结果为相对最匹配结果,可能非用户真实预期,需要人为干预 Rerank阶段 •将关键字搜索和语义搜索候选集合融合打分并重新排序 混合搜索-Rerank 归一化&加权融合 𝐀𡠀𝐀𤀀𝐀𝐀𝐀𝐀𝐀𝐀𝐀(𡠀𤀀𝐀𣠀𝐀𣠀𤀀𤐀𝐀)=𝐀∗𝐀𡠀𝐀𤀀𝐀𝐀𝐀25(𡠀𤀀𝐀𣠀𝐀𣠀𤀀𤐀𝐀)+(1−𝐀)∗𝐀𡠀𝐀𤀀𝐀𝐀𝐀𝐀(𡠀𤀀𝐀𣠀𝐀𣠀𤀀𤐀𝐀) RRF融合 归一化&加权融合 混合搜索-RAG结合 混合搜索withRAG Oncall前置拦截率实现+15% THANKS 感谢聆听 自主·创新·引领