Skip to content

AWS Marketplace SageMaker Batch Transform time and instance limit

0

Hello,

I want to provide a model to a client where he cannot see my model code and weights and where I cannot see his data. Hence deploying the model on AWS Marketplace seems to be the best option. However, I noticed that there is a hard limit on the inference time that is 1 minute for endpoint and 1 hour for batch transform job. Is there any possibility to increase these numbers?

Also, there is a lot less instance types available for batch transform than for endpoints (e.g. g6e). Is there a way to have access to it?

If not, what are my options? Is there another way I can provide my model to my client without him seeing my model and me seeing his data?

Thank you in advance.

2 Answers
0

For AWS Marketplace machine learning products, there are indeed hard limits on inference processing times that cannot be adjusted. For endpoints, the maximum processing time per invocation is 60 seconds, while for batch transform jobs, the maximum processing time is 60 minutes (1 hour).

Regarding instance types, there are limitations on which instances are available for marketplace model packages. For example, while G4dn instances with NVIDIA T4 Tensor Core GPUs are supported for general SageMaker batch transform jobs, they might not be directly selectable when creating a Marketplace model package through the AWS console. The console interface for Marketplace model packages appears to offer a more limited selection of instance types compared to what's available for regular SageMaker operations.

If these limitations are problematic for your use case, you might consider these alternatives:

  1. Optimize your model to work within the existing time constraints by reducing complexity or batch sizes.

  2. Break down your processing into smaller chunks that can complete within the time limits.

  3. For batch transform jobs, you can tune parameters like MaxPayloadInMB, MaxConcurrentTransforms, or BatchStrategy to optimize performance within the constraints.

  4. Consider using SageMaker's Asynchronous Inference for longer-running workloads, though note that model packages published in AWS Marketplace cannot be deployed to endpoints configured for Asynchronous Inference due to network isolation requirements.

Unfortunately, the processing time limits for AWS Marketplace machine learning products are fixed constraints that cannot be adjusted, and the available instance types are restricted to those shown in the console when creating your model package.
Sources
Service restrictions and quotas for machine learning products in AWS Marketplace - AWS Marketplace
Cannot select g4dn instances for marketplace model package transform jobs | AWS re:Post
Inference options in Amazon SageMaker AI - Amazon SageMaker AI
Batch transform for inference with Amazon SageMaker AI - Amazon SageMaker AI
Troubleshooting - Amazon SageMaker AI

answered a year ago

0

You can do this by adapting a multi-tenant architecture

  1. Client stores the data in a S3 bucket
  2. Trigger a notification as soon as data is available
  3. A separate(neutral tenant) VPC with the model weights gets the event notification from the bridge

a simple architecture diagram for your understanding

You can further implement things multi-stage docker builds with model weights encrypted, AWS Nitro Enclaves etc. But remember all these will come with additional complexity and costs. So depending on your hardening requirements you can implement them.

AWS

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.