《高超-⾯向⽣成式AI的向量数据 库:架构性能与未来趋势.pdf》由会员分享,可在线阅读,更多相关《高超-⾯向⽣成式AI的向量数据 库:架构性能与未来趋势.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、DataFunSummit#2024向成式AI的向量数据库:架构,性能与未来趋势超/Zilliz程师超zilliz程师毕业于上海交通学,在向量数据库和数据引擎有定经验,前在zilliz主要负责索引引擎的优化向量数据库背景介绍Milvus整体架构设计性能的关键-索引向AI持续进化01向量数据库背景介绍什么是向量数据什么是向量检索 找到离查询向量最近的 条向量(TopK)怎么计算距离取决于模型定义使怎样的 Metric,常的有 L2,IP 和 Cosine 等K什么是向量数据库 向量数据库是种专为存储和查询维度向量数据优化的数据库系统为什么需要向量数据库 AI 1.0时代,向量数据库已经被泛应于机
2、器学习应中,包括推荐系统,搜索,控,安防等系统中。现在仍然是重要的使场景为什么需要向量数据库 Retrieval Augmented Generation(RAG),向量数据库作为存储记忆体保存领域相关的知识,于查找query相关的数据 LLM从增强的提示词中获得为户量身定制的答案,增强了结果的相关性什么是个好的向量数据库 性能 扩展性 易性 功能 可观测可运维 态集成 故障恢复 安全 您公司的logo02Milvus整体架构设计云原的分布式向量数据库 Proxy:接层,负责请求编译,检查和路由 Query:负责数据/索引的加载和查询 Data:负责数据批流转化 Index:索引构建云原的分布
3、式向量数据库 强的隔离性,建索引不争抢查询资源 良好的扩展能,持百亿级别的向量 更加灵活的流式数据处理能和增量更新/删除能实时性和性能的trade off Segment是milvus查询的最单位 growing segment负责流式数据的查询,保证数据的实时可,性能差 sealed segment负责持久化数据的查询。数据构建过索引,性能好 通过indexNode构建索引替换queryNode上的数据加速查询异步compaction 把些segment合成segment,加速查询 合并delete数据,做物理删除,对向量检索更加友好批量写 持bulk insert功能,户提供json/cs
4、v/parquet等格式的件,跳过消息队列,直接插到对象存储 持Spark connector,外部数据源可以通过Spark ETL导到Milvus全局索引 根据不同租户做划分数据 根据标量过滤条件划分数据 根据向量空间分布划分数据Zilliz cloud:向量数据库即服务 Zilliz Cloud是Zilliz基于开源向量数据库milvus打造的全托管企业级向量检索云服务 分为Serverless,SaaS和BYOC三个版本,向不同需求和不同部署环境 前已经登陆AWS,GCP,Azure,阿云、腾讯云等您公司的logo03性能的关键-索引主流向量索引 树索引:维度灾难,性能差 哈希:精确有限
5、 量化:精度有限,但哈希更为常 图索引:占资源,精度和性能优异哈希量化图树knowhere引擎 Knowhere作为milvus的核向量引擎,集成了多种向量算法,供户由选择 对外统接,便集成新索引FLAT 暴搜:效率很低,但100%准确!数据量少的时候可能优于索引的性能IVF 对数据点做聚类,分成若个buckets 查询时找到query最近的nprobe个buckets,避免搜索全量数据Product quantization 将向量分成m段,每段向量通过聚类编码成聚类中id,有效压缩向量的内存占 查询时预计算query向量和每段聚类中的距离,把距离计算转化成查表操作HNSW 前最为泛使的图索
6、引 建索引的原则:近邻的近邻概率是近邻,同时引些边防陷局部最优 层次化的结构快速定位,贪式搜索找到最终结果DISKANN Disk中保存图索引,并按照向量本身和邻居id起存的式增强locality。每次IO同时得到原始向量计算精确距离,同时得到邻居id,到内存中的PQ编码计算近似距离于导航 DiskANN可以实现较低的内存占,达到还不错的性能和精度GPU cagra 和NVIDIA团队合作,将gpu cagra索引集成到knowhere,充分利gpu的并计算能,加速索引构建和查询如何选择最合适的索引 希望降低cos