Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型

news2024/11/20 13:43:41

作者:Aris Papadopoulos, Gilad Gal

寻找意义,而不仅仅是文字

我们很高兴地与大家分享,在 8.8 中,Elastic ® 提供开箱即用的语义搜索。语义搜索旨在根据文本的意图或含义进行搜索,而不是词汇匹配或关键字查询。与传统的基于词汇术语的搜索相比,这是质的飞跃,提供了突破性的相关性。它在概念层面捕获单词之间的关系,理解上下文并根据含义显示相关结果,而不是简单地查询术语。 

为了消除人工智能搜索的障碍,我们在 8.8 中引入了一种新的语义搜索模型(目前为技术预览版),该模型由 Elastic 训练和优化。使用它可以立即利用 Elastic 中原生的向量搜索和混合搜索的卓越语义相关性。

引入 Elastic Learned Sparse Encoder,一种用于语义搜索的新文本扩展模型

Elastic 在向量搜索和 AI 方面投入了三年时间,并在 8.0 中发布了对近似最近邻搜索的支持(在 Lucene 中使用 HNSW)。认识到实现语义搜索的工具正在迅速发展,我们以编程方式和通过 UI 提供了第三方模型部署和管理。借助组合功能,您可以载入向量模型(embedding)并通过熟悉的,已被增强的 search API 执行向量搜索。

假设一名员工正在寻找领导力课程。借助 Elastic Enterprise Search 中的向量搜索,我们可以更好地了解用户的意图并返回为其行业、组织和角色量身定制的课程。


- Jon Ducrou,Go1 工程高级副总裁


使用向量搜索的效果令人惊叹。但要实现这些目标,组织需要远远超出典型软件产品化的大量专业知识和努力。这包括在搜索将要执行的领域内对足够数量的查询进行注释(通常在数万个的数量级),在领域内重新训练机器学习(所谓的 “embedding”)模型以实现域适应,并维护模型以防止漂移。同时,出于隐私、支持、竞争或许可方面的考虑,您可能不想依赖第三方模型。因此,AI 驱动的搜索仍然超出了大多数用户的能力范围。 

考虑到这一点,我们在 8.8 中引入了 Elastic Learned Sparse Encoder——技术预览版。您可以通过在 Elastic UI 中单击一个按钮来开始使用这个新的检索模型,适用于各种各样的用例,而且您不需要任何机器学习专业知识或部署工作。

机器学习训练模型管理

开箱即用的高级语义搜索

Elastic 的 Learned Sparse Encoder 使用文本扩展 为简单的搜索查询注入含义并提高相关性。它捕捉了英语单词之间的语义关系,并基于这些关系扩展搜索查询,包括查询中不存在的相关术语。这比使用词汇评分 (BM25) 添加同义词更强大,因为它使用这种更深层次的语言尺度知识来优化相关性。不仅如此,上下文也被考虑在内,有助于消除在不同句子中可能有不同解释的单词的歧义。 

因此,该模型有助于缓解词汇不匹配问题:即使文档中不存在被查询术语,Elastic Learned Sparse Encoder 也会返回相关文档(如果存在)。

根据我们的比较,这种新颖的检索模型在 12 个重要的相关性基准测试中有 11 个优于词汇搜索,而结合两者的混合搜索在所有 12 个相关性基准中都表现最好。换句话说,你可以在不同的领域中获得很好的性能,而在某些情况下,与词汇搜索的结合可以获得最佳的性能。如果你已经花了精力在你的领域中对词汇搜索进行了微调,你可以从混合评分中获得额外的提升!


为什么选择 Elastic 的 Learned Sparse Encoder?

最重要的是,您可以开箱即用地使用这个新模型,无需域适应——我们将在下面详细解释;它是一个稀疏向量模型,在领域外或零样本中表现良好。让我们来看看这些特性如何直接转化为您的搜索应用程序的价值:

  • 我们的模型的训练和架构方式使您不需要对其进行数据微调。作为一个跨领域模型,它在没有应用特定领域重新训练的情况下,优于密集向量模型。换句话说,只需在 UI 上点击 “deploy”,就可以使用最先进的语义搜索与您的数据一起使用。
  • 我们的模型在相同基准测试下优于 SPLADE(稀疏词汇和扩展模型),这是之前的跨领域、稀疏向量、文本扩展冠军。
  • 此外,您不必担心许可证、支持、竞争力的连续性以及超出 Elastic 许可证层次的可扩展性。例如,SPLADE 仅适用于非商业用途。我们的模型可在我们的 Platinum 订阅层次中使用。
  • 作为稀疏向量表示,它使用 Elasticsearch、基于 Lucene 的倒排索引。这意味着可以利用数十年的优化来提供最佳性能。因此,Elastic 提供了市场上最强大和最轻松的混合搜索解决方案之一。
  • 出于同样的原因,它既更高效,也更可解释。与密集表示相比,激活的维度更少,并且它们通常直接映射到单词,而不是密集表示的不透明性。在词汇不匹配的情况下,这将清楚地显示查询中不存在的哪些词触发了结果。


