re:Invent 2023 | 在 OpenSearch Service 中使用向量功能改进搜索

关键字: [Amazon Web Services re:Invent 2023, OpenSearch Service, Vector Capabilities In Opensearch Service, Opensearch Vector Database, Semantic Search With Vector Embeddings, Integrating Opensearch And Large Language Models, Improving Search Relevance With Vectors]

本文字数: 1700, 阅读完需: 8 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1sC4y1S7uq

导读

搜索引擎为用户提供了从其目标到符合这些目标的信息的路径。当检索到的项目符合用户的意图时,这些项目就被认为是相关的。检索相关结果包括目录中数据的存在及其分析方式、文本和向量表示、排名函数以及其他操作。在本环节中,您将了解 Intuit 如何使用 Amazon OpenSearch Service 作为向量数据库,并了解 OpenSearch Service 如何帮助用户获取最相关的结果。

演讲精华

以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

约翰·汉德勒在一场有超过200名观众的演讲中,介绍了关于如何在OpenSearch服务中利用向量功能提升搜索相关性的主题。他强调,像GPT-3这样的大型语言模型(LLM)近年来因能生成类似人类的文本而受到了广泛关注,但他同时指出,LLM与OpenSearch等搜索引擎之间存在差异。尽管OpenSearch本身并非LLM,但它可以与LLM集成,以提供更强大的语义搜索功能。

约翰简要介绍了OpenSearch的背景,解释说这是来自Elasticsearch和Kibana的开源搜索引擎。OpenSearch具有两种主要功能——全文搜索,允许查询索引数据,以及分析,用于实时监控日志数据的可视化和仪表板。该项目已经得到了广泛应用,下载量超过3亿次,合作伙伴超过70个。

OpenSearch具备一项关键能力,即使用K-最近邻(KNN)的向量相似性搜索来提高搜索相关性。KNN和神经插件支持诸如Faiss和NMSLib库等技术,以实现高效的近似KNN搜索。此外,还使用HNSW和IVF等算法在高维空间中找到相似的向量,最高可达1536个维度。神经插件简化了使用大型语言模型从文本生成向量嵌入,并将这些向量在OpenSearch中索引以进行语义搜索的过程。

