亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

向量數據庫的興起、衰落與未來:如何選擇一個長久使用的數據庫

特别要感谢Doug Turnbull、Daniel Svonava、Atita Arora、Aarne Talman、Saurabh Rai、Andre Zayarni、Leo Boytsov、Pat Lasserre和Bob van Luijt,他们阅读并对此文草稿提出了评论。

乔·克里斯蒂安·伯格姆最近写了一篇非常有影响力的X帖子:《向量数据库基础设施领域的兴起和衰落》。

我开玩笑地在评论里回复:

在行业层面记录发生了什么或正在发生的事情是完全合适的,但是普通用户应该怎么做呢?如何在这个高度碎片化的领域里选择一个向量数据库?这里假设你已经决定,为了你的产品或项目,你需要使用向量嵌入来表示这些对象(比如产品、文本、图像、视频、电子邮件等)之间的语义或其他关系。

首先,让我们快速过一遍向量数据库的崛起与衰落——再聊聊未来。

崛起

由AI程序Dall-E生成的《上升》

正如你所知,以自己的方式,我参与了创建这些流行词及其特点的活动,即对市场上三年前存在的参与者进行采访和归档。在幕后时,我还建议一家风险投资公司挑选(当时)两个主要竞争对手的向量数据库(Vector Database)。在许多论坛上,比如柏林Buzzwords(2021年和2022年),Haystack,伦敦IR Meetup,Open NLP Meetup,都曾讨论过向量搜索和向量数据库。我还在2021年推出了向量播客,作为一种探索这个新趋势的手段。自此之后,播客已经扩展到更多的话题,包括大语言模型、搜索、数据科学和神经搜索框架。最近,我在我们关于大语言模型和生成式AI的课程中讨论了向量搜索和向量数据库。

两年前我也尝试过给出如何选择向量数据库的建议:

我个人并没有觉得这像是在淘金,因为数据库对我来说只是一个工具:它要么能够满足你的使用场景,可定制、可扩展且性能强大,要么就不满足。我确实意识到这些技术背后的公司已经筹集资金来吸引人才,并随着时间的推移逐渐变得更好。但它始终只是一个工具,而且在为客户的项目和我自己进行的项目中,我发现有些向量数据库实际上并不能满足手头应用的基本需求。

在某些电商场景中,我遇到了一些向量数据库(Vector Database)缺少关键功能,如分面搜索的问题。这表明数据库功能必须与应用程序需求相匹配更为重要,特别是在需要高级筛选和分类功能的行业中。

坠落

秋季 (来自Dall-E)

到了2023年底,我注意到人们对向量搜索的兴趣发生了变化。我之前关于向量数据库的文章读者数量开始减少,这表明该主题可能不再像以前那样吸引人。这一趋势表明,虽然向量搜索仍然很重要,但讨论已经扩展到更广泛的创新领域,比如大语言模型、多模态搜索和集成的AI工作流程。

以下是最初读者的构成情况(你可以放心忽略那个峰值,因为它是由 Greg Kogan 在 Hacker News 上的成功转发引起。在刚开始时)。

2021年10月(该文章在Medium发布当月),阅读《并非所有向量数据库都是一样的》的读者

然后……什么也没发生。但也不是完全没有变化:在2021年和2022年,这篇博客每个月大约有1到1.5千次的浏览量。但从2023年1月起,访问量从2千激增到2023年4月的1.5万左右的最高点。

2023年4月,《并非所有向量数据库都一样》这篇文章的阅读量达到峰值——这距离它发表的时间已经过去了两年(!)

我感到非常惊讶的是,在帖子被 Google 发布后,许多用户会互相通过邮件分享这篇博客文章。这说明了邮件列表的影响力。

2023年4月的流量来源分析

我问了ChatGPT关于2023年4月发生了什么,它提醒了我三笔投资交易。

