我能够使用部署功能托管在SageMaker中开发的模型。目前,我看到我开发的不同模型需要部署在不同的 ML 计算实例上。
有没有办法在同一实例上部署所有模型,使用单独的实例似乎是非常昂贵的选择。如果可以在同一实例上部署多个模型,是否会为模型创建不同的终结点?
SageMaker 旨在解决大规模部署问题,您希望每秒有数千次模型调用。对于此类使用案例,您希望在每个实例上具有同一模型的多个任务,并且通常在负载均衡器和 Auto Scaling 组后面为同一模型设置多个实例,以允许根据需要进行扩展和缩减。
如果您不需要这样的规模,并且对于您需要处理的每秒请求来说,即使单个模型只有一个实例也不经济,则可以采用在 SageMaker 中训练的模型,并将它们自己托管在某些服务框架后面,例如 MXNet 服务(https://github.com/awslabs/mxnet-model-server)或 TensorFlow 服务(https://www.tensorflow.org/serving/)。
另请注意,您可以控制用于托管的实例类型,并且可以为较小的负载选择较小的实例。以下是您可以选择的各种实例类型的列表: https://aws.amazon.com/sagemaker/pricing/instance-types/
我相信这是 AWS sagemaker 中引入的一项新功能,请参阅下面的链接,它的作用完全相同。
是的,现在在 AWS sagemaker 中,您可以在同一个 ML 实例中部署多个模型。
在下面的链接中, https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/
你可以找到例子,
- multi_model_bring_your_own
- multi_model_sklearn_home_value
- multi_model_xgboost_home_value
另一个链接详细解释了多模型XGboost。 https://aws.amazon.com/blogs/machine-learning/save-on-inference-costs-by-using-amazon-sagemaker-multi-model-endpoints/
希望这对将来希望解决此问题的任何人有所帮助。