海量数据向量索引的召回率估算方法、装置、介质及设备与流程
本技术涉及信息检索,尤其是涉及到一种海量数据向量索引的召回率估算方法、装置、介质及设备。
背景技术:
1、随着人工智能与大数据技术的发展,向量检索(或称近似最近邻搜索,ann)被广泛应用于推荐系统、图像检索、自然语言处理等领域。为了高效管理海量向量数据,业界提出了多种向量索引结构,其核心目标是在可接受的时间开销内,以较高的召回率返回与查询向量最相似的项。在这一过程中,召回率是衡量向量索引性能的核心指标,通常通过统计索引返回结果与真实最近邻结果的重合度来计算。
2、现有的召回率估算主要依赖于全量暴力计算法。该方法需要在完整的向量数据集上,对每个测试向量执行线性扫描等暴力计算,以获取其真实的最近邻结果作为基准真值。然而,当面对千万级甚至亿级的高维数据时,暴力计算不仅耗时极长,还会消耗大量的cpu和内存资源,导致召回率估算效率极其低下。
3、因此,现有技术难以在保证召回率估算精度的前提下,满足海量数据场景下对向量索引进行快速召回率估算的需求。
技术实现思路
1、有鉴于此,本技术提供了一种海量数据向量索引的召回率估算方法、装置、介质及设备,解决了现有的海量数据向量索引的召回率估算方法存难以满足召回率估算精度高且召回率估算效率高的问题。
2、根据本技术的一个方面,提供了一种海量数据向量索引的召回率估算方法,所述方法包括:
3、获取第一线上向量索引结构对应的全量数据集,从所述全量数据集中抽取第一预设数量个向量,构成测试查询数据集;
4、基于所述第一线上向量索引结构,使用第一召回查询参数和第二召回查询参数分别对所述测试查询数据集中的每个向量进行查询,得到第一查询结果,根据所述第一查询结果生成第一整体召回率估计值,其中,所述第一召回查询参数大于第二召回查询参数;
5、从所述全量数据集中抽取第二预设数量个向量构成校验数据集,将所述校验数据集作为查询基准范围,分别采用精确索引方法和线上索引方法对所述测试查询数据集中的每个向量进行查询,得到第二查询结果,根据所述第二查询结果生成第二整体召回率估计值;
6、基于所述第一整体召回率估计值和所述第二整体召回率估计值计算得到最终的召回率估算值。
7、可选地,所述基于所述第一线上向量索引结构,使用第一召回查询参数和第二召回查询参数分别对所述测试查询数据集中的每个向量进行查询,得到第一查询结果,包括:
8、基于所述第一线上向量索引结构使用第一召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第三预设数量个第一近似近邻结果,将每个向量对应的多个第一近似近邻结果作为所述向量对应的近似真实数据集;
9、基于所述第一线上向量索引结构使用第二召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个第二近似近邻结果,将每个向量对应的多个第二近似近邻结果作为所述向量对应的第一召回数据集。
10、可选地,所述根据所述第一查询结果生成第一整体召回率估计值,包括:
11、针对所述测试查询数据集中的每个向量,获取所述向量对应的近似真实数据集中排序为前第四预设数量个数据,作为近似数据子集,确定所述近似数据子集和所述第一召回数据集的交集中包含的数据的第一数量;
12、将所述第一数量与所述第四预设数量的比值作为所述向量对应的第一召回率估计值;
13、计算所述测试查询数据集中所有向量对应的第一召回率估计值的第一平均值,将所述第一平均值与第一补偿系数的乘积作为第一整体召回率估计值。
14、可选地,所述将所述校验数据集作为查询基准范围,分别采用精确索引方法和线上索引方法对所述测试查询数据集中的每个向量进行查询,得到第二查询结果,包括:
15、基于所述校验数据集构建精确索引结构,基于所述精确索引结构对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个精确近邻结果,将每个向量对应的多个精确近邻结果作为所述向量对应的精确真实数据集;
16、采用与所述第一线上向量索引结构相同的构建参数,基于所述校验数据集构建第二线上向量索引结构,基于所述第二线上向量索引结构使用第二召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个第三近似近邻结果,将每个向量对应的多个第三近似近邻结果作为所述向量对应的第二召回数据集。
17、可选地,所述根据所述第二查询结果生成第二整体召回率估计值,包括:
18、针对所述测试查询数据集中的每个向量,确定所述精确真实数据集和第二召回数据集的交集中包含的数据的第二数量;
19、将第二数量与所述第四预设数量的比值作为所述向量对应的第二召回率估计值;
20、计算所述测试查询数据集中所有向量对应的第二召回率估计值的第二平均值,将所述第二平均值与第二补偿系数的乘积作为第二整体召回率估计值。
21、可选地,所述基于所述第一整体召回率估计值和所述第二整体召回率估计值计算得到最终的召回率估算值,包括:
22、将所述第一整体召回率估计值和所述第二整体召回率估计值的平均值作为最终的召回率估算值。
23、可选地,所述海量数据向量索引的召回率估算方法,还包括:
24、所述第一召回查询参数的设置大小满足下述条件:所述第一整体召回率估计值与暴力召回率估计值之间的误差小于或等于误差阈值,其中所述暴力召回率估计值为将所述全量数据集作为查询基准范围,采用暴力搜索方法进行查询,得到召回率估计值。
25、根据本技术的另一方面,提供了一种海量数据向量索引的召回率估算装置,所述装置包括:
26、查询数据集获得模块,用于获取第一线上向量索引结构对应的全量数据集,从所述全量数据集中抽取第一预设数量个向量,构成测试查询数据集;
27、第一召回率估计模块,用于基于所述第一线上向量索引结构,使用第一召回查询参数和第二召回查询参数分别对所述测试查询数据集中的每个向量进行查询,得到第一查询结果,根据所述第一查询结果生成第一整体召回率估计值,其中,所述第一召回查询参数大于第二召回查询参数;
28、第二召回率估计模块,用于从所述全量数据集中抽取第二预设数量个向量构成校验数据集,将所述校验数据集作为查询基准范围,分别采用精确索引方法和线上索引方法对所述测试查询数据集中的每个向量进行查询,得到第二查询结果,根据所述第二查询结果生成第二整体召回率估计值;
29、最终召回率估计模块,用于基于所述第一整体召回率估计值和所述第二整体召回率估计值计算得到最终的召回率估算值。
30、可选地,所述第一召回率估计模块还用于:
31、基于所述第一线上向量索引结构使用第一召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第三预设数量个第一近似近邻结果,将每个向量对应的多个第一近似近邻结果作为所述向量对应的近似真实数据集;
32、基于所述第一线上向量索引结构使用第二召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个第二近似近邻结果,将每个向量对应的多个第二近似近邻结果作为所述向量对应的第一召回数据集。
33、可选地,所述第一召回率估计模块还用于:
34、针对所述测试查询数据集中的每个向量,获取所述向量对应的近似真实数据集中排序为前第四预设数量个数据,作为近似数据子集,确定所述近似数据子集和所述第一召回数据集的交集中包含的数据的第一数量;
35、将所述第一数量与所述第四预设数量的比值作为所述向量对应的第一召回率估计值;
36、计算所述测试查询数据集中所有向量对应的第一召回率估计值的第一平均值,将所述第一平均值与第一补偿系数的乘积作为第一整体召回率估计值。
37、可选地,所述第二召回率估计模块还用于:
38、基于所述校验数据集构建精确索引结构,基于所述精确索引结构对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个精确近邻结果,将每个向量对应的多个精确近邻结果作为所述向量对应的精确真实数据集;
39、采用与所述第一线上向量索引结构相同的构建参数,基于所述校验数据集构建第二线上向量索引结构,基于所述第二线上向量索引结构使用第二召回查询参数对所述测试查询数据集中的每个向量进行查询,得到每个向量对应的第四预设数量个第三近似近邻结果,将每个向量对应的多个第三近似近邻结果作为所述向量对应的第二召回数据集。
40、可选地,所述第二召回率估计模块还用于:
41、针对所述测试查询数据集中的每个向量,确定所述精确真实数据集和第二召回数据集的交集中包含的数据的第二数量;
42、将第二数量与所述第四预设数量的比值作为所述向量对应的第二召回率估计值;
43、计算所述测试查询数据集中所有向量对应的第二召回率估计值的第二平均值,将所述第二平均值与第二补偿系数的乘积作为第二整体召回率估计值。
44、可选地,所述最终召回率估计模块还用于:
45、将所述第一整体召回率估计值和所述第二整体召回率估计值的平均值作为最终的召回率估算值。
46、可选地,所述海量数据向量索引的召回率估算装置,还包括:
47、第一召回查询参数设置模块,用于所述第一召回查询参数的设置大小满足下述条件:所述第一整体召回率估计值与暴力召回率估计值之间的误差小于或等于误差阈值,其中所述暴力召回率估计值为将所述全量数据集作为查询基准范围,采用暴力搜索方法进行查询,得到召回率估计值。
48、依据本技术又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述海量数据向量索引的召回率估算方法。
49、依据本技术再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述海量数据向量索引的召回率估算方法。
50、借由上述技术方案,本技术提供的一种海量数据向量索引的召回率估算方法、装置、介质及设备,获取第一线上向量索引结构对应的全量数据集,从全量数据集中抽取第一预设数量个向量,构成测试查询数据集,基于第一线上向量索引结构,使用第一召回查询参数和第二召回查询参数分别对测试查询数据集中的每个向量进行查询,根据查询结果生成第一整体召回率估计值,从全量数据集中抽取第二预设数量个向量构成校验数据集,将校验数据集作为查询基准范围,分别采用精确索引方法和线上索引方法对测试查询数据集中的每个向量进行查询,根据第二查询结果生成第二整体召回率估计值,基于第一整体召回率估计值和第二整体召回率估计值计算得到最终的召回率估算值,整个评估过程仅需进行有限次数的索引查询操作,无需启动额外的、消耗巨大的全量扫描计算,双重校验估算能够在数秒至数十秒内完成对亿级数据向量索引的召回率评估,提高了召回率估算效率、资源消耗极低,且通过双重校验估算保证了估算结果的准确性。
51、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com