让我们来谈谈性能和 Elasticsearch 作为向量数据库的问题

保留数万个维度的向量并在它们上执行向量相似度可能听起来像是一个规模和延迟的挑战。然而,稀疏向量压缩效果非常好,而 Elasticsearch(和 Lucene)倒排索引是这种用例的强大技术方法。此外,对于 Elastic 来说,向量相似度是一种计算强度较小的操作,因为 Elasticsearch 隐藏了一些巧妙的倒排索引技巧。总体而言,使用我们的稀疏检索模型时,查询性能和索引大小都非常出色,并且与典型的密集向量索引相比,需要更少的资源。

话虽如此,无论平台如何,向量搜索(稀疏或密集)与词汇搜索相比,在内存占用和时间复杂度方面都具有固有的更大占用。Elastic 作为向量数据库进行了优化,并在所有层面(数据结构和算法)提供了所有可能的优势。尽管与词法搜索相比,学习稀疏检索可能需要更多资源,但根据您的应用程序和数据,它提供的增强功能很值得投资。

未来:市场上最强大的混合搜索

在第一个技术预览版中,我们将输入的长度限制为 512 个标记(tokens),这大约是每个字段中通过推理管道的前 300-400 个单词。这对于许多用例来说已经足够了,我们正在研究在未来版本中处理更长文档的方法。为了成功进行早期评估,我们建议使用大部分信息存储在前 300-400 个单词中的文档。 

在评估了不同的相关性模型之后,我们发现最好的结果来自于不同排名方法的集合。您可以通过我们简化的搜索 API,将向量搜索(使用或不使用新的检索模型)与 Elastic 的词汇搜索相结合。将每种方法的归一化分数线性组合可以提供出色的结果。 

但是,我们想要突破界限,通过消除基于分数、数据、查询等的微调的任何搜索科学努力,提供市场上最强大的混合搜索功能。为此,我们在 8.8 中发布了 Reciprocal Rank Fusion(RRF),最初可与 Elastic 中的第三方模型一起使用,并且我们正在努力通过 RRF 将我们的稀疏检索模型和词汇搜索集成到后续版本中。这样,您将能够利用 Elastic 的创新混合搜索架构,通过您熟悉并信任多年成熟的 Elastic 搜索 API,结合语义、词汇和多媒体进行混合搜索。

最后,在努力实现  GA 生产就绪版本的过程中,我们正在探索处理长文档和整体优化的策略,以进一步提高性能。

立即开始使用 Elastic 的人工智能搜索

要试用 Elastic Learned Sparse Encoder,请前往经过训练的模型视图中的机器学习或企业搜索,只需单击一个按钮,即可开始使用语义相关的术语丰富您摄取的数据。如果您还没有访问 Elastic 的权限,您可以在此处请求访问所需的高级试用版。

要更深入地了解新模型的架构和训练,请阅读我们机器学习专家的博客。

要了解如何使用该模型进行语义搜索和混合搜索,请访问我们的 API 和需求文档。

本博文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/568724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为云服务器租用费用及CPU性能(1核2G/2核4G/4核8G)

华为云HECS云服务器即云耀云服务器,类似于阿里云和腾讯云的轻量应用服务器,HECS云服务器1核2G配置39.02元一年、2核4G配置99元一年、4核8G配置69.94元3个月,华为云百科分享华为云HECS云服务器租用费用及CPU性能详解: 目录 华为云…

图解LeetCode链表题

💐文章导读 本篇文章主要详细的用图解的方式为大家讲解了简单程度的链表题,如果题中有错误的地方,还麻烦您在评论区指出,你的意见就是我最大的进步!!! 💐专栏导读 🤴作者…

什么是数字化?企业为什么要数字化转型

一、什么是数字化? 什么是数字化?在我理解,数字化是一个基于时代科技发展所产生的概念,首先它是一个工具,在企业的经营发展中将信息技术融入到传统的企业模式中,起到了转型的作用。 其次数字化转型是企业…

国产易灵思FPGA的FIFO应用详解

一、软件设置界面 FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写。与 ROM 或 RAM 的按地址读写方式不同, FIFO 的读写遵循“先进先出”的原则,即数据按顺…

关于this->moveToThread(this)——QtWidgets

前言 官方关于QThread的用法有两种:一是子类QThread,并重新实现run;二是使用QObject::MoveToThread,通过信号槽在不同的线程内通信。 最近看到了一种写法,就是将两者融合就是子类QThread,然后this->mo…

【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间

效果 可以选择起始时间和终止时间,并显示。 时间选择器放在van-cell的value插槽中。 用的库: https://vant-contrib.gitee.io/vant-weapp/#/home https://dayjs.fenxianglu.cn/category/ 用的组件:Cell单元格、DatetimePicker时间选择、Pop…

【Unity编辑器扩展】(二)PSD转UGUI Prefab, 图层解析和碎图导出

