为何向量数据库对LLM很重要?

译文
数据库 其他数据库 人工智能
大语言模型(LLM)目前在人工智能界唱主角。有必要了解为何向量数据库对LLM很重要。

译者 | 布加迪

审校 | 重楼

浏览TwitterLinkedIn或新闻上的时间轴时,可能会看到一些关于聊天机器人、LLMGPT的内容。因为每周都有新的LLM发很多人都在谈论LLM

我们目前置身于一场人工智能革命,许多新应用都依赖于向量嵌入。不妨让我们更多地了解向量数据库以及为什么它们对LLM很重要。

向量数据库的定义

不妨先定义向量嵌入(Vector Embedding)。向量嵌入是一种数据表示,它携带语义信息,帮助人工智能系统更好地理解数据,并能够保持长期记忆。对于任何想学的新东西,最重要的部分是理解并记住主题。

嵌入是由人工智能模型生成的,比如大量特征的LLM,这使得它们的表示难以管理。嵌入表示数据的不同维度,以帮助AI模型理解不同的关系、模式和隐藏结构。

使用基于标量的传统数据库的向量嵌入是一个挑战,因为它无法处理或跟上数据的规模和复杂性。鉴于向量嵌入具有种种复杂性,不难想象它需要专门的数据库。这时候向量数据库就有了用武之地

向量数据库为向量嵌入的独特结构提供了经过优化的存储和查询功能。它们提供简单的搜索、高性能、可扩展性和数据检索,这一切都是通过比较值和查找彼此之间的相似性来实现的。

是不是听起来很棒有一种方法可以处理向量嵌入的复杂结构。不过向量数据库很难实现。

就在不久前,向量数据库只被那些不仅有能力开发而且有能力管理的科技巨头使用。向量数据库成本高昂,因此确保它们经过正确校准对于提供高性能非常重要。

向量数据库是如何工作的

现在我们对向量嵌入向量数据库有了一定的了解,不妨看看它是如何工作的。

不妨从一个处理ChatGPT等LLM的简单示例开始。该模型有大量的数据和大量的内容,它们为我们提供了ChatGPT应用程序。

不妨看看这些步骤。

1. 作为用户,您将往该应用程序输入查询。

2. 然后您的查询插入到嵌入模型中,该模型基于我们想要索引的内容创建向量嵌入。

3. 然后向量嵌入移动到向量数据库中

4. 向量数据库生成输出,并将其作为查询结果发给用户。

当用户继续进行查询时,它将通过相同的嵌入模型来创建嵌入,以查询该数据库中类似的向量嵌入。向量嵌入之间的相似性基于创建嵌入的原始内容。

想知道更多关于在向量数据库中的工作原理吗?不妨了解更多。

传统数据库以行和列的形式存储字符串数字等内容。从传统数据库查询时,我们查询的是与查询匹配的行。然而,向量数据库处理的是向量而不是字符串等内容向量数据库还运用相似度度量指标该指标用于帮助找到与查询最相似的向量。

向量数据库由不同的算法组成,这些算法都有助于进行近似最近邻(ANN搜索。这是通过散列、基于图的搜索或量化来完成的,它们被组装管道中,以检索所查询向量的邻居。

结果取决于它与查询的接近程度,因此考虑的主要因素是准确性和速度。如果查询输出慢,结果就比较准确。

向量数据库查询要经历三个主要阶段

1. 索引

如上例所述,一旦向量嵌入进入到向量数据,它就会使用各种算法将向量嵌入映射到数据结构,以便更快地进行搜索。

2. 查询

一旦完成了搜索,向量数据库将查询的向量与索引的向量进行比较,并运用相似性度量指标来查找最邻。

3. 后处理

根据您使用的向量数据库,向量数据库将对最后的最近邻进行后处理,以生成查询的最终输出另外还可能重新排列最近邻,将来引用

结语

随着人工智能的不断发展和新系统的每周发布,向量数据库的发展起到了重要作用。向量数据库使公司能够更有效地与精确的相似度搜索进行交互,为用户提供更好更快的输出。

所以下次ChatGPTGoogle Bard中输入查询时,想想它为的查询输出结果所经历的过程。

原文标题:What are Vector Databases and Why Are They Important for LLMs?,作者:Nisha Arya


责任编辑:华轩 来源: 51CTO
相关推荐

2016-11-16 13:51:46

数据库NoSQL大数据

2023-02-15 08:00:00

2020-09-08 12:48:19

数据分析图表互联网

2013-11-13 10:24:53

Xbox微软

2019-10-08 15:54:42

SQL数据库技术

2023-05-04 17:24:37

数据安全数据库

2023-11-27 00:58:00

数据库AI

2012-11-21 16:15:00

数据中心总体拥有成本选址

2022-05-16 14:33:52

区块链数据共享安全

2015-10-19 17:57:33

容器OpenStack微服务

2011-06-22 16:58:10

数据库命名

2024-08-12 17:05:21

2022-01-06 22:05:35

Linux物联网容器

2022-11-06 17:48:39

Linux系统命令

2023-09-18 16:46:07

2016-10-19 14:15:45

2021-01-28 23:35:37

Python开发数据

2022-03-12 10:00:49

零信任数据安全
点赞
收藏

51CTO技术栈公众号