aws / aws/aws-cdk

sagemaker: Support AWS Marketplace models

Open
#23,158 0 comments 2 reactions 0 assignees View on GitHub
@aws-cdk/aws-sagemaker effort/large feature-request p3
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### Describe the feature

As described in [the SageMaker `Endpoint` L2 construct RFC](https://github.com/aws/aws-cdk-rfcs/blob/master/text/0431-sagemaker-l2-endpoint.md#feature-additions):

> [AWS Marketplace Models][marketplace-models]: The `ModelPackageName` string attribute was added to the `ContainerDefinition` CloudFormation structure to specify the ARN of a reusable, versioned model which can be listed on the AWS Marketplace.

[marketplace-models]: https://aws.amazon.com/blogs/awsmarketplace/using-amazon-augmented-ai-with-aws-marketplace-machine-learning-models/

**Please 👍 this issue to help with the prioritization of this feature.**

### Use Case

"_Pre-trained machine learning (ML) models available in AWS Marketplace take care of the heavy lifting, helping you deliver Artificial Intelligence (AI)- and ML-powered features faster and at a lower cost_." ([link](https://aws.amazon.com/blogs/awsmarketplace/using-amazon-augmented-ai-with-aws-marketplace-machine-learning-models/))

### Proposed Solution

As described in [the SageMaker `Endpoint` L2 construct RFC](https://github.com/aws/aws-cdk-rfcs/blob/master/text/0431-sagemaker-l2-endpoint.md#feature-additions):

> When creating a `Model` resource from a model package, the customer need no longer specify a container image as the model package contains all information about the underlying container(s) required for inference. To incorporate this support into the SageMaker module, it would likely entail creating a new L2 construct `ModelPackage` to represent the `AWS::SageMaker::ModelPackage` CloudFormation resource and modifying the proposed `ContainerDefinition` interface to support an optional `IModelPackage` as an attribute (while making `image: ContainerImage` an optional attribute).

### Other Information

_No response_

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CDK version used

2.54.0-alpha.0

### Environment details (OS name and version, etc.)

macOS Ventura

Contributor guide

Open the contributing guide

Research direction

Start with the SageMaker Endpoint L2 construct RFC, especially its feature additions section, then inspect the SageMaker module's existing Model and ContainerDefinition constructs. Determine how AWS::SageMaker::ModelPackage should be represented and how model-package-backed containers should be configured. Done means Marketplace models can be defined without requiring a container image and the relevant construct interfaces and tests support that path.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.