《解析云原生数仓 ByteHouse 如何构建高性能向量检索技术-田昕晖.pdf》由会员分享,可在线阅读,更多相关《解析云原生数仓 ByteHouse 如何构建高性能向量检索技术-田昕晖.pdf(42页珍藏版)》请在三个皮匠报告上搜索。
1、解析云原生数仓 ByteHouse 如何构建高性能向量检索技术火山引擎 ByteHouse 团队/田昕晖向量检索应用场景https:/www.elastic.co/cn/what-is/vector-search语义相似度搜索https:/www.geeksforgeeks.org/how-to-generate-word-embedding-using-bert/https:/ 与向量检索LLM 与向量检索ExampleQ:Introduce ByConityA:Im sorry for any confusion,but the term ByConity does not appear
2、in the provided contextQ:Introduce ByConityA:ByConity is a system with critical advantages including storage-computing separation architecture for read-write separation and elastic scaling.It also supports multi-tenant resource isolation.向量检索KNN(K Nearest Neighbors):给定一个 D 维向量,从 N 个 D 维向量中查找最相似 k 个结
3、果O(ND)向量检索ANN(Approximate Nearest Neighbors)查找 K 个近似最优结果通常需要构建额外的存储结构Billion level 查询:10ms 以内Tradeoff:性能、内存消耗、准确度向量检索算法(索引)Table-basedLSHTree-basedKD-Tree,AnnoyCluster-basedIVF,SCANN,SPANNGraph-basedHNSW,NSG,DiskANNYusuke Matsui.Billion-scale Approximate Nearest Neighbor Search,ACM Multimedia 2020Cl
4、uster-basedIVFFlat优点:构建速度较快training+add内存额外占用较少缺点:查询速度受维度信息影响较大高精度查询计算量较大https:/www.pinecone.io/learn/series/faiss/vector-indexes/Cluster-based向量压缩Product Quantization降低向量维度、减少内存使用损失精度OthersScalar QuantizationBinary QuantizationProduct Quantization FastScanhttps:/ IndexVector StorageResource Managem
5、entSimilarity SearchVector Database向量数据库需求向量数据/索引管理创建、删除、修改等维护操作高性能检索向量检索与其他操作结合计算通常为属性过滤操作向量检索结果与其他属性结合查询基于索引的查询得到的 neighbor+distance 结果,通常作为一个中间结果,用于其他用户实际需要的属性进行筛选如何高效执行 ANN 计算后,快速获取其他属性信息向量数据库专用向量数据库Milvus,Pinecone,Vearch,WeaviateVector-Centric 设计极致查询性能现有数据库/数据引擎扩展向量支持pg-vector,ADB-V,ES,OpenSear
6、ch复杂数据类型与查询操作支持,All-in-one 查询当前向量数据库发展趋势专用向量数据库Vector-centric查询定式简单支持基本数据类型通常使用 DSL扩展支持其他数据类型更多复杂的数据管理机制:一致性、MultiVersion、存算分离复杂查询策略类 SQL 支持当前向量数据库发展趋势数据库+向量检索完备的数据管理机制多种复杂数据类型支持查询策略复杂SQL 支持 向量检索算法支持 向量索引管理 特殊执行计划支持 过滤策略 执行计划简化专用向量数据库Vector-centric查询定式简单支持基本数据类型通常使用 DSL扩展支持其他数据类型