2

JSLLightNLP:使用Spring和LightPipelines为Spark NLP实现API服务的项目

 2 years ago
source link: https://www.jdon.com/61194
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

JSLLightNLP:使用Spring和LightPipelines为Spark NLP实现API服务的项目

Spark NLP是一个构建在 Apache Spark 之上的自然语言理解库,利用 Spark MLLib 管道,允许您大规模运行 NLP 模型,包括 SOTA Transformers。因此,它是唯一一款可用于生产的 NLP 平台,可让您从 1 个驱动程序节点上的简单 PoC 扩展到集群中的多个节点,并在几分钟内处理大量数据。

Spark NLP 与服务器无关,这意味着它没有集成 API 服务器,但提供了许多选项来使用 Rest API 为 NLP 模型提供服务。
使用 RestAPI 添加 Web 服务器和服务 Spark NLP 管道有多种可能性。

本项目中使用 Spring 和 Java:您可以在此Github 存储库中详细检查实现。
我们可以使用基于 Python 的框架(例如 FastAPI)来为 Spark NLP 管道提供服务。然而,基于 Python 的框架的一个缺点是它们需要序列化和反序列化才能与 Spark 交互,与基于 Java 的框架相比增加了开销。由于 Spring 是一个基于 Java 的框架,它可以实现比 FastAPI 更快的响应时间。

使用LightPipelines的性能优势:

  • 最低延迟(甚至超过 FastAPI)
  • 增加了为您的模型构建和调整自定义 API 的灵活性
  • 与K8DC/OS等工具一起进行容器化时更容易扩展

弱点

  • LightPipelines 按顺序执行,不利用 Spark 集群提供的分布式计算。
  • 作为替代方案,您可以将 Spring 与默认管道和自定义 LoadBalancer 一起使用,以在集群节点上分配调用。

更多:

 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK