模型部署模式

本文描述了两种常见模式正毫升工件通过分期和恢复生产。改变模型的异步本性和代码意味着有多个可能的模式,一个毫升开发过程可能也会步其后尘。

模型是由代码,但由此产生的模型工件和创造它们的代码可以异步操作。和代码更改,新模型版本可能不发生在同一时间。例如,考虑以下场景:

  • 检测欺诈性交易,您将开发一个毫升管道通过每周一个模型。代码可能不是经常变化,但该模型可能接受再培训,每周将新数据。

  • 您可以创建一个大型的、深层神经网络对文档进行分类。在这种情况下,训练模型计算昂贵和耗时的,培训模型可能会经常发生。然而,部署的代码,可以更新服务,并监视这个模型没有培训模型。

部署模式

两种模式的区别在于是否模型工件培训生产模型工件的代码正在向生产推广。

部署模型

在此模式中,生成模型工件通过训练代码在开发环境中。测试工件的登台环境部署到生产。

这个选项可以被认为是一个或多个以下应用:

  • 模型训练非常昂贵或难以复制。

  • 所有的工作都是做在一个砖工作区。

  • 你不使用外部回购或一个CI / CD的过程。

优点:

  • 数据科学家的简单切换

  • 在模型训练是昂贵的情况下,只需要训练模型。

缺点:

  • 如果没有生产数据可以从开发环境(可能是真的出于安全考虑),这种架构可能不是可行的。

  • 自动模式培训在这个模式是一个棘手的问题。您可以在开发环境中自动化培训,但生产团队负责部署模型可能不接受由此产生的模型作为生产就绪。

  • 支持代码,如管道用于工程特征,推断,和监控,需要分别部署到生产。

下图对比的代码上面部署模式在不同生命周期执行环境。

图中所示的环境是最后一步是运行环境。例如,在模式部署模型,最后在开发环境中执行单元测试和集成测试。在部署代码模式中,单元测试和集成测试开发环境,运行和最终执行单元测试和集成测试的登台环境。

部署模式生命周期