揭秘 ChatGPT:构建 AI 搜索的不同方法

这篇具有很好参考价值的文章主要介绍了揭秘 ChatGPT:构建 AI 搜索的不同方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:Sherry Ger

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

什么是 ChatGPT?

首先,ChatGPT 太棒了! 它可以帮助你更高效地工作 —— 从总结 10,000 字的文档到提供竞争产品之间的差异列表,以及许多其他任务。 

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

ChatGPT 是最著名的基于 Transformer 架构的大型语言模型 (LLM)。 但你可能听说过其他 LLM,包括 BERT(来自 Transformer 的双向编码器表示)、Bard(对话应用程序语言模型)或 LLaMA(LLM 元人工智能)。 LLMs 拥有多层神经网络,它们协同工作来分析文本和预测输出。 他们接受了从左到右或双向转换器的训练,可以最大限度地提高在上下文中跟随和前面单词的概率,以找出句子中接下来可能出现的内容。 LLMs 还拥有一种注意力(attention)机制,使他们能够有选择地关注文本的某些部分,以便识别最相关的部分。 例如,雷克斯很可爱,他是一只猫。 在这句话中,“他” 指的是 “猫” 和 “雷克斯”。

更多就是更多

大型语言模型通常通过参数数量进行比较 —— 越大越好。 参数的数量是模型大小和复杂性的度量。 模型拥有的参数越多,它可以处理、学习和生成的数据就越多。 然而,拥有更多的参数也意味着需要更多的计算和内存资源。 在训练过程中,通过使用优化算法来学习或更新参数,该算法试图最小化预测输出与实际输出之间的误差或损失。 通过调整参数,模型可以提高其在给定任务或领域的性能和准确性。

LLM 的培训费用昂贵

现代 LLMs 拥有数十亿个参数,这些参数是在数万亿个代币上进行训练的,成本高达数百万美元。 训练 LLM 包括识别数据集,确保数据集足够大以使其能够像人类一样执行功能,确定网络层配置,使用监督学习来学习数据集中的信息,最后进行微调。 不用说,对特定领域数据的 LLMs 进行再培训也非常昂贵。

GPT 模型如何运作?

生成式预训练 Transformer (GPT) 模型是一种神经网络,它使用 Transformer 架构从大量文本数据中学习。 该模型有两个主要组件:编码器和解码器。 编码器处理输入文本并将其转换为称为嵌入的向量序列,这些向量表示数字中每个单词/子词的含义和上下文。 然而,解码器通过基于嵌入和先前的单词预测序列中的下一个单词来生成输出文本。

GPT 模型使用一种称为 “注意力(attention)” 的技术来关注输入和输出文本中最相关的部分,并捕获单词之间的远程依赖性和关系。 该模型的训练方法是使用大量文本语料库作为输入和输出,并最小化预测单词和实际单词之间的差异。 然后可以通过使用更小、更专业的数据集对其进行微调或适应特定的任务或领域。

标记(token)

标记是 LLM 用来处理和生成语言的文本或代码的基本单位。 标记可以是字符、单词、子词或文本或代码的其他片段,具体取决于所选的标记化方法或方案。 它们被分配数值或标识符,并按序列或向量排列,然后输入模型或从模型输出。 标记化是将输入和输出文本分割成可由 LLM 模型处理的较小单元的过程。

例如,句子 “A quick brown fox jumps over a lazy dog” 可以标记为以下标记:“a”、“quick”、“brown”、“fox”、“jumps”、“over”、“a” ”、“lazy” 和 “dog”。

嵌入(Embeddings)

嵌入是向量或数字数组,表示模型处理和生成的标记的含义和上下文。 它们源自模型的参数,用于对输入和输出文本进行编码和解码。 嵌入有助于模型理解标记之间的语义和句法关系,并生成更相关和连贯的文本。 它们是基于 GPT 的模型使用的 Transformer 架构的重要组成部分。 它们的大小和尺寸也可能有所不同,具体取决于模型和任务。

预训练的 LLM 至少包含数万个单词、标记和术语的嵌入。 例如,ChatGPT-3 的词汇量为 14,735,746 个单词,维度为 1,536。 以下来自一个名为 distilbert-based-uncased 的小模型。 尽管这是一个小模型,但它的大小仍然有 100 兆字节。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

转换器 - Transformer

Transformer 模型是一种神经网络,它通过跟踪序列数据(例如这句话中的单词)中的关系来学习上下文或含义。 在最简单的形式中,transformer 将接受输入并预测输出。 在 transformer 内,有一个编码器堆栈和一个解码器堆栈。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

让我们深入研究编码器块和解码器块。 在编码器块中,有两个重要组成部分:自注意力神经网络(self-attention neural network)和前馈神经网络(feed-forward neural network)。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

