Page 151 - 《软件学报》2026年第3期
P. 151
1114 软件学报 2026 年第 37 卷第 3 期
表 2 不同向量索引方法的查询准确率评测 (%)
数据集 索引方法 召回率 (Recall@1) 召回率 (Recall@5) 召回率 (Recall@10)
PQIndex (Milvus) 75.75 79.94 80.25
IVFPQIndex (Milvus) 94.30 94.33 94.39
HNSWIndex (Milvus) 95.71 96.59 97.10
Alpaca
Chroma 94.23 94.30 94.40
WRVQ (L) 95.65 95.34 94.26
WRVQ (T) 96.64 95.87 95.03
PQIndex (Milvus) 67.19 70.13 71.86
IVFPQIndex (Milvus) - - -
HNSWIndex (Milvus) 90.23 90.98 91.02
MSMARCO
Chroma 90.11 90.39 90.56
WRVQ (L) 84.52 83.65 83.02
WRVQ (T) 90.97 89.02 88.87
在这一测试中, PQIndex、IVFPQIndex 两种基于量化的索引与 WRVQ 的两种索引均将码本设置为 4 (码本数
量) × 256 (码本存储的向量数), 其余为默认设置. 其他几项索引均为默认设置进行比较.
首先, 我们观察 Alpaca 数据集上的检索效果, 在 Recall@1 和 Recall@5 指标上, 基于 WRVQ (T) 的效果均优
于其他搜索索引, 在 Recall@10 中, 也仅有 HNSW 算法获得了更优的召回率. 在表 2 中我们可以发现, 基于
WRVQ 的索引在 3 个召回率指标上的得分是接近的, 在搜索索引的近似搜索环节中, 我们使用 Top-k 算法对候选
结果进行重排序, 使得检索结果较为接近. 其次, 我们观察数据量更大的 MSMARCO 数据集的检索效果, 各种算法
的准确率获得了大幅度下降. 在 MSMARCO 数据集上的实验中我们并没有获得 IVFPQ 的实验结果, 这是因为在
实验环境制约下, IVFPQ 索引并不能完整地被载入内存. 相比之下, 以量化表征为主体的 WRVQ 虽然也采取了相
似的架构, 但仍然很好地完成了构建和检索, 并获得了较好的准确率, 在 Recall@5 指标上也得到了较好的表现.
我们进一步评测不同向量索引的构建效率与检索效率, 如表 3 所示.
表 3 不同向量索引方法的构建和检索效率评测
数据集 索引方法 构建效率 (s) 检索效率 (ms/query)
PQIndex (Milvus) 152 5.31
IVFPQIndex (Milvus) 4 0.27
HNSWIndex (Milvus) 42 0.003
Alpaca
Chroma 844 0.84
WRVQ (L) 5 0.29
WRVQ (T) 5 0.29
PQIndex (Milvus) 193 35.82
IVFPQIndex (Milvus) - -
HNSWIndex (Milvus) 102 0.003
MSMARCO
Chroma 12 507 20.6
WRVQ (L) 44 5.16
WRVQ (T) 44 5.16
首先, 我们对检索索引的构建效率进行评估, 对于 Alpaca 数据集, IVF 系列的索引构建效率占据了极大的优
势, 相比之下, PQIndex、HNSWIndex 以及 Chroma 使用了更长的时间构建索引. 在实验中我们发现, WRVQ 以及
Chroma 索引的构建时间与数据集大小更为相关, 这意味着随着数据集大小呈指数级增大, 索引的构建时间将会大
幅降低, 但与此同时, 这种索引对已有知识库的小范围更新更加高效. 与之相对地, 其他算法的构建效率与数据集
大小的相关性较小, 这意味着这些索引可能并不适合频繁更新知识库的场景. 在检索效率方面, HNSW 算法获得
了较大的优势, 但我们的工作相比于大多索引结构仍有一定的竞争力. 在检索效率上, 由于同样使用了倒排索引作
为主结构, 我们的方法与 IVF 系列的方法的时间复杂度相同, 因此在检索效率的表现上也相似.

