【发布时间】:2020-07-01 09:10:23
【问题描述】:
下图显示了我们公司用于管理模型生命周期的两条管道。
- 第一个管道“应用程序”涉及创建托管模型并具有推理逻辑的应用程序组件。
- 第二个,即“模型”,是一个导致生成二进制格式模型的管道。
(模型和应用程序)将一起部署在我们的编排器(kubernetes 集群)中。
我的情况是应用程序逻辑不会改变,但模型会改变。 我会发现自己处于以下情况。
我想有两种方法可以管理协调器上的运行时模型刷新(希望有人建议我其他我没有考虑过的可能性):
- 在应用程序逻辑中;代码通过采用新模型通过线程管理刷新。
- 优点:不会生成新容器
- 缺点:能够引入错误。
- 通过管道;管道必须由事件触发(在我的情况下是 git 分支上的合并),并通过执行滚动更新来引入容器。运行时的新容器将加载新模型。
- 优点:现有流程
- 缺点:模型的每个新版本都应提供容器的新构建,即使应用程序逻辑没有改变。
[问题] 对于这些情况,是否有任何最佳实践(可能通过图像上的标签系统)有人可以建议我?
谢谢 基普利科
【问题讨论】:
标签: machine-learning kubernetes model microservices mlops