繁体   English   中英

对 SageMaker 端点的推理率的限制

[英]Limit on the rate of inferences one can make for a SageMaker endpoint

对 SageMaker 终端节点的推理率是否有限制?

它是由端点后面的实例类型或实例数量以某种方式确定的吗?

我尝试查找此信息作为SageMaker 的 AWS 服务配额,但找不到。

我正在从 Spark 作业调用端点,我想知道并发任务的数量是否是我在运行推理时应该注意的一个因素(假设每个任务一次运行一个推理)

这是我得到的节流错误:

com.amazonaws.services.sagemakerruntime.model.AmazonSageMakerRuntimeException: null (Service: AmazonSageMakerRuntime; Status Code: 400; Error Code: ThrottlingException; Request ID: b515121b-f3d5-4057-a8a4-6716f0708980)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
    at com.amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeClient.doInvoke(AmazonSageMakerRuntimeClient.java:236)
    at com.amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeClient.invoke(AmazonSageMakerRuntimeClient.java:212)
    at com.amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeClient.executeInvokeEndpoint(AmazonSageMakerRuntimeClient.java:176)
    at com.amazonaws.services.sagemakerruntime.AmazonSageMakerRuntimeClient.invokeEndpoint(AmazonSageMakerRuntimeClient.java:151)
    at lineefd06a2d143b4016906a6138a6ffec15194.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$$$a5cddfc4633c5dd8aa603ddc4f9aad5$$$$w$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$Predictor.predict(command-2334973:41)
    at lineefd06a2d143b4016906a6138a6ffec15200.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$$$50a9225beeac265557e61f69d69d7d$$$$w$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$2.apply(command-2307906:11)
    at lineefd06a2d143b4016906a6138a6ffec15200.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$$$50a9225beeac265557e61f69d69d7d$$$$w$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$2.apply(command-2307906:11)
    at scala.collection.Iterator$$anon$11.next(Iterator.scala:410)
    at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:2000)
    at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1220)
    at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1220)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2321)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2321)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
    at org.apache.spark.scheduler.Task.doRunTask(Task.scala:140)
    at org.apache.spark.scheduler.Task.run(Task.scala:113)
    at org.apache.spark.executor.Executor$TaskRunner$$anonfun$13.apply(Executor.scala:533)
    at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1541)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:539)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Amazon SageMaker 提供模型托管服务 ( https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html ),它根据您的推理要求为您提供很大的灵活性。

如您所述,首先您可以选择用于模型托管的实例类型。 大量选项对于调整您的模型很重要。 您可以在基于 GPU 的机器 (P2/P3/P4) 或 CPU 机器上托管模型。 您可以拥有具有更快 CPU(例如 C4)或更多 RAM(例如 R4)的实例。 您还可以选择具有更多核心(例如 16xl)或更少(例如中等)的实例。 以下是您可以选择的所有实例的列表: https ://aws.amazon.com/sagemaker/pricing/instance-types/。 平衡性能和成本很重要。 实例类型的选择以及模型的类型和大小将决定在此单节点配置中您可以从模型中获得的每秒调用次数。 测量这个数字很重要,以避免遇到您看到的油门错误。

您使用的 SageMaker 托管的第二个重要功能是能够将您的模型自动扩展到多个实例。 您可以将模型托管的端点配置为根据端点上的负载自动添加和删除实例。 AWS 在托管您的模型并在它们之间分配请求的多个实例之前添加了一个负载均衡器。 使用自动缩放功能可以让您在低流量时段保留较小的实例,并能够在高峰流量时段进行扩展,同时仍然保持较低的成本并将节流错误降至最低。 有关 SageMaker 自动缩放选项的文档,请参阅此处: https ://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM