传统搜索和向量搜索有什么区别?
上述优点与传统搜索方法和向量搜索方法之间的一些技术差异有重叠。在本节中,我们将研究这些不同方法之间真正重要的是什么。
语境与语义搜索
许多不同的搜索相关系统都使用了优化的关键字或短语搜索来查找精确的文本匹配或查找最常使用关键字的文档。挑战在于,这些可能缺乏背景和灵活性。例如,对“树”的文本搜索可能永远不会将数据与实际的树种名称匹配,即使它是高度相关的。这种上下文匹配是一种语义搜索-语境和词与词之间的关系很重要。
相似度
然而,向量搜索不仅仅是关于语义关系。例如,在基于文本的应用程序中,它不再仅仅使用单个单词和短语,而是通过输入单词、句子、段落或更多内容来查找类似的匹配文档——寻找在非常深的层次上匹配语义和上下文的文本示例。
搜索相似性这一方法也适用于图像。如果您要编写一个应用程序来比较两个图像,您会怎么做?如果您只是将其中一个像素与另一个像素中的每个像素进行比较,您只会找到在颜色、分辨率、编码等方面完全相同的图像。但是,如果你能分析你的图像,并为内容生成一个向量嵌入,你就可以比较它们并找到匹配。应用于图像示例时,向量嵌入描述了每个图像中的内容,然后让您比较它们——这是一种更强大的比较和查找它们之间“贴近度(nearness)”的方法。
您可以了解更多关于向量嵌入的内容,这在我们的另一篇博文中有详细介绍,或者继续阅读本文以获得一个基本的概述。
向量搜索的工作原理
向量搜索创建并比较向量嵌入。它的工作原理是,数据可以转换成数字向量表示(嵌入),并与其他以类似数字表示编目的数据进行比较(通过使用LLMs)。
它将不同类型的数字内容(文本、音频、视频等。)编目成神经网络理解的通用语言。查看我们的生成式人工智能指南,该篇讨论生成式对抗网络(GANs),以了解更多关于神经网络方法的信息。
由LLMs创建的模型在一定的数据上训练,并保存这些数据的向量表示。例如,维基百科的每一段都可以作为向量进行总结和索引。然后,用户可以将自己数据的向量(通常通过嵌入过程创建)提交给向量搜索系统,以找到相似的段落。
这些步骤背后有很多繁重的工作,但这是本质。
构建向量搜索应用程序的三个步骤
构建或使用向量搜索应用程序有三个阶段。其中包括:
- 为自定义数据或查询请求创建嵌入
- 将结果与在大型语言模型(LLMs)上训练的向量引擎进行比较,以在模型的数据语料库中找到最佳语义匹配的数据
- 将LLM结果与您的自定义应用程序数据或数据库进行比较,以找到更多相关匹配项
向量搜索如何找到匹配?
向量搜索结合了三个概念:用户生成的数据(请求),LLM语料库这包括表示数据源的模型(模型)和数据库中的自定义数据(自定义匹配)。向量搜索允许这三个因素一起工作。
向量搜索能支持什么?
向量搜索将在任何类型的数据之间找到相似性,只要它可以创建嵌入,并将它们与以相同方式创建的其他数据(来自相同的LLM)进行比较。
根据所使用的LLM,结果可能会因训练LLM的源数据不同而有很大差异。例如,如果你想搜索类似的图片,但使用只包括古典文学的LLM,你会得到不可用的响应(尽管如果它们是古典文学作家的图片,可能会有一些希望)。
同样,如果你正在建立一个法律案件,而你的LLM只接受过Reddit数据的训练,你可能就会面临大麻烦了。
这就是为什么确保支持向量搜索体验的LLM必须针对正确的用例和您需要的信息是重要的。大型的通用大语言模型会有更多的背景知识,但针对你所在行业的LLM将为你的业务提供更准确和细致入微的信息。
向量搜索是如何大规模进行的
任何执行向量搜索的企业系统在投入生产时都必须能够扩展(请参阅我们的云数据复制指南)。这使得向量搜索系统的复制和分片索引功能尤其关键。
当系统需要搜索索引以找到匹配项时,可以将工作负载分布在多个节点上。
同样,创建新的嵌入并对其进行索引也将受益于资源隔离(resource isolation),因此其他应用程序功能不会受到影响。资源隔离意味着与向量搜索相关的函数有自己的内存、CPU和存储资源。
在数据库语境中,必须为所有服务适当分配资源,这样服务才不会相互竞争。例如,除了向量搜索服务之外,表格查询、实时分析、日志记录和数据存储服务都需要自己的运行空间。
用于LLM访问的分布式API也很重要。由于许多其他服务可能需要嵌入,产生嵌入的API和系统也必须能够随着流量的增长而增长。对于基于云的LLM服务,在开始原型制作之前,请确保他们的服务水平协议能够满足您的生产需求。
外部服务的使用通常可以快速有效地扩大规模,但随着规模的扩大,将需要额外的资金。在评估选项时,确保清楚地理解滑动价格尺度。
向量搜索的未来
自适应应用程序开发将由混合搜索赋能。单一的搜索或查询方法将不再足以满足未来所需的灵活性。混合搜索功能意味着您可以使用向量搜索来获得语义匹配,但可以使用基本的SQL谓词缩小结果范围,甚至可以使用空间索引进行地理查询。
将这些结合到一个单一的混合搜索体验中,将使开发人员更容易从他们的应用程序中获得最大的灵活性。这将意味着将向量搜索功能与移动设备数据库集成链接,包括云中和内部。
(机器翻译,轻度译后编辑,仅供参考)
编辑:胡跃