本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
多模型端点部署的实例建议
为多模型终端节点选择 SageMaker ML 实例类型时,需要考虑以下几点:
-
为需要提供的所有型号配置足够的亚马逊弹性区块存储 (AmazonEBS) 容量。
-
平衡性能(最大限度地减少冷启动)和成本(不要过度预配置实例容量)。有关终端节点和多模型终端节点 SageMaker 的每种实例类型所连接的存储卷大小的信息,请参阅实例存储卷。
-
对于配置为以
MultiModel
模式运行的容器,为其实例预置的存储卷比默认SingleModel
模式时更大。这样,与SingleModel
模式相比,可以在实例存储卷上缓存更多模型。
选择 SageMaker ML 实例类型时,请考虑以下因素:
-
目前,所有CPU实例类型和单实例类型都支持多模型终端节点。GPU
-
要为在多模型端点后托管的模型进行流量分配(访问模式)并确定模型数量(实例上可加载到内存中的模型数),请记住以下信息。
-
将实例上的内存量想象成要加载的模型的缓存空间,将的数量 vCPUs 视为对加载的模型进行推断的并发限制(假设调用模型是绑定的)。CPU
-
对于CPU支持的实例,每个实例的最大并发调用次数的 vCPUs 影响次数(假设调用模型已绑定)。CPU数量越大,您 vCPUs 就可以同时调用更多独特的模型。
-
对于GPU支持的实例,更高的实例和GPU内存量使您能够加载更多模型并准备好处理推理请求。
-
对于两者的实例CPU和GPU支持的实例,都要有一些 “松弛” 内存可用,以便可以卸载未使用的模型,尤其是对于具有多个实例的多模型端点。如果实例或可用区发生故障,这些实例上的模型将被重新路由到端点后的其他实例。
-
-
确定容忍的加载/下载时间:
-
d 实例类型系列(例如 m5d、c5d 或 r5d)和 g5s 都带有NVMe(非易失性存储器 express)SSD,可提供高的 I/O 性能,并且可以缩短将模型下载到存储卷以及容器从存储卷加载模型所需的时间。
-
由于 d 和 g5 实例类型附带NVMeSSD存储,因此 SageMaker 不会将 Amazon EBS 存储卷附加到托管多模型终端节点的这些 ML 计算实例。当模型大小相似且同质(也即,它们具有相似的推理延迟和资源要求)时,自动扩缩的效果最佳。
-
您还可以使用以下指南来帮助优化多模型端点上的模型加载:
选择无法在内存中容纳所有目标模型的实例类型
在某些情况下,您可以选择一种无法同时在内存中容纳所有目标模型的实例类型,从而降低成本。 SageMaker 当模型内存不足时动态卸载模型,以便为新的目标模型腾出空间。对于请求频率不高的模型,您可以牺牲动态加载延迟。在延迟需求更严格的情况下,您可以选择更大的实例类型或更多实例。提前投入时间进行性能测试和分析,可以帮助您成功地进行生产部署。
评估您的模型缓存命中率
Amazon CloudWatch 指标可以帮助您评估您的模型。有关可用于多模型端点的指标的更多信息,请参阅CloudWatch 多模型端点部署的指标 。
您可以使用 ModelCacheHit
指标的 Average
统计数据来监控已加载模型的请求比率。您可以使用 ModelUnloadingTime
指标的 SampleCount
统计数据来监控在一段时间内发送到容器的卸载请求数。如果模型卸载频率过高(颠簸指示器,由于工作模型集的缓存空间不足,因此将卸载并重新加载模型),请考虑使用具有更多内存的更大实例类型,或者增加多模型端点后的实例数。对于具有多个实例的多模型端点,请注意可以在多个实例上加载一个模型。