书接上回:【Unity编辑器扩展】(一)PSD转UGUI Prefab, Aspose.PSD和Harmony库的使用_TopGames的博客-CSDN博客 工具使用预览: 工具目标: 1. 实现将psd解析生成为UI预制体,并导出UI图片。需支持UGUI和TextMeshProGUI, 如Button、To…

文心一言 VS 讯飞星火 VS chatgpt (22)-- 算法导论4.2 2题

二、为Strassen算法编写伪代码。 文心一言: Strassen算法是一种用于矩阵乘法的算法,它的核心思想是通过不断将原始矩阵分割成较小的子矩阵来实现高效的乘法运算。以下是Strassen算法的伪代码: function Strassen(A, B): if A[0][0] 0 or…

优化|数学软件是如何求解线性方程Ax=b ?

编者按 对于大家来说,我们从学会多项式开始就得和求解矩阵方程打交道。大学之前靠手算,到了大学阶段我们学会了使用科学计算软件,然后只需要输入简单的一行指令 x A \ b x A \backslash b xA\b,就可以轻轻松松求解方程组 A x …

html实现酷炫科技风大屏风格模板(附源码)

文章目录 1.设计来源1.1 大屏主界面1.2 弹框界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/130870963 html实现酷炫科技风大屏风格模板源码 ,html大屏源码…

docker容器postgres数据导出命令及还原数据命令

参考资料 docker控制postgers容器导入导出数据_docker 导出数据库_奔跑的痕迹的博客-CSDN博客 --进入容器 docker exec -it 容器名称或容器id /bin/bash 以下命令是在进入容器执行的 --导出单张表的备份语句(copy模式) pg_dump -h 127.0.0.1 -U …

授权管理再工控安全中起到什么作用?

随着计算机技术、通信技术和控制技术的发展,工业自动化控制已经开始向网络化方向发展,从最初的CCS(计算机集中控制系统),到第二代的DCS(分散控制系统),发展到现在流行的FCS&#xff…

力扣 1775.通过最少操作次数使数的和相等、1014.最佳观光组合、33.搜索旋转排序数组

算法总结 最近作者在坚持每日一道中等难度算法题,也是作者考核时经常会碰到的难度,由于经常是到22:30才意识到自己并没有写算法,因此都是打开LeetCode网站随机一题,并未系统性的去学习,这一点值得反思。在做题过程中经…

航天科技AIRIOT物联会【智慧物联主题沙龙】在沈阳举办

2023年5月24日,由航天科技控股集团股份有限公司(简称“航天科技”)智慧物联事业部主办的《AIRIOT物联会-智慧物联主题分享沙龙》在沈阳举办,此次会议邀请到来自光伏、燃气、能源、水务、园区、工厂等行业的众多企业代表参加&#…

0起步用GPT+知乎赚了点小钱,人人可复制

大家好,我是五竹。 前段时间分享了一篇关于用ChatGPT赚点小钱的实战:TMD,被人偷窥了一个月!结果上周末的时候在知乎追了一个关于Claude的热点,发布了一篇注册Claude的文章,结果小小的“爆了”一下&#xf…

Qt文件系统源码分析—第五篇QTemporaryFile

深度 本文主要分析Windows平台,Mac、Linux暂不涉及 本文只分析到Win32 API/Windows Com组件/STL库函数层次,再下层代码不做探究 本文QT版本5.15.2 类关系图 QTemporaryFile继承QFile QFile、QSaveFile继承QFileDevice QFileDevice继承QIODevice Q…

如何查看一个 docker 镜像有哪些版本

如何查看一个 docker 镜像有哪些版本 因为通过 docker search 并不能查看某个镜像的版本信息,如我需要特定版本的 redis 那怎么办呢~ 本文提供了如下几种方式,大家可以分别逐个尝试下~ 为什么有几种方式呢,因为官方的查找镜像网址 Docker H…

使用audition测试USBaudio数据回传延时

一,简介 本文主要介绍如何使用Audition软件来测试STM32 USB audio上行音频数据的延时。 二,准备工作 Audition,ASIO驱动,STM32枚举的USB Audio高速声卡测试板。 二,硬件连接 将STM32的IIS的data in和data out使用…

四款AI视频翻译产品横评

本文内容节选自 Paxi.ai 的文章分享,从其中摘录了我觉得有意思的一部分。Paxi.ai 是一个基于 GPT-4 打造的帮用户快速使用AI的AI工具,通过与它的小助手对话可以了解各种AI的产品功能和使用方式。对本文内容感兴趣的朋友可以上他们官网查看。 有没有想过把…

go embed 实现gin + vue静态资源嵌入

前言 golang1.16出来以后,早就有打算把ckman项目的前端代码打包更换成embed。在此之前,使用的是pkger进行的打包。 但是今天打包时却报了个错: 而且通过各种手段尝试均无果之后,果断把决定立即将其更换为embed进行资源嵌入管理。…