pipelines/components/aws/sagemaker/EndpointConfig
rd-pong 29444f905c
feat(components): SageMaker V2 model monitor component release (#9368)
* Generate using updated generator

* Update license version

* Update container image version

* Update Changelog.md

* Update changelog

* Update Changelog.md
2023-05-09 22:26:42 +00:00
..
src feat(components): SageMaker V2 model monitor component release (#9368) 2023-05-09 22:26:42 +00:00
README.md feat(components): Sagemaker V2 Hosting components and tests (#9243) 2023-05-03 17:56:15 +00:00
component.yaml feat(components): SageMaker V2 model monitor component release (#9368) 2023-05-09 22:26:42 +00:00

README.md

SageMaker Endpoint Config Kubeflow Pipelines component v2

Overview

EndpointConfig is one of the three components(along with Endpoint and Model) you would use to create a Hosting deployment on Sagemaker.

Component to create SageMaker Endpoint Configurations in a Kubeflow Pipelines workflow.

See the SageMaker Components for Kubeflow Pipelines versions section in SageMaker Components for Kubeflow Pipelines to learn about the differences between the version 1 and version 2 components.

Kubeflow Pipelines backend compatibility

SageMaker components are currently supported with Kubeflow pipelines backend v1. This means, you will have to use KFP sdk 1.8.x to create your pipelines.

Getting Started

Follow this guide to setup the prerequisites for Endpoint Config depending on your deployment.

Inputs Parameters

Find the high level component input parameters and their description in the component's input specification. The parameters with JsonObject or JsonArray type inputs have nested fields, you will have to refer to the EndpointConfig CRD specification for the respective structure and pass the input in JSON format.

A quick way to see the converted JSON style input is to copy the sample EndpointConfig spec and convert it to JSON using a YAML to JSON converter like this website.

For e.g. the productionVariants in the EndpointConfig CRD looks like:

productionVariants:
- acceleratorType: string
  containerStartupHealthCheckTimeoutInSeconds: integer
  coreDumpConfig: 
    destinationS3URI: string
    kmsKeyID: string
  enableSSMAccess: boolean
  initialInstanceCount: integer
  initialVariantWeight: number
  instanceType: string
  modelDataDownloadTimeoutInSeconds: integer
  modelName: string
  serverlessConfig: 
    maxConcurrency: integer
    memorySizeInMB: integer
  variantName: string
  volumeSizeInGB: integer

The productionVariants input for the component would be (not all parameters are included):

productionVariants = [
        {
            "initialInstanceCount": 1,
            "instanceType": "ml.m5.large",
            "modelName": "<my model>",
            "variantName": "<my variant>",
            "volumeSizeInGB": 10
        }
    ]

You might also want to look at the EndpointConfig API reference for a detailed explaination of parameters.

References