概述
Elastic Stack Serverless
自然语言处理 (NLP) 是指我们如何使用软件来理解口语或书面文本中的自然语言。
Elastic 提供了广泛的利用自然语言处理的可能性。
您可以集成来自不同提供商的 NLP 模型,例如 Cohere、HuggingFace 或 OpenAI,并通过 semantic_text 工作流程将其用作服务。 您还可以使用 ELSER(Elastic 训练的检索模型)和 E5 以相同的方式。
推理 API 使您能够使用更复杂的工作流程来使用相同的服务,以便更好地控制您的配置设置。 这个教程将引导您完成使用推理 API 的各种服务的流程。
您可以使用 Eland 客户端和 Elastic Stack上传和管理 NLP 模型。 在此处查找推荐和兼容模型列表。 请参阅示例,以了解有关如何使用部署在集群中的机器学习模型的更多信息。
如果您在 Elasticsearch 之外生成 稠密向量 或 稀疏向量 模型嵌入,则可以将嵌入存储在 Elasticsearch 向量数据库中。
通常,NLP 是使用语言规则、词典、正则表达式和机器学习来执行的,用于自动分类或文本摘要等特定任务。 然而,近年来,深度学习技术已经占据了 NLP 领域的大部分。 深度学习利用了大规模数据集的可用性、廉价的计算以及以较少的人工参与进行大规模学习的技术。 使用 transformer 架构的预训练语言模型特别成功。 例如,BERT 是 Google 于 2018 年发布的预训练语言模型。 从那时起,它已成为当今大多数现代 NLP 技术的灵感来源。 Elastic Stack 机器学习功能围绕 BERT 和 transformer 模型构建。 这些功能支持 BERT 的分词方案(称为 WordPiece)以及符合标准 BERT 模型接口的 transformer 模型。 有关当前支持的架构列表,请参阅兼容的第三方模型。
为了结合 transformer 模型并进行预测,Elasticsearch 使用 libtorch,它是 PyTorch 的底层原生库。 训练的模型必须采用 TorchScript 表示形式才能与 Elastic Stack 机器学习功能一起使用。
与分类和回归的情况一样,在将模型部署到集群后,您可以使用它对传入数据进行预测(也称为推理)。 您可以执行以下 NLP 操作
要更深入地了解 Elastic 的机器学习研究和开发,请浏览 Search Labs 中的 ML research 部分。