2023年4月,几家基于向量的数据库创业公司获得了大量资金支持,反映了对该技术日益增长的投资热情。

  • Pinecone:在B轮融资中筹集了10000万美元,使其估值达到75000万美元。此次投资旨在增强其矢量数据库能力,这对AI应用至关重要。TechCrunch
  • Weaviate:在B轮融资中获得5000万美元,以扩展其AI矢量数据库技术,以满足AI应用开发日益增长的需求。PR Newswire
  • Qdrant:获得750万美元的种子轮融资,致力于提供开源矢量相似性搜索解决方案,以支持AI应用。Qdrant。2024年1月,他们又筹集了2800万美元。TechCrunch

然后我发现,Chroma也在四月同月筹集了1800万美金。详情

那个月在向量数据库领域的筹款特别成功!这或许也解释了为什么我的博客文章突然又火了起来,因为它已经被浏览了超过121K次,实际阅读量超过了46K次。

我们来看看 Google 趋势数据(全球范围内过去五年的):

Google 的网络搜索趋势显示,“vector databases” 和 “vector db”(这些关键词在谷歌趋势中显示为相关)

我们可以注意到有两个明显的峰值:2023年4月和2024年1月/2月期间,这两个峰值都可以用提到的投资交易和随后的媒体报导来解释。

截至2023年12月,浏览量恢复到每月1000次浏览量,然而到了2024年,浏览量下降到了非常低的数字(每月几百次浏览量)。考虑到这篇博客文章的年龄,我对此也没有太大的期望,因为它也错过了许多新玩家及其市场定位,以及新的功能。

这也有趣地展示了产品定位的变化。一开始,所有产品都被称为“向量数据库”,而今天情况已经变得不再如此统一。例如,Weaviate 自称为“原生 AI 数据库”,而 Pinecone 则成为了一个“知识平台”。Milvus 似乎仍然坚持“高性能 向量 数据库”的定位,与 Qdrant 的“高性能 向量 搜索”类似,保持了相似的风格。我没有检查所有其他参与者的情况,但你可以在这里找到一个相当详尽的对比列表https://superlinked.com/vector-db-comparison

正如你所见,市场上部分(并非所有参与者)不再像以前那样重视“向量数据库”的概念,毕竟谁在乎呢?许多现有的SQL和NoSQL数据库已经实现了向量搜索功能。正如Jo在他的博客文章中所说,数据库范式的界限已经模糊,在很多方面,向量数据类型已成为一种便利的附加功能。我对此表示怀疑,认为这并不意味着向量数据库基础设施类别的终结(因为数据库及相关公司仍然存在并保持繁荣),但如果你有不同的看法,欢迎在评论区留言交流。

在这里我想强调一下,并不是向量本身能让你的搜索或应用程序变得更智能,而是关键在于了解如何预处理数据、如何构建你的数据模型、如何分块处理文本模态(例如,如果你在构建检索增强生成),选择哪种嵌入模型,选择哪个大语言模型来进行生成,如何应对过多嵌入导致的饱和问题,如何最小化幻觉和不准确性,如何在应用程序逻辑中添加防护措施,例如防止添加错误的时间标签(比如,防止它为2024年的事件添加2025年的标签),如何扩展应用,如何实现成本效益。或许,何时应该选择用带同义词的关键词搜索来替代嵌入,并仅用嵌入进行更便宜的重排序步骤。

向量数据库入门指南

Dall-E生成的未来

好的,但是这使得用户处于一个相当艰难的境地。他们看到市场上有那么多的向量搜索引擎供应商,感到困惑不已:我们该选择哪一个,为什么?所有的供应商似乎提供的功能都大同小异。

在这里,我根据在研究和生产环境中使用向量检索的经验,提供一个更新的指南。

如果非得选择的话,我会这样选:为一个项目选择一个数据库/向量检索。

  1. 尝试使用FAISS。这不是一个数据库,而是一个搜索库,可以创建10亿个以上的向量索引,并扩展到10亿个以上的向量。我们与Aarne Talman在一个包含1000万本书的项目中使用了它,使用起来非常方便。FAISS的唯一限制是:它不支持过滤器(例如,找到国家为美国的K个最相似向量,或其他类似的过滤条件)。这可能是一个重大限制。当然,你可以采用后过滤的方法,但这可能会因为第一次检索时获取了不符合过滤条件的数据而导致延迟成本很高。
  2. 如果你需要支持细粒度、可控的关键词搜索和向量搜索,可以考虑基于Lucene构建的向量数据库,例如OpenSearchElasticsearchApache Solr。这些数据库提供了强大的多语言关键词搜索能力,并利用了Lucene25年的实战性能、可扩展性和可定制性。这种组合确保了混合搜索场景下的准确性和灵活性。
    在这样的向量数据库系统中,如果你正在处理需要像分面、排序、分组等功能的经典电子商务场景,使用基于Lucene的向量数据库就更有意义了。例如,在这样的系统中搜索“camera”不仅可以提供相关的搜索结果,还会显示如“105 Kodak”、“53 Nikon”、“32 Panasonic”等分面计数,丰富了用户体验。
    当然,也有例外。例如,Qdrant支持分面,这是最近从Andre Zayarni那里了解到的。这在评估适合你需求的数据库时是一个重要的考虑因素。
  3. 如果你需要一些高级功能,比如延迟交互模型的支持,那么选择支持这种功能的向量数据库,例如QdrantVespa
  4. 另一个重要问题是,你的产品需要多低的延迟。如果有非常严格的延迟要求和高每秒查询量(QPS),则应该选择低延迟的数据库,例如GSI APU(有Elasticsearch/OpenSearch插件,付费)、Vespa或Hyperspace(通过FPGA预编译你的搜索逻辑以减少延迟和成本)。我听说一名CTO表示,没有开源的向量数据库能够扩展到他们的工作量。因此,选择时要慎重,朋友们。
  5. 最后:你是否准备好为配置和使用开源数据库分配工程师的时间(这可能需要数年才能掌握)?还是更容易花钱使用云数据库(例如Azure中的CosmosDB或GCP中的Vertex AI)或某种API类似的数据库(例如PineconeWeaviate CloudQdrant CloudZilliz CloudVespa Cloud等)?这被称为“机会成本”。这会占用你的团队在构建和发布功能上的注意力,转而投入到数据库的搭建和维护上。尽管如此,这也可能是一项战略性选择。
社区条目

由Dall-E生成的社区内容

我邀请您,读者,分享您选择向量数据库的方法。请在评论区或您在阅读本文的任何地方留言,我承诺会审阅并将其添加到下面的列表里。

这里可以找到你选择的向量数据库的方法。

  1. [Matt Collins] 除了完整的向量数据库或向量搜索框架之外,社区更喜欢使用扩展。一个例子就是 pgvector,它为 Postgres 增加了向量检索的功能。
结尾的话:未来的展望

我一直默默地等待着神经搜索框架的崛起(请阅读该博客文章以获取更多详细信息和我对向量搜索金字塔的提案)。在我的观点中,它们将推动一切向前发展:向量数据库、RAG、混合搜索、评估方法和模型微调等,所有这些都将汇聚成一个有共同目的的整体,从而解决特定的客户挑战。换句话说,用户将不再需要面对技术选择的困难,比如选择数据库这样的构建块,而是会思考他们想要构建的是什么。思考任务的抽象而不是解决方案的组件,这样你就能更清楚地看到如何实现更高目标。当然,一个好的框架还应该为你提供方法,以便根据需要替换任何组件或算法组合,从而最大化你所关心的指标。有人已经构建过这样的框架吗?或者正在构建中吗?请在评论中告诉我!

也许答案就在这条新的有趣的方向上。这条方向称为“复合AI系统”(Compound AI Systems,点击此处了解更多信息)。感谢Pat Lasserre与我分享。根据该博文的内容:

显示深度神经网络(比如大型语言模型,即LLM)与复合系统架构之间差异的图片,其中网络仅是其中一个组成部分,可以被多次调用或自身调用其他工具,在不同上下文或子任务中调用其他工具。

希望你喜欢这篇博客,可以在评论里说说你的看法。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消