Elasticsearch:在 Elastic 中访问机器学习模型

这篇具有很好参考价值的文章主要介绍了Elasticsearch:在 Elastic 中访问机器学习模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:Bernhard Suhm, Josh Devins

elasticsearch 机器学习,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,机器学习,nlp

Elastic 支持你需要的机器学习模型

Elastic® 让你可以应用适合你的用例和 ML 专业水平的机器学习 (ML)。 你有多种选择:

  1. 利用内置的模型。 除了我们的可观察性和安全解决方案中针对特定安全威胁和系统问题类型的模型外,你还可以开箱即用地使用我们专有的 Elastic Learned Sparse Encoder 模型,以及语言识别 —— 如果你使用非英文文本数据。
  2. 从任何地方访问第三方 PyTorch 模型,包括 HuggingFace 模型中心。
  3. 加载你自己训练的模型 —— 此时主要是 NLP transformer。

使用内置模型可以让你获得开箱即用的价值,不需要你具备任何 ML 专业知识,而且你可以灵活地尝试不同的模型并确定哪种模型对你的数据表现最好。

我们将模型管理设计为可扩展到集群中的多个节点,同时确保高吞吐量和低延迟工作负载的良好推理性能。 这在一定程度上是通过授权摄取管道运行推理,并通过使用专用节点进行计算要求高的模型推理 —— 在摄取阶段,以及数据分析和搜索。

继续阅读以了解有关 Eland 库的更多信息,该库可让你将模型加载到 Elastic 中,以及它如何对你可能在 Elasticsearch® 中使用的各种类型的机器学习发挥作用 —— 从最新的 transformer 和自然语言处理 (NLP) 模型到提升 tree 回归模型。

Eland 让你可以将 ML 模型加载到 Elastic

我们的 Eland 库提供了一个简单的界面,可以将 ML 模型加载到 Elasticsearch 中 —— 前提是它们是使用 PyTorch 训练的。 使用原生库 libtorch,并期望已导出或保存为 TorchScript 表示的模型,Elasticsearch 避免在执行模型推理时运行 Python 解释器。

通过与 PyTorch 中用于构建 NLP 模型的最流行格式之一集成,Elasticsearch 可以提供一个可处理各种 NLP 任务和用例的平台。 我们将在接下来的 transformer 部分对此进行更多介绍。

你可以通过三种方式使用 Eland 上传模型:命令行、Docker 和你自己的 Python 代码。 Docker 不那么复杂,因为它不需要在本地安装 Eland 及其所有依赖项。 访问 Eland 后,下面的代码示例显示了如何上传 DistilBERT NER 模型,例如:

elasticsearch 机器学习,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,机器学习,nlp

下面我们将详细介绍 eland_import_hub_model 的每个参数。 你可以从 Docker 容器发出相同的命令。

上传后,Kibana 的 ML 模型管理用户界面可让你管理 Elasticsearch 集群上的模型,包括增加额外吞吐量的分配,以及在(重新)配置系统时停止/恢复模型。

支持哪些模型?

Elastic 支持多种 transformer 模型,以及最流行的监督学习库:

  • NLP 和 embedding 模型:所有符合标准 BERT 模型接口,使用 WordPiece 分词算法的 transformer。 查看支持的模型架构的完整列表。
  • 监督学习:来自 scikit-learn、XGBoost 和 LightGBM 库的训练模型被序列化并用作 Elasticsearch 中的推理模型。 我们的文档提供了一个示例,用于训练 XGBoost 对 Elastic 中的数据进行分类。 你还可以使用我们的 data frame 分析导出和导入在 Elastic 中训练的受监督模型。
  • Genarative AI:你可以使用为 LLM(Large Language Model) 提供的 API 来传递查询 —— 可能使用从 Elastic 检索到的上下文进行丰富 —— 并处理返回的结果。 有关更多说明,请参阅此博客,该博客链接到 GitHub 存储库,其中包含用于通过 ChatGPT 的 API 进行通信的示例代码。

下面我们提供了有关你最有可能在搜索应用程序上下文中使用的模型类型的更多信息:NLP transformer。

如何在 Elastic 中轻松应用 transformers 和 NLP!

让我们引导你完成加载和使用 NLP 模型的步骤,例如来自 Hugging Face 的流行 NER 模型,并检查以下代码片段中标识的参数。

elasticsearch 机器学习,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,机器学习,nlp

  1. 指定 Elastic cloud 标识符。 或者,使用 --url
  2. 提供身份验证详细信息以访问你的集群。 你可以查找可用的身份验证方法。
  3. 在 Hugging Face 模型中心指定模型的标识符。
  4. 指定 NLP 任务的类型。 支持的值为 fill_masknertext_classificationtext_embeddingzero_shot_classification

加载模型后,接下来需要部署它。 你可以在 Kibana 中机器学习选项卡的模型管理屏幕上完成此操作。 然后,你通常会测试模型以确保其正常工作。

现在你已准备好使用部署的模型进行推理。 例如,要提取命名实体,你可以在加载的 NER 模型上调用 _infer 端点:

elasticsearch 机器学习,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,机器学习,nlp

该模型识别两个实体:人 “Josh” 和地点 “Berlin”。

elasticsearch 机器学习,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,机器学习,nlp

有关其他步骤,例如在推理管道中使用此模型和调整部署,请阅读描述此示例的博客。

想看看如何应用语义搜索 —— 例如,如何为文本创建嵌入,然后应用向量搜索来查找相关文档? 该博客逐步说明了这一点,包括验证模型性能。

