Skip to main content
QUICK REVIEW

[论文解读] Vector Search with OpenAI Embeddings: Lucene Is All You Need

Jimmy Lin, Ronak Pradeep|arXiv (Cornell University)|Aug 29, 2023
Advanced Text Analysis Techniques被引用 4
一句话总结

本文展示了,广泛部署的开源搜索库 Lucene 可以在无需专用向量存储的情况下,通过 OpenAI 嵌入向量有效支持向量搜索。通过利用 Lucene 内置的 HNSW 索引,作者在 MS MARCO 数据集上实现了具有竞争力的检索性能,挑战了当前认为现代 AI 驱动的搜索系统必须依赖专用向量数据库的普遍观点。

ABSTRACT

We provide a reproducible, end-to-end demonstration of vector search with OpenAI embeddings using Lucene on the popular MS MARCO passage ranking test collection. The main goal of our work is to challenge the prevailing narrative that a dedicated vector store is necessary to take advantage of recent advances in deep neural networks as applied to search. Quite the contrary, we show that hierarchical navigable small-world network (HNSW) indexes in Lucene are adequate to provide vector search capabilities in a standard bi-encoder architecture. This suggests that, from a simple cost-benefit analysis, there does not appear to be a compelling reason to introduce a dedicated vector store into a modern "AI stack" for search, since such applications have already received substantial investments in existing, widely deployed infrastructure.

研究动机与目标

  • 挑战当前认为专用向量存储对现代 AI 驱动搜索系统必不可少的普遍叙事。
  • 证明现有的基于 Lucene 的搜索基础设施可通过 HNSW 索引原生支持向量搜索。
  • 论证引入新向量存储所带来的成本与复杂性在 Lucene 已具备所需功能的情况下是不合理的。
  • 展示通过 OpenAI API 生成嵌入向量以及在 Lucene 中进行向量索引与搜索的过程简单直接且可复现。
  • 提供一个完整的、可复现的端到端流水线,使用 MS MARCO 文档排序数据集验证性能与可行性。

提出的方法

  • 使用 OpenAI 的 text-embedding-ada-002 模型为 MS MARCO 数据集中的所有文本段落生成密集向量表示。
  • 使用 Lucene 的分层可导航小世界(HNSW)索引对生成的嵌入向量进行索引,以实现高效的近似最近邻搜索。
  • 通过计算查询嵌入向量与索引中文档嵌入向量之间的点积相似度来执行检索。
  • 利用 Lucene 原生支持的向量搜索功能(自 2021 年 12 月发布的版本 9 起可用),避免自定义实现。
  • 在 Elasticsearch 和 OpenSearch 中复现整个流水线,确认该方法可在基于 Lucene 的系统间移植。
  • 公开所有嵌入向量与代码以确保可复现性,包括预先计算的 OpenAI 嵌入向量。

实验结果

研究问题

  • RQ1Lucene 的 HNSW 索引能力是否能有效支持使用 OpenAI 生成的密集嵌入向量进行向量搜索,且无需专用向量存储?
  • RQ2基于 Lucene 的系统在标准基准测试上的检索性能与最先进的向量数据库相比如何?
  • RQ3引入专用向量存储与扩展现有基于 Lucene 的搜索基础设施之间的成本-收益权衡如何?
  • RQ4嵌入向量 API 与 Lucene 原生向量搜索功能在多大程度上可以消除对专用向量数据库软件的需求?
  • RQ5是否可行仅使用开源 Lucene 组件与标准嵌入 API 构建一个生产就绪且可复现的向量搜索流水线?

主要发现

  • Lucene 的 HNSW 索引可为密集向量提供有效的近似最近邻搜索,在 MS MARCO 文档排序基准测试中表现具有竞争力。
  • 系统使用 OpenAI 嵌入向量实现了令人满意的检索效果,证明无需专用向量存储即可实现高质量的向量搜索。
  • Lucene 在向量搜索方面的性能目前仍慢于 Faiss 等专用系统,但随着 Lucene 生态系统的持续投入,性能差距预计将缩小。
  • 向基于 Lucene 的平台(如 Elasticsearch 和 OpenSearch)集成向量搜索的功能已开始推进,官方支持与生产就绪功能正在陆续发布。
  • pgvector 是 PostgreSQL 的向量搜索扩展,展示了类似的低复杂度替代方案,表明可仅以极小开销将向量搜索添加至现有关系型数据库。
  • 作者提供了一个完全可复现的流水线,包含可下载的 OpenAI 嵌入向量,使他人能够以极少配置快速复现并扩展其结果。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。