1

我正在探索以最具成本效益的方式为我训练有素的 ML 模型提供服务的方法。

我目前有 4 个不同的模型,其中第一个模型的输出构成第二个模型的输入的一部分,依此类推。

当前的用户群非常小,所需的推理数量很少且零星。IE。每隔几个小时 2 到 3 次,甚至有些日子 0 推理。

首先,我使用 ACI 进行部署,但由于某种原因,即使没有人访问端点,容器实例仍保持运行。我的印象是实例应该自行停止以避免对未使用的时间计费。

这与部署为实时端点的模型有关吗?当端点/模型未使用时,Kubernetes 部署是否会更合适(比如它会缩小到 0 个节点)吗?

4

2 回答 2

0

Kubernetes 仅通过 API 调用支持缩放到零,因为 Horizo​​ntal Pod Autoscaler 确实只支持缩减到 1 个副本。请在下面找到详细说明..

在 Kubernetes 中,如何在空闲时将部署扩展到零

对于机器学习模型部署,AKS(Kubernetes) 优于 Azure 容器实例。可以将 AKS 连接到 ACI,并使用 Kubernetes 来处理编排和扩展......

如果您正在寻找 Azure 容器实例上的多模型部署,请参考下面的 github 链接...

https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-multi-model/multi-model-register-and-deploy.ipynb

于 2022-01-12T07:11:53.207 回答
0

我将不得不仔细检查,但我相当确定您无法使用 AKS 上部署的模型缩减到零节点。也许考虑部署到 Azure Functions?

https://docs.microsoft.com/en-us/azure/machine-learning/how-to-deploy-functions

于 2020-12-06T08:25:06.670 回答