不知道哪个模型的任务类型? 该表应该可以帮助你入门。 

Hugging Face Model

task-type

Named entity recognition

ner

Text embedding

text_embedding

Text classification

text_classification

Zero shot classification

zero_shot_classification

Question answering question_answering

Elastic 还支持将两段文本彼此的相似程度作为 text_similarity 任务类型进行比较 —— 这对于在将文档文本与另一个提供的文本输入进行比较时对文档文本进行排名很有用,有时也称为交叉编码。

查看这些资源以获取更多详细信息

  • 支持 PyTorch transformer,包括 Eland 的设计注意事项
  • 将 transformers 加载到 Elastic 并在推理中使用它们的步骤
  • 描述如何使用 ChatGPT 查询专有数据的博客
  • 使预训练的 transformer 适应文本分类任务,并将自定义模型加载到 Elastic
  • 内置语言识别,让你在传递到仅支持英语的模型之前识别非英语文本

Elastic、Elasticsearch 和相关标记是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

本博文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。文章来源地址https://www.toymoban.com/news/detail-622093.html

到了这里,关于Elasticsearch:在 Elastic 中访问机器学习模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Elasticsearch安装与无法访问问题-学习笔记1

    elasticsearch在7.0之后,内置了java环境,不需要安装JDK。 安装包下载地址:https://www.elastic.co/cn/downloads/elasticsearch 下载后解压压缩包,进入bin目录,双击elasticsearch.bat运行。看到如图字样即为运行成功。 打开浏览器,访问localhost:9200,出现如下图所示,即为成功。 安装并且成功运

    2023年04月09日
    浏览(57)
  • elastic elasticsearch 源码解析之选主选举过程

    角色定义 这里的选主为什么提角色? 是因为不同角色在选主中起到不同的作用.master的非 voting_only 节点不但参与投票同时还可以参与竞选, master 的 voting_only 角色仅投票不参与竞选,其余角色不参与. 支持的角色 如果不设置 node.roles 则默认有所有角色, 如果配置了,以配置的为准

    2024年02月16日
    浏览(31)
  • Elastic:linux设置elasticsearch、kibana开机自启

    每次启动服务器都要手动启动es服务,相当之不方便,为此,书写一个脚本,实现es、kibana的开机自启 首先任何服务要实现开机自启,都可分为如下三步: 1、在 /etc/init.d 目录下创建启动、关闭服务的脚本,脚本中要设置运行级别、启动优先级、关闭优先级等。 2、给脚本赋权

    2024年02月14日
    浏览(46)
  • Elasticsearch:如何在 Elastic 中实现图片相似度搜索

    作者:Radovan Ondas 在本文章,我们将了解如何通过几个步骤在 Elastic 中实施相似图像搜索。 开始设置应用程序环境,然后导入 NLP 模型,最后完成为你的图像集生成嵌入。 Elastic 图像相似性搜索概览 Elasticsearch:如何在 Elastic 中实现图片相似度搜索 第一步是为你的应用程序设

    2024年01月22日
    浏览(48)
  • Elasticsearch:使用 Elastic APM 监控 Android 应用程序

    作者:Alexander Wert, Cesar Munoz 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户,确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、崩溃的发生和类型

    2023年04月13日
    浏览(55)
  • Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

    警告 :此功能处于技术预览阶段,可能会在未来的版本中更改或删除。 Elastic 将尽最大努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。 Elastic Learned Sparse EncodeR - 或 ELSER - 是由 Elastic 训练的检索模型,使你能够执行语义搜索以检索更相关的搜索结果

    2024年02月09日
    浏览(34)
  • ElasticSearch的数据挖掘与机器学习

    ElasticSearch是一个开源的搜索和分析引擎,它基于Lucene库构建,具有高性能、易用性和扩展性。ElasticSearch可以用于实时搜索、数据分析和机器学习等应用场景。本文将涵盖ElasticSearch的数据挖掘与机器学习方面的核心概念、算法原理、最佳实践以及实际应用场景。 在ElasticSear

    2024年02月22日
    浏览(51)
  • ElasticSearch的机器学习与AI应用

    ElasticSearch是一个开源的搜索和分析引擎,基于Lucene库构建,具有高性能、可扩展性和易用性。它广泛应用于日志分析、搜索引擎、实时数据处理等领域。随着数据量的增加,传统的搜索和分析方法已经无法满足需求,因此需要引入机器学习和AI技术来提高搜索效率和准确性。

    2024年04月08日
    浏览(38)
  • ChatGPT 和 Elasticsearch:使用 ChatGPT 处理 Elastic 数据的插件

    作者:Baha Azarmi 你可能已经阅读过这篇关于我们将 Elasticsearch 的相关性功能与 OpenAI 问答功能相结合的博文。 该帖子的主要思想是说明如何将 Elastic 与 OpenAI 的 GPT 模型结合使用来构建响应并向用户返回上下文相关的内容。 我们构建的应用程序可以公开一个搜索端点并被任何

    2024年02月06日
    浏览(43)
  • Elasticsearch:使用 Elastic APM 监控 Android 应用程序(二)

    在我之前的文章 “Elasticsearch:使用 Elastic APM 监控 Android 应用程序(一)” 中,我详述了如何使用 Elastic APM 来监控 Android 应用程序。在今天的文章中,我来详述如何部署 Elastic Stack,并使用文章中的示例代码来进行展示。为了展示方便,在今天的展示中,我将所有的组件都安

    2023年04月22日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包