127 lines
5.7 KiB
YAML
127 lines
5.7 KiB
YAML
name: SageMaker - Deploy Model
|
|
description: Deploy Machine Learning Model Endpoint in SageMaker
|
|
inputs:
|
|
- {name: region, type: String, description: The region for the SageMaker resource.}
|
|
- {name: endpoint_url, type: String, description: The URL to use when communicating
|
|
with the SageMaker service., default: ''}
|
|
- {name: assume_role, type: String, description: The ARN of an IAM role to assume
|
|
when connecting to SageMaker., default: ''}
|
|
- {name: tags, type: JsonObject, description: 'An array of key-value pairs, to categorize
|
|
AWS resources.', default: '{}'}
|
|
- {name: endpoint_name, type: String, description: The name of the endpoint., default: ''}
|
|
- {name: endpoint_config_name, type: String, description: 'The name of the endpoint
|
|
configuration. If an existing endpoint is being updated, a suffix is automatically
|
|
added if this config name exists.', default: ''}
|
|
- {name: endpoint_config_tags, type: JsonObject, description: 'An array of key-value
|
|
pairs, to categorize AWS resources.', default: '{}'}
|
|
- {name: resource_encryption_key, type: String, description: The AWS KMS key that
|
|
Amazon SageMaker uses to encrypt data on the storage volume attached to the ML
|
|
compute instance(s)., default: ''}
|
|
- name: update_endpoint
|
|
type: Bool
|
|
description: Update endpoint if it exists.
|
|
default: "False"
|
|
- {name: variant_name_1, type: String, description: The name of the production variant.,
|
|
default: variant-name-1}
|
|
- {name: model_name_1, type: String, description: The model name used for endpoint
|
|
deployment.}
|
|
- {name: initial_instance_count_1, type: Integer, description: Number of instances
|
|
to launch initially., default: '1'}
|
|
- {name: instance_type_1, type: String, description: The ML compute instance type.,
|
|
default: ml.m4.xlarge}
|
|
- {name: initial_variant_weight_1, type: String, description: Determines initial traffic
|
|
distribution among all of the models that you specify in the endpoint configuration.,
|
|
default: '1.0'}
|
|
- {name: accelerator_type_1, type: String, description: The size of the Elastic Inference
|
|
(EI) instance to use for the production variant., default: ''}
|
|
- {name: variant_name_2, type: String, description: The name of the production variant.,
|
|
default: variant-name-2}
|
|
- {name: model_name_2, type: String, description: The model name used for endpoint
|
|
deployment., default: ''}
|
|
- {name: initial_instance_count_2, type: Integer, description: Number of instances
|
|
to launch initially., default: '1'}
|
|
- {name: instance_type_2, type: String, description: The ML compute instance type.,
|
|
default: ml.m4.xlarge}
|
|
- {name: initial_variant_weight_2, type: String, description: Determines initial traffic
|
|
distribution among all of the models that you specify in the endpoint configuration.,
|
|
default: '1.0'}
|
|
- {name: accelerator_type_2, type: String, description: The size of the Elastic Inference
|
|
(EI) instance to use for the production variant., default: ''}
|
|
- {name: variant_name_3, type: String, description: The name of the production variant.,
|
|
default: variant-name-3}
|
|
- {name: model_name_3, type: String, description: The model name used for endpoint
|
|
deployment., default: ''}
|
|
- {name: initial_instance_count_3, type: Integer, description: Number of instances
|
|
to launch initially., default: '1'}
|
|
- {name: instance_type_3, type: String, description: The ML compute instance type.,
|
|
default: ml.m4.xlarge}
|
|
- {name: initial_variant_weight_3, type: String, description: Determines initial traffic
|
|
distribution among all of the models that you specify in the endpoint configuration.,
|
|
default: '1.0'}
|
|
- {name: accelerator_type_3, type: String, description: The size of the Elastic Inference
|
|
(EI) instance to use for the production variant., default: ''}
|
|
outputs:
|
|
- {name: endpoint_name, description: The created endpoint name.}
|
|
implementation:
|
|
container:
|
|
image: public.ecr.aws/kubeflow-on-aws/aws-sagemaker-kfp-components:1.1.2
|
|
command: [python3]
|
|
args:
|
|
- deploy/src/sagemaker_deploy_component.py
|
|
- --region
|
|
- {inputValue: region}
|
|
- --endpoint_url
|
|
- {inputValue: endpoint_url}
|
|
- --assume_role
|
|
- {inputValue: assume_role}
|
|
- --tags
|
|
- {inputValue: tags}
|
|
- --endpoint_name
|
|
- {inputValue: endpoint_name}
|
|
- --endpoint_config_name
|
|
- {inputValue: endpoint_config_name}
|
|
- --endpoint_config_tags
|
|
- {inputValue: endpoint_config_tags}
|
|
- --resource_encryption_key
|
|
- {inputValue: resource_encryption_key}
|
|
- --update_endpoint
|
|
- {inputValue: update_endpoint}
|
|
- --variant_name_1
|
|
- {inputValue: variant_name_1}
|
|
- --model_name_1
|
|
- {inputValue: model_name_1}
|
|
- --initial_instance_count_1
|
|
- {inputValue: initial_instance_count_1}
|
|
- --instance_type_1
|
|
- {inputValue: instance_type_1}
|
|
- --initial_variant_weight_1
|
|
- {inputValue: initial_variant_weight_1}
|
|
- --accelerator_type_1
|
|
- {inputValue: accelerator_type_1}
|
|
- --variant_name_2
|
|
- {inputValue: variant_name_2}
|
|
- --model_name_2
|
|
- {inputValue: model_name_2}
|
|
- --initial_instance_count_2
|
|
- {inputValue: initial_instance_count_2}
|
|
- --instance_type_2
|
|
- {inputValue: instance_type_2}
|
|
- --initial_variant_weight_2
|
|
- {inputValue: initial_variant_weight_2}
|
|
- --accelerator_type_2
|
|
- {inputValue: accelerator_type_2}
|
|
- --variant_name_3
|
|
- {inputValue: variant_name_3}
|
|
- --model_name_3
|
|
- {inputValue: model_name_3}
|
|
- --initial_instance_count_3
|
|
- {inputValue: initial_instance_count_3}
|
|
- --instance_type_3
|
|
- {inputValue: instance_type_3}
|
|
- --initial_variant_weight_3
|
|
- {inputValue: initial_variant_weight_3}
|
|
- --accelerator_type_3
|
|
- {inputValue: accelerator_type_3}
|
|
- --endpoint_name_output_path
|
|
- {outputPath: endpoint_name}
|