约翰解释了OpenSearch如何能与外部AI服务集成,例如SageMayer、[Bedrock](https://aws.amazon.com/cn/bedrock/guardrails/ ?&trk=42570719-fa2a-4df9-893d-40b6ac004272&sc_channel=el)、OpenAI和Cohere,以从文本生成向量嵌入。然后,该服务将与原始文档一起将这些向量索引,以实现语义搜索。这使得基于其底层语义和概念而非仅仅直接匹配关键词来匹配文本块成为可能。

约翰进一步描述了OpenSearch在高级别的运作方式。它基于REST API,并使用JSON文档。用户将通过发送JSON文档到OpenSearch并将其索引以便可搜索。索引包括shard,它们是分布在节点上的数据的分区。典型的配置是每个节点使用1个主shard和1个副本shard,以提高冗余性。通过这种冗余性,shard提高了性能和可用性。

约翰深入研究OpenSearch的索引和搜索过程。在查询时,输入文本同样会经历分析和标准化步骤,以便能够在倒排索引中找到相匹配的文档。这使得在查询时能够快速找到与查询词汇匹配的文档。

然而,基于文本的匹配存在局限性,因为它主要依赖于文档和查询中是否存在相同的关键词。通常,查询背后的意图需要通过匹配的关键词来明确表达。而大型语言模型产生的向量嵌入可以帮助捕捉潜在语义,从而实现所谓的“语义搜索”。

向量是通过将文本块输入大型语言模型生成的,这些模型将语义和概念编码到向量中,通常是数百或数千维度的浮点值数组。尽管模型的内部工作原理不透明,但其产生的向量允许基于潜在的语义而非仅仅表面形式的关键词来匹配文本块。

这种结合使得OpenSearch可以实现所谓的“语义搜索”,即找到与查询背后的意图相关的文档,即使它们不包含确切的查询关键词。约翰分享了一些学术基准测试结果,表明在使用联合文本和向量评分的情况下,搜索相关性相比仅使用BM25文本评分提高了10-17%。

此外,约翰还简要介绍了一种名为稀疏向量的技术,它可以减少使用来自大型语言模型的密集向量的计算开销。稀疏向量包含几千个术语及其关联权重,而不是数十万的浮点值。这使得计算效率得到提升,同时在基准测试中仍能实现搜索相关性的提高,达到了10-17.5%。

接下来,来自Intuit的Acho Kumar分享了他们如何利用OpenSearch的向量搜索功能来支持其内部生成的AI平台。作为全球范围内众多消费者、小型企业和自雇人士的服务提供商,Intuit提供了诸如Turbotax、Quickbooks和Mint等产品。为了成为拥有数百万客户数据的"AI驱动的专业平台",他们在AI和数据基础设施方面进行了大量投资。

他们通过OpenSearch的向量搜索实现了一个重要用例:生成式问题回答。主题文档被分割成多个部分,并通过Amazon SageMaker Studio嵌入并索引到OpenSearch中。在查询时,使用相同的模型将问题嵌入并进行KNN搜索,以便从包含数百万文档的知识库中找到最相关的答案。

此外,他们还将OpenSearch用于欺诈检测的实体识别、产品匹配和文档相似度搜索。Intuit存储了数百万客户的文档,需要确定它们之间的相似性,以便执行去重等操作。

他们认为OpenSearch的混合搜索功能非常有用,可以将文本匹配与语义向量搜索结合起来。然而,文本和向量评分之间可能存在评分差异,因此有效地结合它们是一个持续调整的领域。他们还希望支持更高的向量维度,因为一些模型可以产生15,000个或更多维度的非常大嵌入。

总的来说,Intuit在OpenSearch的托管服务功能(如自动监控、备份和无缝版本升级)中看到了巨大的价值。这使他们能够专注于应用逻辑而非搜索基础设施,从而迅速推出基于AI的应用程序,以提供更好的客户体验。目前,已有7个系统在生产中运行,另有46个正在开发中。

随后,亚马逊云科技的专业架构师Arno Govinda Raju展示了Intuit在使用OpenSearch的实际案例中的运作方式。他展示了如何在OpenSearch中创建一个AI连接器,以安全地与外部向量嵌入模型集成,例如一个具有1536维度的OpenAI Ada 002模型。连接器负责处理对OpenSearch中索引的文档的验证和向量化。

在亚马逊的秘密管理器中存储外部模型证书,并在连接器中使用其ARN进行引用。首先,调用OpenSearch API以创建一个连接器并获取模型ID。接下来,将该已注册的模型部署到内存中以供嵌入式使用。然后将模型ID添加到自动为索引文档生成的嵌入神经管道中。使用该管道,将现有的50,000个文档文本数据集索引到新的用于语义搜索的向量化索引中。最后,通过OpenAI模型传递文本查询以生成嵌入向量,然后针对向量化索引执行KNN搜索。这些步骤展示了OpenSearch如何简化语义搜索的工作流程,使用户能够专注于数据而非搜索机制。此外,Arno还强调了OpenSearch在生产语义搜索工作负载中的一些关键优势,例如集成多个向量嵌入模型的能力,以及作为分布式搜索平台的可扩展性,能够处理每天80亿次查询。同时,它还具备安全功能,如基于角色的访问控制和加密。此外,OpenSearch还提供了诸如监控、报警、备份等运维工具。总的来说,John总结说,OpenSearch不仅提供了完整的全文搜索能力,还通过语义向量搜索增强了相关性。neural插件和AI连接器抽象了生成和索引vectors的复杂性。他向观众推荐了一些学习OpenSearch语义搜索功能的资源,包括博客、研讨会、基准测试等。演示表明,OpenSearch使得用户可以利用亚马逊云科技的可靠托管基础设施和服务,构建强大的语义搜索应用,而无需ML专业知识。

下面是一些演讲现场的精彩瞬间:

作为知识库的开放搜索,将真实信息输入到诸如LLM之类的生成性AI系统之中,旨在减少幻觉并提高准确性。

领导者们强调,在标准化测试中,采用BM25这种基于文本的相关性方法表现出色,即便与向量模型相比亦然。

领导者们解释道,大型语言模型如GPT可以通过将文本转化为向量嵌入来捕捉语义意义。

领导者们进一步阐述了亚马逊是如何运用高级的近似KNN和倒排文件等算法,高效地在高维向量空间的文本嵌入中进行搜索的。

最后,领导者们指出,在OpenSearch中,稀疏向量的应用可以在占用较少内存的情况下提高相关性评分。

总结

约翰·汉德勒来自亚马逊云科技,他在关于如何利用OpenSearch服务的向量功能改进搜索的讲座中分享了丰富的信息。他指出,大语言模型的向量嵌入能够捕捉文本背后的语义和上下文,从而使得搜索结果相较于传统文本匹配更为相关。

讲座的主要观点包括:

  1. OpenSearch服务支持通过连接诸如OpenAI和Amazon SageMaker Studio等服务来集成各种大型语言模型的向量嵌入。神经插件简化了引入文本数据、生成向量和运行向量查询的过程。

  2. 向量相似性搜索的工作原理是将文本编码为表示语义的高维向量。接着,如HNSW等算法会找到与用户查询相关的相关文档的向量邻居。

  3. 基准测试表明,使用OpenSearch的语义搜索相较于仅基于文本的搜索相关性提高了14-15%。OpenSearch支持混合查询,因此向量搜索是文本搜索的有力补充。

总的来说,OpenSearch服务的向量搜索功能使得构建借助大型语言模型提供更相关结果的语义搜索应用程序成为可能。这为提供理解意义和上下文的搜索体验提供了一个强大的平台。

演讲原文

https://blog.csdn.net/just2gooo/article/details/135090355

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键查看 re:Invent 2023 所有热门发布

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值