【问题标题】:ML model deployment CI/CDML 模型部署 CI/CD
【发布时间】:2019-11-25 15:16:25
【问题描述】:
我在 DataBricks 上使用 MLFlow 训练模型,并将最终模型输出到 S3。然后,使用 Seldon-Core 将模型打包并部署到 AWS EKS。
我正在寻找一种工具来弥合差距,方法是从 S3 获取模型,将其打包到 docker 容器中,然后使用 Seldon-Core K8S 模板将其推送到 AWS EKS。
我相信似乎适合这项工作的工具是 Kubeflow Pipelines。其他竞争者是 Jenkins、Gitlab 和 TravisCI。
Kubeflow 是绝对适合这项工作的工具吗?与其他人相比,Kubeflow 的优缺点是什么?如果有人已经做过研究,甚至可能建造了管道......
【问题讨论】:
标签:
continuous-integration
artificial-intelligence
kubeflow
mleap
seldon
【解决方案1】:
GitLab 实际上就是开箱即用的 Kubeflow Pipelines,它类似于 Yaml 到 CircleCI 或 TravisCI。我最终将其用作 Kubeflow Pipelines 的替代品。
关于 Kubeflow...
在尝试了 0.5 和 0.6 版本的 Kubeflow 之后,我们的感觉是它还很不稳定。安装到 MiniKube(本地 K8S)和 AWS EKS 都不是很顺利。对于 MiniKube,文档中的安装脚本已损坏,您将能够看到许多人遇到问题并手动编辑安装脚本(这是我必须做的才能正确安装)。在 EKS 上,我们无法安装 0.5,必须安装更旧的版本。 Kubeflow 希望以特定方式管理工作节点,而我们的安全策略不允许这样做,只有在订单版本中您可以覆盖该选项。
Kubeflow 也在切换到 Kuztomize,它还不稳定,所以如果你现在使用它,你将使用不再支持的 Ksonnet,你将学习一个工具,你迟早会通过窗口。
总而言之,应该等待 1.0 版本,但 Gitlab 作为 kubeflow Pipelines 的替代品做得很棒。
希望对有相同想法的人有所帮助