- 最新
- 投票最多
- 评论最多
【以下的回答经过翻译处理】 首先Amazon SageMaker支持多种在一个节点上托管多个模型的方式: 1.使用多模型推理端点:Amazon SageMaker支持从同一推理端点提供多个模型。详细信息可以在这里找到[1]。示例代码可以在这里找到[2]。目前,此功能不支持弹性推理或串行推理流水线。多模型端点还可以使您的模型跨内存资源进行时间共享。当模型大小和调用延迟相当相似时,这样做效果最佳。在这种情况下,多模型端点可以在所有模型上有效使用实例。如果您的模型具有显着更高的每秒事务(TPS)或延迟要求,我们建议将它们托管在专用端点上。多模型端点也非常适合可以容忍偶尔调用不经常使用的模型时产生的冷启动相关延迟惩罚的情况。 2.在SageMaker上使用自己的算法:您还可以使用自己的libs和运行/编程语言带来自己的容器。请参见此处有关如何在sagemaker [3]上带来自己的算法/容器映像的示例笔记本。 3.使用多模型服务容器使用多模型:通过使用多模型存档文件来使用多模型推理容器,您可以在此处找到 tensorflow serving的示例[4] 4.如果需要按顺序串行调用模型,SageMaker 推理管道允许您在同一端点上链接最多 5 个模型,一个接一个调用 Sagemaker 端点包括可节省成本的优化,如果是这样,重要的是要记住,管道中的所有容器都在同一台EC2实例上运行,因此“Inference的延迟较低,因为容器在同一台EC2实例上相邻运行”[5]。
在同一端点上拥有多个模型不一定是个好主意(除非您有我在上面提到的原因和要求)。 每个端点拥有一个模型会创建一种隔离,这对容错性、安全性和可扩展性具有积极的好处。
[5]https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipelines.html