自注意力层至关重要,因为它建立在与当前单词相关的前一个单词对当前单词的 “理解” 之上。 例如,“it” 指的是 “the chicken crossed the road because it wants to know what the jokes are all about(小鸡过马路,因为它想知道笑话是什么)”中的小鸡。

编码器中的另一个重要层是前馈神经网络 (FFNN)。 FFNN 预测当前标记之后出现的单词。

转到解码器一侧,编码器-解码器注意力层脱颖而出。 编码器-解码器层专注于输入句子的相关部分,同时考虑到其下方的层和编码器堆栈的输出。

把它们放在一起:

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库
Transformer 模型的抽象图

我们将获取 input,对输入进行标记,并获取标记的标记 ID,然后将其转换为每个标记的嵌入。 从那里,我们将嵌入传递到 transformer 块中。 在该过程结束时,transformer 将预测一系列输出标记。 下图详细介绍了 transformer 模型。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

解码器堆栈输出浮点数向量。 线性层(linear)将解码器堆栈生成的浮点向量投影为称为 Logits 向量的更大向量。 如果模型有 10,000 个单词的词汇,则线性层将解码器输出映射到 10,000 个单元向量。 Softmax 层将这些分数从 Logit 向量转换为概率(均为正值),并且加起来为 100%。 选择概率最高的单元格,并生成与其关联的单词作为此步骤的输出。

ChatGPT 和 LLMs 面临的挑战

  • 他们接受的数据训练没有领域知识并且可能已经过时。 例如,幻觉是给出错误的答案,就好像它们是正确的一样,这在 LLMs 中很常见。
  • 模型本身不具有从输入中应用或提取过滤器的天然能力。 示例包括时间、日期和地理过滤器。
  • 对于用户可以查看的文档内容没有访问控制。
  • 存在严重的隐私和敏感数据控制问题。
  • 使用自己的数据进行训练并使其保持最新是很慢且非常昂贵的。
  • ChatGPT 或其他 LLMs 的响应可能很慢。 通常,Elasticsearch® 会有毫秒级的查询响应。 对于 LLMs,最多可能需要几秒钟才能得到回复。 但这是预料之中的,因为 LLMs 正在执行复杂的任务。 此外,ChatGPT 按处理的 token 数量收费。 如果你有像电子商务网站的黑色星期五商品搜索这样的高速工作负载,那么它很快就会变得非常昂贵。 更不用说,它可能无法满足 <10ms 的查询 SLA(Service Level Agreement)。
  • 解释 ChatGPT 或其他 LLMs 如何得出查询结果,即使不是不可能,也是很困难的。 除了幻觉之外,ChatGPT 和其他 LLMs 可能会产生不相关的响应,很难确定模型如何产生错误的答案。

Elasticsearch 适合什么地方?

Elasticsearch 除了原生通过 kNN 和 aNN 进行向量搜索(kNN 是所有文档的精确最近邻距离,aNN 是近似值)之外,还支持词袋(bag of words)和 BM25 信息检索方法。 对于 aNN,Elasticsearch 使用 HNSW(分层可导航小世界)算法来计算近似最近邻距离。 Elastic 可以缓解 LLM 的许多问题,同时让我们的用户利用 ChatGPT 和其他 LLM 可以提供的所有好东西。

Elasticsearch 可以用作向量数据库,并跨文本和向量数据执行混合检索。 当 Elasticsearch 与 LLMs 一起使用时,可以在三种模式中提供明显的优势:

  1. 为你的数据提供上下文并与 ChatGPT 或其他 LLMs 集成
  2. 使你能够携带自己的模型(任何第三方模型)
  3. 使用内置的 Elastic Learned Sparse Encoder 模型

方法 1:为你的数据提供上下文并与 ChatGPT 或其他 LLM 集成

下面介绍了如何将 LLMs 与数据分离,同时与生成式人工智能集成。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库
使用 Elasticsearch 作为向量存储并与 LLM 集成

客户可以携带由 LLM 生成的自己的嵌入,并将其数据与嵌入一起提取到 Elasticsearch 中。 然后,客户可以将 Elasticsearch 中存储的自己数据(用户问题的上下文)中的相似性搜索结果传送到 ChatGPT 或其他 LLM,为用户构建基于自然语言的答案。

此外,新发布的倒数排名融合(RRF)允许用户执行混合搜索,可以对搜索结果进行组合和排名。 例如,BM25方法可以过滤相关文档以及向量搜索以提供最佳文档。 借助 RRF,客户可以通过 Elasticsearch 而不是通过自己的应用程序本地获得最佳搜索结果,这大大降低了应用程序的复杂性和维护成本。

方法二:自带模型

