什么是矢量数据库及其对LLM的重要性
2023年06月20日 由 Camellia 发表
882828
0
大型语言模型(LLM)目前限制了人工智能领域的发展。了解矢量数据库对LLM的重要性是很关键的。
在浏览Twitter、LinkedIn或新闻动态时,你可能会看到关于聊天机器人、LLM和GPT的内容。很多人都在谈论LLM,因为每周都有新的LLM发布。
我们当前正身处人工智能革命之中,了解到很多这些新应用都依赖于矢量嵌入是很重要的。因此让我们更多地了解一下矢量数据库以及它们对LLM的重要性。
什么是矢量数据库?
首先我们要定义矢量嵌入。矢量嵌入是一种数据表示方式,它携带语义信息,帮助AI系统更好地理解数据,并能够保持长期的记忆。对于你尝试学习的任何新事物来说,理解主题和记住它都是重要的元素。
嵌入是由AI模型生成的,例如包含大量特征的LLMs,这使得它们的表示方式很难管理。嵌入表示数据的不同维度,帮助AI模型理解不同的关系、模式和隐藏的结构。
使用传统基于标量的数据库进行向量嵌入是一种挑战,因为它无法处理或跟上数据的规模和复杂性。考虑到矢量嵌入所带来的所有复杂性,可以想象到它所需要的专门数据库。这就是矢量数据库的作用所在。
矢量数据库为矢量嵌入的独特结构提供了优化的存储和查询能力。它们通过比较值和查找彼此之间的相似性提供了方便的搜索、高性能、可扩展性和数据检索。
矢量数据库解决了矢量嵌入的复杂结构问题,但是实施矢量数据库非常困难。
直到现在,只有那些有能力开发和管理矢量数据库的科技巨头才使用了矢量数据库。矢量数据库价格昂贵,因此确保其正确调校是提供高性能的重要环节。
矢量数据库是如何工作的?
现在我们对矢量嵌入和数据库有了一定的了解,让我们来看看它是如何工作的。
让我们从一个处理LLM的简单示例开始,比如ChatGPT。该模型有大量的数据和内容,他们为我们提供了ChatGPT应用程序。因此,让我们来看看这些步骤。
1.作为用户,你将在应用程序中输入你的查询。
2.然后你的查询被插入到嵌入模型中,该模型根据我们想要索引的内容创建矢量嵌入。
3.然后,矢量嵌入移入到矢量数据库中,关于嵌入的内容是由它制成的。
4.矢量数据库产生输出,并将其作为一个查询结果送回给用户。
当用户继续进行查询时,它将通过相同的嵌入模型来创建嵌入,以查询该数据库的类似矢量嵌入。矢量嵌入之间的相似性是基于创建嵌入的原始内容。
让我们了解更多关于它如何在矢量数据库中工作的信息。
传统数据库通过在行和列中存储字符串、数字等来进行工作。在从传统数据库查询时,我们是在查询与我们的查询相匹配的行。然而,矢量数据库使用矢量而不是字符串等进行操作。矢量数据库还应用了相似度指标,用于帮助找到与查询最相似的矢量。
矢量数据库由多种算法组成,这些算法都有助于近似最近邻搜索(ANN)。这是通过散列、基于图的搜索或量化等方法来实现的,并将其组合成一个流程以检索查询矢量的邻居。
结果基于其与查询的接近程度或近似程度,因此主要考虑的要素是准确性和速度。如果查询输出速度较慢,则结果较准确。
矢量数据库查询经历的三个主要阶段如下:
1.索引
如上面的示例所述,一旦矢量嵌入进入矢量数据库,它就使用各种算法将矢量嵌入映射到数据结构中,以加快搜索速度。
2.查询
一旦进行搜索,矢量数据库将查询的矢量与索引矢量进行比较,并应用相似度指标来找到最近邻。
3.后处理
根据您使用的矢量数据库,矢量数据库将对最终的最近邻进行后处理,以生成查询的最终输出。还可能重新对最近邻进行排序,以供将来参考。
随着我们继续看到人工智能的发展,每周都有新的系统被发布,矢量数据库的增长正在发挥很大的作用。矢量数据库使公司能够更有效地与精确的相似性搜索互动,为用户提供更好更快的输出。
来源:https://www.kdnuggets.com/2023/06/vector-databases-important-llms.html