与库与 API 捆绑的机器学习模型

数据挖掘 Python 预测建模 数据产品
2021-10-03 21:02:47

我正在考虑“部署”一个机器学习模型(在 pickle 中它的大小为 3 MB),在与我的开发同事讨论后,他们说如果将该模型打包为 python 库而不是微服务会更好(如休息API)。

我想问一下您对此有何看法:封装在专门用于它的库中的腌制模型与其他 API 的优缺点?

我在想将它作为一个库可能更容易使用,并且不需要担心部署、网址等。

2个回答

将模型部署为包的优点是代码将成为单体应用程序的一部分,并且不需要远程调用,因此:

  • 没有额外的运营需求
  • 没有外部依赖
  • 快点
  • 更少的安全问题
  • 与应用程序的其余部分相同的正常运行时间

通常,大多数功能都保留在单个单体应用程序中,直到有特定原因创建单独的服务。

复杂性,看看快艾这个简单的部署。您只需几个简单的步骤即可获得一个 Web 应用程序。至于restapi,您需要了解更多库的方式。例如很酷的fastapi(flask+更多功能)。示例应用

在线学习无法在腌制文件中更新(至少不是微不足道的)您的模型。因为你的restapi代码是模块化的,所以可以修改。

Overhead restAPI 旨在处理更多的请求,并且更容易扩展。

模块化/控制您准确定义与客户端交互的方式,使用restAPI时控制更多但更复杂