最近发布的 Elasticsearch Relevance Engine™ (ESRE™) 提供了让你拥有自己的 LLM 的能力。 通过机器学习,此功能已经可用一段时间了。 Elasticsearch 机器学习团队一直在搭建用于集成基于 Transformer 的模型的基础设施。 从 8.8 版本开始,你可以像通常在 Elasticsearch 中一样通过搜索 API 进行摄取和查询。 最重要的是,你可以将混合搜索方法与 RRF 结合使用,从而提供更好的相关性。 由于模型被管理并集成到 Elasticsearch 中,因此可以降低操作复杂性,同时获得最相关的搜索结果。

这种方法需要用户知道哪种模型最适合他们的用例以及与 Elastic 的商业关系。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

方法三:使用内置的稀疏编码器模型

Elastic Learned Sparse Encoder 是 Elastic 开箱即用的语言模型,其性能优于 SPLADE(SParse Lexical AnD Expansion Model),而 SPLADE 本身就是最先进的模型。 Elastic Learned Sparse Encoder 解决了词汇不匹配问题,其中文档可能与查询相关,但不包含查询中出现的任何术语。 不匹配的一个例子可能是,如果我们询问 “how have American corporations have assisted with Covid-19 efforts”,那么呼吸机制造商可能不会出现在查询结果中。

就像其他搜索端点一样,可以通过 text_expansion 查询访问 Elastic Learned Sparse Encoder。 Elastic Learned Sparse Encoder 使我们的用户只需点击一下即可开始最先进的生成式 AI 搜索并立即产生结果。 Elastic Learned Sparse Encoder 也是 Elastic 的一项商业功能。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

以下是使用 BEIR 基准测试的一些基准测试结果。 我们使用了几个标准化数据集(横轴)并应用了不同的检索方法(纵轴)。 正如你所看到的,BM25 和我们使用 RRF 的学习稀疏编码器的组合返回了最佳相关性分数。 当单独考虑时,RRF 的这些分数击败了 SPLADE 模型和我们的学习稀疏编码器模型(ELSER)。 我们在此处的博客上发布了更多详细信息。

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库
Elastic Learned Sparse Encoder 与其他流行检索方法的比较(来源 Elasticsearch)

术语和定义

神经网络(NN)

揭秘 ChatGPT:构建 AI 搜索的不同方法,Elasticsearch,Elastic,人工智能,chatgpt,elasticsearch,大数据,搜索引擎,全文检索,数据库

每个节点都是一个神经元。 将每个单独的节点视为其自己的线性回归模型,由输入数据(data)、权重(weights)、偏差(bias)(或阈值 - threshold)和输出组成。 数学表示可能如下所示:

∑wixi + bias = w1x1 + w2x2 + w3x3 + bias

output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0

一旦确定了输入层,就分配权重(w)。 这些权重有助于确定任何给定变量的重要性,与其他输入相比,较大的变量对输出的贡献更大。 然后将所有输入乘以各自的权重,然后求和。 然后,输出通过激活函数,该函数决定输出。 如果该输出超过给定阈值,它将激活该节点并将数据传递到网络中的下一层。 这导致一个节点的输出成为下一个节点的输入。 这种将数据从一层传递到下一层的过程就是前馈网络。 这只是神经网络的一种类型。

LLM 参数

权重(weights)是定义模型中不同层神经元之间连接强度的数值。 偏差是在通过激活函数之前添加到输入加权和中的附加数值。

SPLADE

SPLADE 是一种后期交互模型。 SPLADE 模型背后的想法是,使用像 BERT 这样的预训练语言模型可以识别单词之间的联系,并使用这些知识来增强稀疏向量嵌入。 当你有一个涵盖广泛主题的文档(例如关于二战电影的维基百科文章)时,你可以使用它 - 它包含情节、演员、历史和发行电影的工作室。

仅使用嵌入检索技术,文档与查询的相关性就成为一个问题,因为文档可以投影到大量维度上并使其接近于任何查询。 SPLADE 通过将所有标记级概率分布组合成一个分布来解决该问题,该分布告诉我们词汇表中每个标记与输入句子的相关性,类似于 BM25 方法。 Elastic Learned Sparse Encoder 是 SPLADE 模型的 Elastic 版本。

RRF

RRF 是一种混合搜索查询,它将具有不同相关指标的多个搜索结果集标准化并组合成单个结果集。 根据我们自己的测试,结合 RRF(BM25 + Elastic Learned Sparse Encoder)可产生最佳的搜索相关性。

总结

通过将 ChatGPT 等技术的创新能力与专有数据的业务环境相结合,我们可以真正改变客户、员工和组织的搜索方式。

检索增强生成 (Retrieval augmented generation,RAG) 弥合了支持生成式 AI 的大型语言模型与私有数据源之间的差距。 大型语言模型的众所周知的局限性可以通过基于上下文的检索来解决,使你能够构建深度参与的搜索。

原文:Demystifying ChatGPT: Different methods for building AI search | Elastic Blog文章来源地址https://www.toymoban.com/news/detail-630505.html

到了这里,关于揭秘 ChatGPT:构建 AI 搜索的不同方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 06 | 如何用Elasticsearch构建商品搜索系统?

    搜索这个特性可以说是无处不在,现在很少有网站或者系统不提供搜索功能了,所以,即使你不是一个专业做搜索的程序员,也难免会遇到一些搜索相关的需求。搜索这个东西,表面上看功能很简单,就是一个搜索框,输入,然后搜出来想要的内容就好了。 搜索背后的

    2024年02月03日
    浏览(32)
  • Elasticsearch:使用 Elasticsearch 和 BERT 构建搜索引擎 - TensorFlow

    在本文中,我们使用预训练的 BERT 模型和 Elasticsearch 来构建搜索引擎。 Elasticsearch 最近发布了带有向量场的文本相似性(text similarity search with vector field)搜索。 另一方面,你可以使用 BERT 将文本转换为固定长度的向量。 因此,一旦我们将文档通过 BERT 转换为向量并存储到

    2024年02月07日
    浏览(54)
  • 《花雕学AI》34:用13种Prompt玩转AI聊天机器人—揭秘ChatGPT模型

    引言: 聊天机器人是一种能够通过自然语言进行交流的智能系统,它可以模仿人类的对话方式,提供各种信息、服务或娱乐。随着人工智能技术的发展,聊天机器人的应用越来越广泛,从电商、教育、医疗、旅游等领域,到社交、游戏、文学等领域,都可以看到聊天机器人的

    2024年02月05日
    浏览(50)
  • 使用Elasticsearch构建强大的搜索和分析引擎

    Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,被广泛用于处理大规模的文本数据。无论是构建全文搜索引擎、进行日志分析还是实现实时数据可视化,Elasticsearch都是一个强大而灵活的工具。本文将带您逐步了解如何使用Elasticsearch,并构建您自己的搜索和分析应用。

    2024年02月04日
    浏览(53)
  • Elasticsearch 与 GraphQL 整合:构建实时搜索 API

    随着互联网的普及和数据的快速增长,实时搜索已经成为现代网站和应用程序的必不可少的功能。实时搜索可以帮助用户快速找到相关信息,提高用户体验,增加用户留存时间,并提高销售转化率。 Elasticsearch 是一个开源的搜索和分析引擎,基于 Lucene 库,它提供了一个实时

    2024年04月22日
    浏览(33)
  • 揭秘AI辅写疑似度的检测方法

    大家好,今天来聊聊揭秘AI辅写疑似度的检测方法,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:揭秘AI辅写疑似度的检测方法 随着AI技术的飞速发展,AI辅写工具已经广泛应用于各个领域。然而,如何

    2024年02月21日
    浏览(51)
  • 什么是chatgpt-4 和ChatGPT-3.5 有什么不同 丨小智AI

    虽然自人工智能科技公司OpenAI发布ChatGPT以来,仅仅过去了四个月的时间,但是可以毫不夸张地说,它已经永远地改变了世界。 在短短的15周内,它引发了全球就业市场的“末日般的”预测,扰乱了教育系统,并吸引了数百万用户,从大银行到应用程序开发人员等各领域都有。

    2024年02月09日
    浏览(34)
  • ethers.js:构建ERC-20代币交易的不同方法

    在这篇文章中,我们将探讨如何使用ethers.js将ERC-20令牌从一个地址转移到另一个地址 Ethers是一个非常酷的JavaScript库,它能够发送EIP-1559事务,而无需手动指定气体属性。它将确定gasLimit,并默认使用1.5 Gwei的maxPriorityFeePerGas,从v5.6.0开始。 此外,如果您使用签名者类,它也会

    2024年02月08日
    浏览(34)
  • 【ChatGPT】使用 LangChain 和 Ray 实现 100 行代码构建 LLM 开源搜索引擎【1】

    目录 Introduction Building the index 构建索引 Accelerating indexing using Ray 使用 Ray 加速索引编制 Serving

    2024年02月08日
    浏览(45)
  • 【ChatGPT】万字长文揭秘 GPT 背后:为何“大模型” 就一下子成为了引领人工智能 AI2.0时代热门技术?

    GPT (Generative Pre-trained Transformer) ,生成式预训练Transformer: 是一种基于 深度学习 的 自然语言处理模型 ,GPT 由 OpenAI 开发。 GPT 是一种基于 Transformer 模型的语言模型,可以通过大量的文本数据进行训练,从而学习到语言的规律和模式,进而生成自然流畅的语言文本。 本文将详

    2023年04月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包