随着LLM技术的使用和实施,数据库在向量分析和AI支持方面需要先进,向量数据库和向量检索可以“涌现”,迎来行业持续被关爱。 简而言之,向量检索技术和向量数据库可以为 LLM 提供外部图像单元,并且该过程提供与问题和历史答案一致的内容,帮助 LLM 返回更准确的答案。
不仅是LLM,向量检索早已与OLAP引擎有关。 作为一款用于数据分析的软件,OLAP可以快速高效地处理大量数据,并提供多维度的分析功能,而向量检索可以帮助OLAP引擎进一步提高分析和检索非结构化数据的能力。
近日,Volcano Engine的云原生数据栈ByteHouse推出了高功能的向量检索功能,支持多种向量检索算法和高效的实现环节,可支持大规模向量检索场景,达到毫秒级查询时延。
ByteHouse团队长期以来一直致力于矢量检索技术。 据字节豪斯技术专家介绍,“目前向量数据库的发展主要有两种思路,一是建立专用的向量数据库,基于以向量为中心的思路来规划向量数据和索引的存储以及资本治理策略,查询方式简单,配套数据范式有限; 二是在已有稀有数据数据库的基础上,扩展向量检索能力,在现有稀有数据治理机制和查询实现环节中加入向量索引维护和查询实现逻辑。 现在,两个想法正在创造彼此自己的想法,并且正在以完整的数据库功能支持+高功能向量检索的形式发展。 ”
ByteHouse 源自 ClickHouse,但 ClickHouse 存在向量索引重复读取、冗余等问题,低时延要求、高并发要求的向量检索场景可用性较弱。
基于以上分析,bytehouse可以在向量检索方面进行全面的创新。 首先,基于以向量为中心的思想,bytehouse构建了高效的向量检索实现链接,结合索引缓存、存储层过滤等机制,使功能可以进一步破解。 此外,为了应对不同的应用场景,ByteHouse 支持 HNSW、FLAT、IVFFLAT 和 IVFPQ 等多种多常用向量索引算法。 此外,新引入的向量索引支持当下的二级索引相干语义,新的实现环节也适配了已有的区间函数,从而降低了用户应用门槛,学习旧书,用户可以简单地使用clickhouse现有的语义来应用高性能的向量检索功能。
Bytehouse 向量来检索相关组件。
在建立高性能向量检索能力的过程中,bytehouse 首先避免了以下三个灾难点:
一开始,列存储结构读取放大的问题。 为了减少不必要的数据读取操作,bytehouse 在查询实现和数据读取层都进行了优化,Hamergetree 和 HauniqueMergetree 两个引擎的坚实计划为向量检索提供了稳定性保证。 其次,新写入的数据和服务重启时会出现冷读问题,导致功能稳定。 为此,bytehouse 引入了预加载机制,在构建后主动将索引加载到缓存中,并支持对过时索引进行主动雕刻,避免资金过多占用。 最后,由于索引构建会消耗大量资金,为了减少构建操作对正常查询功能的影响,bytehouse 引入了资金控制策略,允许用户根据应用场景动态控制索引构建应用的资金,大大降低了原有链路的开销。
基于开源软件 Vectordbbench,带有 MiLVUS 23.0 表示评估。
测试环境:1 个节点,80 个内核,376 GB 内存)。
在最终功能结果方面,ByteHouse 团队基于业界最新的 Vectordbbench 测试资料进行了测试,并在 Cohere 1M 规范测试数据集上,Recall 98 可以达到与专用向量数据库类似的功能。 在召回95以上的情况下,QPS可以达到2600以上,P99延迟在15ms左右,具有行业领先优势。
性能优化一直是Bytehouse Center满足数据处理和分析需求的目标之一。 不仅是向量检索技术,流程不断发展创新,字节屋在查询分析、数据导入等多个方面也进行了极致优化,并取得了显著的性能提升,在降本增效的基础上,持续协助企业更好地实现数据驱动的加速解决效率。