你的问题有几个答案。
你想构建一个单体还是 2 个微服务:
- Monolith,我的意思是相同的服务(函数或容器)由调度程序触发,加载模型,执行预测并将其保存到 firestore
- 微服务:
- 1 服务由调度程序触发,请求预测并将结果存储到 Firestore
- 1个服务加载模型并回答预测查询。
在单体应用中,不推荐使用 AI 平台。在微服务中,您可以将预测服务托管在 AI Platform 上,而将另一个托管在 Cloud Functions 上
对于 tensorflow,我还提出了另一种托管模型的解决方案:在 Cloud Run 中。我为此写了一篇文章。我对 SciKit 的了解还不够多,无法告诉您同样的事情是可能的,但它是一个不错的选择。
关于将训练好的模型存储在哪里?绝对在云存储上。即使您使用我的文章中描述的容器构建 Cloud Run 服务,我在其中下载模型并将其加载到容器中(因此模型不会在运行时从 Storage 下载,仅在构建时),Cloud Storage是不可变对象的最佳位置。
最后,关于 AI Platform 的最后一个问题。同一个名字,几个服务。您可以托管您的模型并执行在线预测,并且您可以训练您的模型。它不是相同的内部服务,不同的用法,不同的 API。如果您在 AI Platform 上托管在线预测,则在训练新模型时没有区别/优势