我正在构建一个机器学习管道,需要采用几种模型,构建一个包含它们的Docker映像,然后将该映像部署到客户端的计算机上。
假设是将模型文件烘焙到Docker映像中将使其易于部署?
麻烦是怎么做到的?
1-我是否下载,解压缩并复制Dockerfile中的模型。那我该如何处理GCP凭证?
2-我是否以某种方式使用GCP的Cloud Build处理下载,然后仅在Dockerfile中复制?问题:任何 CI / CD工具(包括Cloud Build)中都没有此示例。
我什至没有考虑过在存储桶中对模型进行版本控制,这暗示着某种逻辑来选择要下载的模型。
Cloud Build可能是这些选项之一吗?
选项1是否比选项2更可行?
答案 0 :(得分:1)
根据您的描述,我可以想到您不断将ML模型(文件)推送到要提供给客户的仓库中。
您可以Run Builds with Github checks and Cloud Build或Run builds on Github(两者非常相似;区别在于使用工具)。这两个选项都使用Build Triggers。
使用这些选项中的任何一个,可以在对源存储库进行任何更改时,或仅对符合特定条件的更改进行重新构建映像。这样,我们就可以介绍操作方法以及版本控制中可能出现的问题。
为此设置您的Github存储库时,只会要求您标识自己。一旦它们都链接在一起,凭据就不会成为问题。
我还可以认为您将更新调用ML模型的代码。如果您考虑让代码在Cloud Run上运行(例如,在将代码发送给客户之前进行测试),则可以尝试Continuous Deployment from git on Cloud Run,它也使用Cloud Build触发器。
您可以将上面的信息与Quickstart for Docker and Cloud Build结合起来。
有关How using GitHub and Google Cloud Build simplify your CI process的更多信息。
对此,我认为您的选择2是一个更好的主意。