1、蚂蚁开源向量检索库 VSAG 与业务实践王翔宇|蚂蚁集团王翔宇蚂蚁集团全模态检索部技术专家-开源向量数据库 Milvus 核心开发者,BigANN 21 Track 2 第一名团队成员。曾在 Zilliz 负责存储和 GPU 算法相关开发工作。-2023 年加入蚂蚁集团,主要负责蚂蚁向量检索算法研发以及千亿规模向量数据库在蚂蚁业务场景落地。对向量检索算法与系统有丰富经验。目 录CONTENTSI.向量检索技术介绍II.蚂蚁开源检索库 VSAGIII.前沿向量检索算法和优化IV.业务落地中的实践案例V.开源社区与展望向量检索技术介绍PART 01背景 持续增长的数据数仓数据 vs 多媒体数据增速
2、数仓多媒体蚂蚁集团数据CY23数据增幅中,结构化+10%,非结构化+143%。趋势:-企业中非结构话数据增长迅速,占比超过 80%;-蚂蚁集团 2023 年非结构化数据增速超过结构化数据背景 越来越多的 RAG 应用当用户提出问题时,聊天机器人会从知识库、FAQ或客户记录等来源检索相关信息,并使用模型生成个性化响应。客户支持机器人通过对话,LLM 帮助学习者了解他们的偏好和职业目标,提供更多相关的课程选择和个性化的学习计划,提升学习体验。个性化学习和辅导系统使用 RAG,企业可以为员工和客户提供即使、量身定制的查询答案,减少手动搜索的需要并提高效率。企业知识管理RAG 通过实施了解客户需求来动
3、态生成结果,相较于传统的方法,能产生更相关和准确的推荐,提高销售额。电商产品推荐传统方法严重依赖于预定义的规则和历史数据,RAG 支持动态、上下文数据检索,通过使用最新的外部信息能够增强系统检测异常的能力。欺诈检测和风险评估背景 非结构化数据与向量检索Vector Search 非结构化数据音频、视频、图片、文本数据规模大,信息密度高,处理成本高 向量化表示通过神经网络提取非结构化数据特征,形成向量化表示向量具备语义表达能力,能用于相似性检索 向量检索向量索引以树/图/倒排/哈希等方式组织数据,加速检索过程通过向量间的距离计算,找出最相近向量检索过程包含着大量浮点数计算蚂蚁开源检索库 VSAG
4、PART 02VSAG 简介开源向量检索库 VSAGVSAG 是一个用于向量相似性检索的索引库。其中的索引算法允许用户在大小各种规模的数据集上进行高效检索,特别是那些无法放进内存的数据集。索引库 VSAG 使用 C+编写,在蚂蚁集团内部已服务百亿级别非结构化数据存储和检索。高召回率&低内存使用创新的混合索引融合了主成分分析、量化、误差估计、共轭图、重排序和磁盘存储等先进方法,实现了内存占用的大幅优化。即便在低内存环境下,也能保持较高的向量召回精度。高性能检索方面融合了多种近似距离计算方法和剪枝技术,大幅提升检索效率。结合 extrainfo 技术避免回表操作,实现卓越的端到端性能。混合搜索支持
5、VSAG 除标准的 TopK 搜索以及 Range 搜索外,还支持基于 Bitmap 的前置过滤和基于 Callback 的后置过滤两种混合搜索方法。易于使用使用 C+编写,支持以 CMake 方式快速集成到存储产品中。同时提供 Python 封装,无缝接入 AI 生态应用。支持无参数构建索引以及运行搜索。VSAG 架构一览VSAG 性能优化策略BSA剪枝:使用学习分类器来对量化和完整距离进行分类,以过滤不必要的距离计算;+60%8-bit量化:大幅降低向量距离计算量;+50%Prefetch:使用预取指令提升数据cache命中率;+20%指令重排:将预取指令和计算指令混合排布提高预取有效率;
6、+20%量化重排:使用4-bit量化进行搜索,再用高精度向量重排;+25%CPI优化:减少无效的预取指令,避免指令堆积;+10%re-rank剪枝:根据距离过滤无效re-rank过程;+5%指令依赖优化:减少访存指令之间的依赖,提高指令吞吐;+2.5%内存排布优化:在图结构上冗余存储部分向量,提升数据locality;+25%Core Bound优化:进一步减少无效的访存指令,降低同时间指令发射数;+10%前沿向量检索算法和优化PART 03算法和优化 BSA 剪枝框架BSA 剪枝框架 基于近似距离和线性分类器的距离计算加速引入近似距离计算机制第一阶段使用压缩向量和近似距离搜索第二阶段使用原始