diff --git a/src/sagemaker/image_uris.py b/src/sagemaker/image_uris.py index 3ca7d2ed2e..8c3449e8c4 100644 --- a/src/sagemaker/image_uris.py +++ b/src/sagemaker/image_uris.py @@ -21,7 +21,7 @@ from packaging.version import Version from sagemaker import utils -from sagemaker.jumpstart.constants import DEFAULT_JUMPSTART_SAGEMAKER_SESSION +from sagemaker.jumpstart.constants import DEFAULT_JUMPSTART_SAGEMAKER_SESSION, JUMPSTART_LOGGER from sagemaker.jumpstart.enums import JumpStartModelType from sagemaker.jumpstart.utils import is_jumpstart_model_input from sagemaker.spark import defaults @@ -154,23 +154,27 @@ def retrieve( ) if is_jumpstart_model_input(model_id, model_version): + if non_none_fields := { + key: value + for key, value in args.items() + if key in {"version", "framework", "container_version", "py_version"} + and value is not None + }: + JUMPSTART_LOGGER.info( + "Ignoring the following arguments when retrieving image uri " + "for JumpStart model id '%s': %s", + model_id, + str(non_none_fields), + ) return artifacts._retrieve_image_uri( - model_id, - model_version, - image_scope, - hub_arn, - framework, - region, - version, - py_version, - instance_type, - accelerator_type, - container_version, - distribution, - base_framework_version, - training_compiler_config, - tolerate_vulnerable_model, - tolerate_deprecated_model, + model_id=model_id, + model_version=model_version, + image_scope=image_scope, + hub_arn=hub_arn, + region=region, + instance_type=instance_type, + tolerate_vulnerable_model=tolerate_vulnerable_model, + tolerate_deprecated_model=tolerate_deprecated_model, sagemaker_session=sagemaker_session, config_name=config_name, model_type=model_type, diff --git a/src/sagemaker/jumpstart/artifacts/image_uris.py b/src/sagemaker/jumpstart/artifacts/image_uris.py index 9079b094a4..8bcb205baa 100644 --- a/src/sagemaker/jumpstart/artifacts/image_uris.py +++ b/src/sagemaker/jumpstart/artifacts/image_uris.py @@ -14,14 +14,12 @@ from __future__ import absolute_import from typing import Optional -from sagemaker import image_uris from sagemaker.jumpstart.constants import ( DEFAULT_JUMPSTART_SAGEMAKER_SESSION, ) from sagemaker.jumpstart.enums import ( JumpStartModelType, JumpStartScriptScope, - ModelFramework, ) from sagemaker.jumpstart.utils import ( get_region_fallback, @@ -35,16 +33,8 @@ def _retrieve_image_uri( model_version: str, image_scope: str, hub_arn: Optional[str] = None, - framework: Optional[str] = None, region: Optional[str] = None, - version: Optional[str] = None, - py_version: Optional[str] = None, instance_type: Optional[str] = None, - accelerator_type: Optional[str] = None, - container_version: Optional[str] = None, - distribution: Optional[str] = None, - base_framework_version: Optional[str] = None, - training_compiler_config: Optional[str] = None, tolerate_vulnerable_model: bool = False, tolerate_deprecated_model: bool = False, sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION, @@ -66,30 +56,11 @@ def _retrieve_image_uri( image_scope (str): The image type, i.e. what it is used for. Valid values: "training", "inference", "eia". If ``accelerator_type`` is set, ``image_scope`` is ignored. - framework (str): The name of the framework or algorithm. region (str): The AWS region. (Default: None). - version (str): The framework or algorithm version. This is required if there is - more than one supported version for the given framework or algorithm. - (Default: None). - py_version (str): The Python version. This is required if there is - more than one supported Python version for the given framework version. instance_type (str): The SageMaker instance type. For supported types, see https://aws.amazon.com/sagemaker/pricing/instance-types. This is required if there are different images for different processor types. (Default: None). - accelerator_type (str): Elastic Inference accelerator type. For more, see - https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html. - (Default: None). - container_version (str): the version of docker image. - Ideally the value of parameter should be created inside the framework. - For custom use, see the list of supported container versions: - https://github.com/aws/deep-learning-containers/blob/master/available_images.md. - (Default: None). - distribution (dict): A dictionary with information on how to run distributed training. - (Default: None). - training_compiler_config (:class:`~sagemaker.training_compiler.TrainingCompilerConfig`): - A configuration class for the SageMaker Training Compiler. - (Default: None). tolerate_vulnerable_model (bool): True if vulnerable versions of model specifications should be tolerated (exception not raised). If False, raises an exception if the script used by this version of the model has dependencies with known @@ -142,14 +113,12 @@ def _retrieve_image_uri( ecr_uri = model_specs.hosting_ecr_uri return ecr_uri - ecr_specs = model_specs.hosting_ecr_specs - if ecr_specs is None: - raise ValueError( - f"No inference ECR configuration found for JumpStart model ID '{model_id}' " - f"with {instance_type} instance type in {region}. " - "Please try another instance type or region." - ) - elif image_scope == JumpStartScriptScope.TRAINING: + raise ValueError( + f"No inference ECR configuration found for JumpStart model ID '{model_id}' " + f"with {instance_type} instance type in {region}. " + "Please try another instance type or region." + ) + if image_scope == JumpStartScriptScope.TRAINING: training_instance_type_variants = model_specs.training_instance_type_variants if training_instance_type_variants: image_uri = training_instance_type_variants.get_image_uri( @@ -161,65 +130,10 @@ def _retrieve_image_uri( ecr_uri = model_specs.training_ecr_uri return ecr_uri - ecr_specs = model_specs.training_ecr_specs - if ecr_specs is None: - raise ValueError( - f"No training ECR configuration found for JumpStart model ID '{model_id}' " - f"with {instance_type} instance type in {region}. " - "Please try another instance type or region." - ) - if framework is not None and framework != ecr_specs.framework: - raise ValueError( - f"Incorrect container framework '{framework}' for JumpStart model ID '{model_id}' " - f"and version '{model_version}'." - ) - - if version is not None and version != ecr_specs.framework_version: - raise ValueError( - f"Incorrect container framework version '{version}' for JumpStart model ID " - f"'{model_id}' and version '{model_version}'." - ) - - if py_version is not None and py_version != ecr_specs.py_version: raise ValueError( - f"Incorrect python version '{py_version}' for JumpStart model ID '{model_id}' " - f"and version '{model_version}'." - ) - - base_framework_version_override: Optional[str] = None - version_override: Optional[str] = None - if ecr_specs.framework == ModelFramework.HUGGINGFACE: - base_framework_version_override = ecr_specs.framework_version - version_override = ecr_specs.huggingface_transformers_version - - if image_scope == JumpStartScriptScope.TRAINING: - return image_uris.get_training_image_uri( - region=region, - framework=ecr_specs.framework, - framework_version=version_override or ecr_specs.framework_version, - py_version=ecr_specs.py_version, - image_uri=None, - distribution=None, - compiler_config=None, - tensorflow_version=None, - pytorch_version=base_framework_version_override or base_framework_version, - instance_type=instance_type, + f"No training ECR configuration found for JumpStart model ID '{model_id}' " + f"with {instance_type} instance type in {region}. " + "Please try another instance type or region." ) - if base_framework_version_override is not None: - base_framework_version_override = f"pytorch{base_framework_version_override}" - return image_uris.retrieve( - framework=ecr_specs.framework, - region=region, - version=version_override or ecr_specs.framework_version, - py_version=ecr_specs.py_version, - instance_type=instance_type, - hub_arn=hub_arn, - accelerator_type=accelerator_type, - image_scope=image_scope, - container_version=container_version, - distribution=distribution, - base_framework_version=base_framework_version_override or base_framework_version, - training_compiler_config=training_compiler_config, - config_name=config_name, - ) + raise ValueError(f"Invalid scope: {image_scope}") diff --git a/tests/integ/sagemaker/jumpstart/constants.py b/tests/integ/sagemaker/jumpstart/constants.py index 27279feecf..1ffb1d8dc0 100644 --- a/tests/integ/sagemaker/jumpstart/constants.py +++ b/tests/integ/sagemaker/jumpstart/constants.py @@ -46,6 +46,7 @@ def _to_s3_path(filename: str, s3_prefix: Optional[str]) -> str: TRAINING_DATASET_MODEL_DICT = { ("huggingface-spc-bert-base-cased", "1.0.0"): ("training-datasets/QNLI-tiny/"), ("huggingface-spc-bert-base-cased", "1.2.3"): ("training-datasets/QNLI-tiny/"), + ("huggingface-spc-bert-base-cased", "2.0.3"): ("training-datasets/QNLI-tiny/"), ("huggingface-spc-bert-base-cased", "*"): ("training-datasets/QNLI-tiny/"), ("js-trainable-model", "*"): ("training-datasets/QNLI-tiny/"), ("meta-textgeneration-llama-2-7b", "*"): ("training-datasets/sec_amazon/"), diff --git a/tests/integ/sagemaker/jumpstart/retrieve_uri/inference.py b/tests/integ/sagemaker/jumpstart/retrieve_uri/inference.py index 4ad58153e9..7fbac1cdba 100644 --- a/tests/integ/sagemaker/jumpstart/retrieve_uri/inference.py +++ b/tests/integ/sagemaker/jumpstart/retrieve_uri/inference.py @@ -77,6 +77,10 @@ def package_artifacts(self): self.model_name = self.get_model_name() + if self.script_uri is None: + print("No script uri provided. Not performing prepack") + return self.model_uri + cache_bucket_uri = f"s3://{get_test_artifact_bucket()}" repacked_model_uri = "/".join( [ @@ -147,16 +151,26 @@ def get_model_name(self) -> str: return f"{non_timestamped_name}{self.suffix}" def create_model(self) -> None: + primary_container = { + "Image": self.image_uri, + "Mode": "SingleModel", + "Environment": self.environment_variables, + } + if self.repacked_model_uri.endswith(".tar.gz"): + primary_container["ModelDataUrl"] = self.repacked_model_uri + else: + primary_container["ModelDataSource"] = { + "S3DataSource": { + "S3Uri": self.repacked_model_uri, + "S3DataType": "S3Prefix", + "CompressionType": "None", + } + } self.sagemaker_client.create_model( ModelName=self.model_name, EnableNetworkIsolation=True, ExecutionRoleArn=self.execution_role, - PrimaryContainer={ - "Image": self.image_uri, - "ModelDataUrl": self.repacked_model_uri, - "Mode": "SingleModel", - "Environment": self.environment_variables, - }, + PrimaryContainer=primary_container, ) def create_endpoint_config(self) -> None: diff --git a/tests/integ/sagemaker/jumpstart/retrieve_uri/test_inference.py b/tests/integ/sagemaker/jumpstart/retrieve_uri/test_inference.py index 550e2481cd..5f23428908 100644 --- a/tests/integ/sagemaker/jumpstart/retrieve_uri/test_inference.py +++ b/tests/integ/sagemaker/jumpstart/retrieve_uri/test_inference.py @@ -17,7 +17,6 @@ InferenceJobLauncher, ) from sagemaker import environment_variables, image_uris -from sagemaker import script_uris from sagemaker import model_uris from tests.integ.sagemaker.jumpstart.constants import InferenceTabularDataname @@ -31,8 +30,8 @@ def test_jumpstart_inference_retrieve_functions(setup): - model_id, model_version = "catboost-classification-model", "1.0.0" - instance_type = "ml.m5.xlarge" + model_id, model_version = "catboost-classification-model", "2.1.6" + instance_type = "ml.m5.4xlarge" print("Starting inference...") @@ -46,13 +45,6 @@ def test_jumpstart_inference_retrieve_functions(setup): tolerate_vulnerable_model=True, ) - script_uri = script_uris.retrieve( - model_id=model_id, - model_version=model_version, - script_scope="inference", - tolerate_vulnerable_model=True, - ) - model_uri = model_uris.retrieve( model_id=model_id, model_version=model_version, @@ -68,7 +60,7 @@ def test_jumpstart_inference_retrieve_functions(setup): inference_job = InferenceJobLauncher( image_uri=image_uri, - script_uri=script_uri, + script_uri=None, model_uri=model_uri, instance_type=instance_type, base_name="catboost", diff --git a/tests/integ/sagemaker/jumpstart/retrieve_uri/test_transfer_learning.py b/tests/integ/sagemaker/jumpstart/retrieve_uri/test_transfer_learning.py index 4e65cc5b58..7cb0f34fbf 100644 --- a/tests/integ/sagemaker/jumpstart/retrieve_uri/test_transfer_learning.py +++ b/tests/integ/sagemaker/jumpstart/retrieve_uri/test_transfer_learning.py @@ -33,7 +33,7 @@ def test_jumpstart_transfer_learning_retrieve_functions(setup): - model_id, model_version = "huggingface-spc-bert-base-cased", "1.0.0" + model_id, model_version = "huggingface-spc-bert-base-cased", "2.0.3" training_instance_type = "ml.p3.2xlarge" inference_instance_type = "ml.p2.xlarge" diff --git a/tests/unit/sagemaker/hyperparameters/jumpstart/test_default.py b/tests/unit/sagemaker/hyperparameters/jumpstart/test_default.py index 565ebbce87..d0915b8881 100644 --- a/tests/unit/sagemaker/hyperparameters/jumpstart/test_default.py +++ b/tests/unit/sagemaker/hyperparameters/jumpstart/test_default.py @@ -46,7 +46,13 @@ def test_jumpstart_default_hyperparameters( model_version="*", sagemaker_session=mock_session, ) - assert params == {"adam-learning-rate": "0.05", "batch-size": "4", "epochs": "3"} + assert params == { + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + } patched_get_model_specs.assert_called_once_with( region=region, @@ -66,7 +72,13 @@ def test_jumpstart_default_hyperparameters( model_version="1.*", sagemaker_session=mock_session, ) - assert params == {"adam-learning-rate": "0.05", "batch-size": "4", "epochs": "3"} + assert params == { + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + } patched_get_model_specs.assert_called_once_with( region=region, @@ -88,12 +100,14 @@ def test_jumpstart_default_hyperparameters( sagemaker_session=mock_session, ) assert params == { - "adam-learning-rate": "0.05", - "batch-size": "4", - "epochs": "3", - "sagemaker_container_log_level": "20", - "sagemaker_program": "transfer_learning.py", + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", "sagemaker_submit_directory": "/opt/ml/input/data/code/sourcedir.tar.gz", + "sagemaker_program": "transfer_learning.py", + "sagemaker_container_log_level": "20", } patched_get_model_specs.assert_called_once_with( diff --git a/tests/unit/sagemaker/hyperparameters/jumpstart/test_validate.py b/tests/unit/sagemaker/hyperparameters/jumpstart/test_validate.py index edf2cfca59..af5413ce6b 100644 --- a/tests/unit/sagemaker/hyperparameters/jumpstart/test_validate.py +++ b/tests/unit/sagemaker/hyperparameters/jumpstart/test_validate.py @@ -21,7 +21,7 @@ from sagemaker.jumpstart.exceptions import JumpStartHyperparametersError from sagemaker.jumpstart.types import JumpStartHyperparameter -from tests.unit.sagemaker.jumpstart.utils import get_spec_from_base_spec +from tests.unit.sagemaker.jumpstart.utils import get_prototype_model_spec region = "us-west-2" mock_client = boto3.client("s3") @@ -34,7 +34,7 @@ def test_jumpstart_validate_provided_hyperparameters( patched_get_model_specs, patched_validate_model_id_and_get_type ): def add_options_to_hyperparameter(*largs, **kwargs): - spec = get_spec_from_base_spec(*largs, **kwargs) + spec = get_prototype_model_spec(*largs, **kwargs) spec.hyperparameters.extend( [ JumpStartHyperparameter( @@ -115,7 +115,7 @@ def add_options_to_hyperparameter(*largs, **kwargs): patched_get_model_specs.side_effect = add_options_to_hyperparameter patched_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS - model_id, model_version = "pytorch-eqa-bert-base-cased", "*" + model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*" region = "us-west-2" hyperparameter_to_test = { @@ -412,7 +412,7 @@ def test_jumpstart_validate_algorithm_hyperparameters( patched_get_model_specs, patched_validate_model_id_and_get_type ): def add_options_to_hyperparameter(*largs, **kwargs): - spec = get_spec_from_base_spec(*largs, **kwargs) + spec = get_prototype_model_spec(*largs, **kwargs) spec.hyperparameters.append( JumpStartHyperparameter( { @@ -429,10 +429,11 @@ def add_options_to_hyperparameter(*largs, **kwargs): patched_get_model_specs.side_effect = add_options_to_hyperparameter patched_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS - model_id, model_version = "pytorch-eqa-bert-base-cased", "*" + model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*" region = "us-west-2" hyperparameter_to_test = { + "train-only-top-layer": "True", "adam-learning-rate": "0.05", "batch-size": "4", "epochs": "3", @@ -488,13 +489,14 @@ def test_jumpstart_validate_all_hyperparameters( patched_get_model_specs, patched_validate_model_id_and_get_type ): - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_prototype_model_spec patched_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS - model_id, model_version = "pytorch-eqa-bert-base-cased", "*" + model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*" region = "us-west-2" hyperparameter_to_test = { + "train-only-top-layer": "True", "adam-learning-rate": "0.05", "batch-size": "4", "epochs": "3", diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_catboost.py b/tests/unit/sagemaker/image_uris/jumpstart/test_catboost.py index 9261fd561e..98ddefb2c2 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_catboost.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_catboost.py @@ -30,7 +30,7 @@ def test_jumpstart_catboost_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec model_id, model_version = "catboost-classification-model", "*" - instance_type = "ml.p2.xlarge" + instance_type = "ml.m5.xlarge" region = "us-west-2" model_specs = accessors.JumpStartModelsAccessor.get_model_specs(region, model_id, model_version) @@ -55,7 +55,7 @@ def test_jumpstart_catboost_image_uri(patched_get_model_specs, session): ).serving_image_uri(region, instance_type) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.9.0-gpu-py38" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310" # training uri = image_uris.retrieve( @@ -78,4 +78,4 @@ def test_jumpstart_catboost_image_uri(patched_get_model_specs, session): ).training_image_uri(region=region) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38" diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_common.py b/tests/unit/sagemaker/image_uris/jumpstart/test_common.py index cc3723c3c5..9a4febd0e4 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_common.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_common.py @@ -47,7 +47,7 @@ def test_jumpstart_common_image_uri( image_scope="training", model_id="pytorch-ic-mobilenet-v2", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", sagemaker_session=mock_session, ) patched_get_model_specs.assert_called_once_with( @@ -70,7 +70,7 @@ def test_jumpstart_common_image_uri( image_scope="inference", model_id="pytorch-ic-mobilenet-v2", model_version="1.*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", sagemaker_session=mock_session, ) patched_get_model_specs.assert_called_once_with( @@ -93,7 +93,7 @@ def test_jumpstart_common_image_uri( image_scope="training", model_id="pytorch-ic-mobilenet-v2", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", sagemaker_session=mock_session, ) patched_get_model_specs.assert_called_once_with( @@ -116,7 +116,7 @@ def test_jumpstart_common_image_uri( image_scope="inference", model_id="pytorch-ic-mobilenet-v2", model_version="1.*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", sagemaker_session=mock_session, ) patched_get_model_specs.assert_called_once_with( @@ -137,7 +137,7 @@ def test_jumpstart_common_image_uri( image_scope="BAD_SCOPE", model_id="pytorch-ic-mobilenet-v2", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) with pytest.raises(KeyError): @@ -147,7 +147,7 @@ def test_jumpstart_common_image_uri( image_scope="training", model_id="blah", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) with pytest.raises(ValueError): @@ -157,7 +157,7 @@ def test_jumpstart_common_image_uri( image_scope="training", model_id="pytorch-ic-mobilenet-v2", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) with pytest.raises(ValueError): @@ -166,7 +166,7 @@ def test_jumpstart_common_image_uri( region="us-west-2", model_id="pytorch-ic-mobilenet-v2", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) with pytest.raises(ValueError): @@ -175,7 +175,7 @@ def test_jumpstart_common_image_uri( region="us-west-2", image_scope="training", model_version="*", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) with pytest.raises(ValueError): @@ -184,5 +184,56 @@ def test_jumpstart_common_image_uri( framework=None, image_scope="training", model_id="pytorch-ic-mobilenet-v2", - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", ) + + +@patch("sagemaker.image_uris.JUMPSTART_LOGGER.info") +@patch("sagemaker.jumpstart.utils.validate_model_id_and_get_type") +@patch("sagemaker.jumpstart.artifacts.image_uris.verify_model_region_and_return_specs") +@patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") +def test_jumpstart_image_uri_logging_extra_fields( + patched_get_model_specs, + patched_verify_model_region_and_return_specs, + patched_validate_model_id_and_get_type, + patched_info_log, +): + + patched_verify_model_region_and_return_specs.side_effect = verify_model_region_and_return_specs + patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS + + region = "us-west-2" + mock_client = boto3.client("s3") + mock_session = Mock(s3_client=mock_client, boto_region_name=region) + + image_uris.retrieve( + framework=None, + region="us-west-2", + image_scope="training", + model_id="pytorch-ic-mobilenet-v2", + model_version="*", + instance_type="ml.m5.xlarge", + sagemaker_session=mock_session, + ) + + patched_info_log.assert_not_called() + + image_uris.retrieve( + framework="framework", + container_version="1.2.3", + region="us-west-2", + image_scope="training", + model_id="pytorch-ic-mobilenet-v2", + model_version="*", + instance_type="ml.m5.xlarge", + sagemaker_session=mock_session, + ) + + patched_info_log.assert_called_once_with( + "Ignoring the following arguments " + "when retrieving image uri for " + "JumpStart model id '%s': %s", + "pytorch-ic-mobilenet-v2", + "{'framework': 'framework', 'container_version': '1.2.3'}", + ) diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_huggingface.py b/tests/unit/sagemaker/image_uris/jumpstart/test_huggingface.py index 1ce213cd27..0f426103e8 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_huggingface.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_huggingface.py @@ -28,7 +28,8 @@ def test_jumpstart_huggingface_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec model_id, model_version = "huggingface-spc-bert-base-cased", "*" - instance_type = "ml.p2.xlarge" + instance_type = "ml.m5.xlarge" + training_instance_type = "ml.p3.2xlarge" region = "us-west-2" model_specs = accessors.JumpStartModelsAccessor.get_model_specs(region, model_id, model_version) @@ -55,7 +56,7 @@ def test_jumpstart_huggingface_image_uri(patched_get_model_specs, session): assert ( uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:" - "1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04" + "1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04" ) # training @@ -65,7 +66,7 @@ def test_jumpstart_huggingface_image_uri(patched_get_model_specs, session): image_scope="training", model_id=model_id, model_version=model_version, - instance_type=instance_type, + instance_type=training_instance_type, ) framework_class_uri = HuggingFace( @@ -75,7 +76,7 @@ def test_jumpstart_huggingface_image_uri(patched_get_model_specs, session): entry_point="some_entry_point", transformers_version=model_specs.training_ecr_specs.huggingface_transformers_version, pytorch_version=model_specs.training_ecr_specs.framework_version, - instance_type=instance_type, + instance_type=training_instance_type, instance_count=1, sagemaker_session=session, ).training_image_uri(region=region) diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_lightgbm.py b/tests/unit/sagemaker/image_uris/jumpstart/test_lightgbm.py index e907a19b51..159d801867 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_lightgbm.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_lightgbm.py @@ -28,7 +28,7 @@ def test_jumpstart_lightgbm_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec model_id, model_version = "lightgbm-classification-model", "*" - instance_type = "ml.p2.xlarge" + instance_type = "ml.m5.xlarge" region = "us-west-2" model_specs = accessors.JumpStartModelsAccessor.get_model_specs(region, model_id, model_version) @@ -53,7 +53,7 @@ def test_jumpstart_lightgbm_image_uri(patched_get_model_specs, session): ).serving_image_uri(region, instance_type) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.9.0-gpu-py38" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310" # training uri = image_uris.retrieve( @@ -76,4 +76,4 @@ def test_jumpstart_lightgbm_image_uri(patched_get_model_specs, session): ).training_image_uri(region=region) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38" diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_mxnet.py b/tests/unit/sagemaker/image_uris/jumpstart/test_mxnet.py index 9fd09d47d9..4d09c36b68 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_mxnet.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_mxnet.py @@ -28,7 +28,7 @@ def test_jumpstart_mxnet_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*" - instance_type = "ml.p2.xlarge" + instance_type = "ml.m5.xlarge" region = "us-west-2" model_specs = accessors.JumpStartModelsAccessor.get_model_specs(region, model_id, model_version) @@ -53,7 +53,7 @@ def test_jumpstart_mxnet_image_uri(patched_get_model_specs, session): ).serving_image_uri(region, instance_type) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-inference:1.7.0-gpu-py3" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38" # training uri = image_uris.retrieve( @@ -76,4 +76,4 @@ def test_jumpstart_mxnet_image_uri(patched_get_model_specs, session): ).training_image_uri(region=region) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-training:1.7.0-gpu-py3" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38" diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_pytorch.py b/tests/unit/sagemaker/image_uris/jumpstart/test_pytorch.py index a94801da10..24e759e6bc 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_pytorch.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_pytorch.py @@ -27,7 +27,7 @@ def test_jumpstart_pytorch_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec - model_id, model_version = "pytorch-eqa-bert-base-cased", "*" + model_id, model_version = "pytorch-ic-mobilenet-v2", "*" instance_type = "ml.p2.xlarge" region = "us-west-2" @@ -53,7 +53,7 @@ def test_jumpstart_pytorch_image_uri(patched_get_model_specs, session): ).serving_image_uri(region, instance_type) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.5.0-gpu-py3" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38" # training uri = image_uris.retrieve( @@ -76,4 +76,4 @@ def test_jumpstart_pytorch_image_uri(patched_get_model_specs, session): ).training_image_uri(region=region) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-gpu-py3" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38" diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_sklearn.py b/tests/unit/sagemaker/image_uris/jumpstart/test_sklearn.py index 1410c59bb6..af0614c465 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_sklearn.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_sklearn.py @@ -29,7 +29,7 @@ def test_jumpstart_sklearn_image_uri(patched_get_model_specs, session): patched_get_model_specs.side_effect = get_prototype_model_spec model_id, model_version = "sklearn-classification-linear", "*" - instance_type = "ml.m2.xlarge" + instance_type = "ml.m5.xlarge" region = "us-west-2" model_specs = accessors.JumpStartModelsAccessor.get_model_specs(region, model_id, model_version) @@ -53,9 +53,15 @@ def test_jumpstart_sklearn_image_uri(patched_get_model_specs, session): sagemaker_session=session, ).serving_image_uri(region, instance_type) - assert uri == framework_class_uri + # framework classes dont use digest. assert ( - uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:0.23-1-cpu-py3" + framework_class_uri + == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:1.2-1" + "-cpu-py3" + ) + assert ( + uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn@" + "sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" ) # training @@ -79,9 +85,14 @@ def test_jumpstart_sklearn_image_uri(patched_get_model_specs, session): sagemaker_session=session, ).training_image_uri(region=region) - assert uri == framework_class_uri + # framework classes dont use digest. + assert ( + framework_class_uri + == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:1.2-1-cpu-py3" + ) assert ( - uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:0.23-1-cpu-py3" + uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn" + "@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" ) with pytest.raises(ValueError): diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_tensorflow.py b/tests/unit/sagemaker/image_uris/jumpstart/test_tensorflow.py index c924615212..cfe57f4053 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_tensorflow.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_tensorflow.py @@ -52,7 +52,7 @@ def test_jumpstart_tensorflow_image_uri(patched_get_model_specs, session): ).serving_image_uri(region, instance_type) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.3-gpu" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.8-gpu" # training uri = image_uris.retrieve( @@ -75,4 +75,4 @@ def test_jumpstart_tensorflow_image_uri(patched_get_model_specs, session): ).training_image_uri(region=region) assert uri == framework_class_uri - assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.3-gpu-py37" + assert uri == "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.9-gpu-py39" diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_variants.py b/tests/unit/sagemaker/image_uris/jumpstart/test_variants.py index 20547caca3..80bf54f722 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_variants.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_variants.py @@ -52,9 +52,8 @@ def test_jumpstart_variants_image_uri( instance_type="ml.c2.xlarge", ) - assert ( - "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.5.0-cpu-py3" - == image_uris.retrieve( + with pytest.raises(ValueError): + image_uris.retrieve( framework=None, region="us-west-2", image_scope="inference", @@ -62,7 +61,6 @@ def test_jumpstart_variants_image_uri( model_version="*", instance_type="ml.c200000.xlarge", ) - ) with pytest.raises(ValueError): image_uris.retrieve( @@ -74,9 +72,8 @@ def test_jumpstart_variants_image_uri( instance_type="ml.c2.xlarge", ) - assert ( - "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-gpu-py3" - == image_uris.retrieve( + with pytest.raises(ValueError): + image_uris.retrieve( framework=None, region="us-west-2", image_scope="training", @@ -84,4 +81,3 @@ def test_jumpstart_variants_image_uri( model_version="*", instance_type="ml.g4dn.2xlarge", ) - ) diff --git a/tests/unit/sagemaker/image_uris/jumpstart/test_xgboost.py b/tests/unit/sagemaker/image_uris/jumpstart/test_xgboost.py index 5da3b71176..7817980bac 100644 --- a/tests/unit/sagemaker/image_uris/jumpstart/test_xgboost.py +++ b/tests/unit/sagemaker/image_uris/jumpstart/test_xgboost.py @@ -52,8 +52,15 @@ def test_jumpstart_xgboost_image_uri(patched_get_model_specs, session): sagemaker_session=session, ).serving_image_uri(region, instance_type) - assert uri == framework_class_uri - assert uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1" + # framework classes dont use digest + assert ( + framework_class_uri + == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.7-1" + ) + assert ( + uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost@sha256:" + "ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + ) # training uri = image_uris.retrieve( @@ -76,5 +83,12 @@ def test_jumpstart_xgboost_image_uri(patched_get_model_specs, session): sagemaker_session=session, ).training_image_uri(region=region) - assert uri == framework_class_uri - assert uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1" + # framework classes dont use digest + assert ( + framework_class_uri + == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.7-1" + ) + assert ( + uri == "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost" + "@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + ) diff --git a/tests/unit/sagemaker/instance_types/jumpstart/test_instance_types.py b/tests/unit/sagemaker/instance_types/jumpstart/test_instance_types.py index 5db149c4c3..2b73766ea4 100644 --- a/tests/unit/sagemaker/instance_types/jumpstart/test_instance_types.py +++ b/tests/unit/sagemaker/instance_types/jumpstart/test_instance_types.py @@ -43,7 +43,7 @@ def test_jumpstart_instance_types(patched_get_model_specs, patched_validate_mode scope="training", sagemaker_session=mock_session, ) - assert default_training_instance_types == "ml.p3.2xlarge" + assert default_training_instance_types == "ml.m5.xlarge" patched_get_model_specs.assert_called_once_with( region=region, @@ -64,7 +64,7 @@ def test_jumpstart_instance_types(patched_get_model_specs, patched_validate_mode scope="inference", sagemaker_session=mock_session, ) - assert default_inference_instance_types == "ml.p2.xlarge" + assert default_inference_instance_types == "ml.m5.large" patched_get_model_specs.assert_called_once_with( region=region, @@ -85,13 +85,7 @@ def test_jumpstart_instance_types(patched_get_model_specs, patched_validate_mode scope="training", sagemaker_session=mock_session, ) - assert default_training_instance_types == [ - "ml.p3.2xlarge", - "ml.p2.xlarge", - "ml.g4dn.2xlarge", - "ml.m5.xlarge", - "ml.c5.2xlarge", - ] + assert default_training_instance_types == ["ml.m5.xlarge", "ml.c5.2xlarge", "ml.m4.xlarge"] patched_get_model_specs.assert_called_once_with( region=region, @@ -113,13 +107,12 @@ def test_jumpstart_instance_types(patched_get_model_specs, patched_validate_mode sagemaker_session=mock_session, ) assert default_inference_instance_types == [ - "ml.p2.xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", + "ml.m4.large", + "ml.m4.xlarge", ] patched_get_model_specs.assert_called_once_with( diff --git a/tests/unit/sagemaker/jumpstart/constants.py b/tests/unit/sagemaker/jumpstart/constants.py index d22428f4f0..59f38bd189 100644 --- a/tests/unit/sagemaker/jumpstart/constants.py +++ b/tests/unit/sagemaker/jumpstart/constants.py @@ -12,8 +12,281 @@ # language governing permissions and limitations under the License. from __future__ import absolute_import +# flake8: noqa: E501 SPECIAL_MODEL_SPECS_DICT = { + "js-model-class-model-prepacked": { + "model_id": "huggingface-txt2img-conflictx-complex-lineart", + "url": "https://huggingface.co/Conflictx/Complex-Lineart", + "version": "2.0.3", + "min_sdk_version": "2.189.0", + "training_supported": False, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "huggingface", + "framework_version": "1.10.2", + "py_version": "py38", + "huggingface_transformers_version": "4.17.0", + }, + "hosting_artifact_key": "huggingface-txt2img/huggingface-txt2img-conflictx-complex-lineart/artifacts/inference/v1.0.0/", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/txt2img/v1.1.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-txt2img/huggingface-txt2img-conflictx-complex-lineart/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, + "inference_vulnerable": False, + "inference_dependencies": [ + "accelerate==0.16.0", + "diffusers==0.12.1", + "huggingface_hub==0.12.0", + "transformers==4.26.0", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.p3.2xlarge", + "supported_inference_instance_types": [ + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json", "application/x-text"], + "supported_accept_types": [ + "application/json", + "application/json;verbose", + "application/json;jpeg", + ], + "default_content_type": "application/x-text", + "default_accept_type": "application/json;jpeg", + }, + "inference_enable_network_isolation": True, + "validation_supported": False, + "fine_tuning_supported": False, + "resource_name_base": "hf-txt2img-conflictx-complex-lineart", + "default_payloads": { + "Astronaut": {"content_type": "application/x-text", "body": "astronaut on a horse"} + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-cpu-py38-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, + }, "gemma-model": { "model_id": "huggingface-llm-gemma-7b-instruct", "url": "https://huggingface.co/google/gemma-7b-it", @@ -2188,21 +2461,20 @@ "env-var-variant-model": { "model_id": "huggingface-llm-falcon-180b-bf16", "url": "https://huggingface.co/tiiuae/falcon-180B", - "version": "1.0.0", - "min_sdk_version": "2.175.0", + "version": "1.6.2", + "min_sdk_version": "2.188.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface-llm", - "framework_version": "0.9.3", - "py_version": "py39", - "huggingface_transformers_version": "4.29.2", + "framework_version": "1.4.0", + "py_version": "py310", + "huggingface_transformers_version": "4.33.2", }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-llm-falcon-180b-bf16.tar.gz", + "hosting_artifact_key": "huggingface-infer/v1.2.0/infer-huggingface-llm-falcon-180b-bf16.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/llm/v1.0.1/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.1/infer-prepack" - "-huggingface-llm-falcon-180b-bf16.tar.gz", - "hosting_prepacked_artifact_version": "1.0.1", + "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.2.0/infer-prepack-huggingface-llm-falcon-180b-bf16.tar.gz", + "hosting_prepacked_artifact_version": "1.2.0", "hosting_use_script_uri": False, "inference_vulnerable": False, "inference_dependencies": [], @@ -2299,7 +2571,7 @@ ], "metrics": [], "default_inference_instance_type": "ml.p4de.24xlarge", - "supported_inference_instance_types": ["ml.p4de.24xlarge"], + "supported_inference_instance_types": ["ml.p4de.24xlarge", "ml.p5.48xlarge"], "model_kwargs": {}, "deploy_kwargs": { "model_data_download_timeout": 3600, @@ -2316,43 +2588,281 @@ "validation_supported": False, "fine_tuning_supported": False, "resource_name_base": "hf-llm-falcon-180b-bf16", - "hosting_instance_type_variants": { - "regional_aliases": { - "us-west-2": { - "gpu_image_uri": "763104351884.dkr.ecr.us-west-2.amazonaws.com/" - "huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", - "cpu_image_uri": "867930986793.dkr.us-west-2.amazonaws.com/cpu-blah", - } + "default_payloads": { + "Girafatron": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:", + "parameters": { + "max_new_tokens": 50, + "return_full_text": False, + "do_sample": True, + "top_k": 10, + "stop": ["Daniel:"], + "decoder_input_details": True, + "details": True, + }, + }, }, - "variants": { - "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "80"}}}, - "ml.p4d.24xlarge": { - "properties": { - "environment_variables": { - "YODEL": "NACEREMA", - } - } + "Factorial": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Write a program to compute factorial in python:", + "parameters": { + "max_new_tokens": 200, + "decoder_input_details": True, + "details": True, + }, }, }, - }, - }, - "inference-instance-types-variant-model": { - "model_id": "huggingface-llm-falcon-180b-bf16", - "url": "https://huggingface.co/tiiuae/falcon-180B", - "version": "1.0.0", - "min_sdk_version": "2.175.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { + "Website": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Building a website can be done in 10 simple steps:", + "parameters": { + "max_new_tokens": 256, + "decoder_input_details": True, + "details": True, + }, + }, + }, + "TranslateEnglishToFrench": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Translate English to French:\n\nsea otter => loutre de mer\n\npeppermint => menthe poivr\u00e9e\n\nplush girafe => girafe peluche\n\ncheese =>", + "parameters": { + "max_new_tokens": 3, + "decoder_input_details": True, + "details": True, + }, + }, + }, + "SentimentAnalysis": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": '"I hate it when my phone battery dies."\nSentiment: Negative\n###\nTweet: "My day has been :+1:"\nSentiment: Positive\n###\nTweet: "This is the link to the article"\nSentiment: Neutral\n###\nTweet: "This new music video was incredibile"\nSentiment:', + "parameters": { + "max_new_tokens": 2, + "decoder_input_details": True, + "details": True, + }, + }, + }, + "QuestionAnswering": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Could you remind me when was the C programming language invented?", + "parameters": { + "max_new_tokens": 50, + "decoder_input_details": True, + "details": True, + }, + }, + }, + "RecipeGeneration": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "What is the recipe for a delicious lemon cheesecake?", + "parameters": { + "max_new_tokens": 256, + "decoder_input_details": True, + "details": True, + }, + }, + }, + "Summarization": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Starting today, the state-of-the-art Falcon 40B foundation model from Technology\nInnovation Institute (TII) is available on Amazon SageMaker JumpStart, SageMaker's machine learning (ML) hub\nthat offers pre-trained models, built-in algorithms, and pre-built solution templates to help you quickly get\nstarted with ML. You can deploy and use this Falcon LLM with a few clicks in SageMaker Studio or\nprogrammatically through the SageMaker Python SDK.\nFalcon 40B is a 40-billion-parameter large language model (LLM) available under the Apache 2.0 license that\nranked #1 in Hugging Face Open LLM leaderboard, which tracks, ranks, and evaluates LLMs across multiple\nbenchmarks to identify top performing models. Since its release in May 2023, Falcon 40B has demonstrated\nexceptional performance without specialized fine-tuning. To make it easier for customers to access this\nstate-of-the-art model, AWS has made Falcon 40B available to customers via Amazon SageMaker JumpStart.\nNow customers can quickly and easily deploy their own Falcon 40B model and customize it to fit their specific\nneeds for applications such as translation, question answering, and summarizing information.\nFalcon 40B are generally available today through Amazon SageMaker JumpStart in US East (Ohio),\nUS East (N. Virginia), US West (Oregon), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Mumbai),\nEurope (London), Europe (Frankfurt), Europe (Ireland), and Canada (Central),\nwith availability in additional AWS Regions coming soon. To learn how to use this new feature,\nplease see SageMaker JumpStart documentation, the Introduction to SageMaker JumpStart \u2013\nText Generation with Falcon LLMs example notebook, and the blog Technology Innovation Institute trains\nthe state-of-the-art Falcon LLM 40B foundation model on Amazon SageMaker. Summarize the article above:", + "parameters": { + "max_new_tokens": 256, + "decoder_input_details": True, + "details": True, + }, + }, + }, + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-2": { + "gpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "ml.g4dn.12xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.12xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + "ml.p4d.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + "ml.p4de.24xlarge": { + "properties": { + "environment_variables": {"SM_NUM_GPUS": "8"}, + "resource_requirements": {"min_memory_mb": 589824, "num_accelerators": 8}, + } + }, + "ml.p5.48xlarge": { + "properties": { + "resource_requirements": {"min_memory_mb": 1048576, "num_accelerators": 8} + } + }, + "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "80"}}}, + "ml.p4d.24xlarge": { + "properties": { + "environment_variables": { + "YODEL": "NACEREMA", + } + } + }, + }, + }, + "hosting_resource_requirements": {"min_memory_mb": 589824, "num_accelerators": 8}, + "dynamic_container_deployment_supported": True, + "bedrock_console_supported": True, + "bedrock_io_mapping_id": "tgi_default_1.0.0", + }, + "inference-instance-types-variant-model": { + "model_id": "huggingface-llm-falcon-180b-bf16", + "url": "https://huggingface.co/tiiuae/falcon-180B", + "version": "1.0.0", + "min_sdk_version": "2.175.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { "framework": "huggingface-llm", "framework_version": "0.9.3", "py_version": "py39", @@ -4039,106 +4549,64 @@ "model-artifact-variant-model": { "model_id": "pytorch-ic-mobilenet-v2", "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", - "version": "1.0.0", - "min_sdk_version": "2.49.0", + "version": "3.0.6", + "min_sdk_version": "2.189.0", "training_supported": True, "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", }, - "hosting_instance_type_variants": { - "regional_aliases": { - "us-west-2": { - "gpu_image_uri": "763104351884.dkr.ecr.us-west-2.amazonaws.com/" - "huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", - "cpu_image_uri": "867930986793.dkr.us-west-2.amazonaws.com/cpu-blah", - } + "hosting_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, + "inference_vulnerable": False, + "inference_dependencies": [], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": ["sagemaker_jumpstart_prepack_script_utilities==1.0.0"], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + { + "name": "train_only_top_layer", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, - "variants": { - "p2": { - "regional_properties": {"image_uri": "$gpu_image_uri"}, - "properties": {"prepacked_artifact_key": "hello-world-1"}, - }, - "p3": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "p4": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "g4dn": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "m2": {"regional_properties": {"image_uri": "$cpu_image_uri"}}, - "c2": {"regional_properties": {"image_uri": "$cpu_image_uri"}}, - "ml.g5.48xlarge": { - "properties": {"environment_variables": {"TENSOR_PARALLEL_DEGREE": "8"}} - }, - "ml.g5.12xlarge": { - "properties": {"environment_variables": {"TENSOR_PARALLEL_DEGREE": "4"}} - }, + { + "name": "epochs", + "type": "int", + "default": 5, + "min": 1, + "max": 1000, + "scope": "algorithm", }, - }, - "training_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", - }, - "training_instance_type_variants": { - "regional_aliases": { - "us-west-2": { - "gpu_image_uri": "763104351884.dkr.ecr.us-west-2.amazonaws.com/" - "huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", - "cpu_image_uri": "867930986793.dkr.us-west-2.amazonaws.com/cpu-blah", - } + { + "name": "learning_rate", + "type": "float", + "default": 0.001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", }, - "variants": { - "p2": { - "regional_properties": {"image_uri": "$gpu_image_uri"}, - "properties": {"artifact_key": "hello-mars-1"}, - }, - "p3": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "p4": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "g4dn": {"regional_properties": {"image_uri": "$gpu_image_uri"}}, - "m2": {"regional_properties": {"image_uri": "$cpu_image_uri"}}, - "c2": {"regional_properties": {"image_uri": "$cpu_image_uri"}}, - "ml.g5.48xlarge": { - "properties": {"environment_variables": {"TENSOR_PARALLEL_DEGREE": "8"}} - }, - "ml.g5.12xlarge": { - "properties": {"environment_variables": {"TENSOR_PARALLEL_DEGREE": "4"}} - }, - }, - }, - "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", - "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", - "hosting_script_key": None, - "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", - "training_prepacked_script_key": None, - "hosting_prepacked_artifact_key": "basfsdfssf", - "training_model_package_artifact_uris": None, - "deprecate_warn_message": None, - "deprecated_message": None, - "hosting_model_package_arns": None, - "hosting_eula_key": None, - "hyperparameters": [ { - "name": "epochs", + "name": "batch_size", "type": "int", - "default": 3, + "default": 4, "min": 1, - "max": 1000, - "scope": "algorithm", - }, - { - "name": "adam-learning-rate", - "type": "float", - "default": 0.05, - "min": 1e-08, - "max": 1, + "max": 1024, "scope": "algorithm", }, { - "name": "batch-size", - "type": "int", - "default": 4, - "min": 1, - "max": 1024, + "name": "reinitialize_top_layer", + "type": "text", + "default": "Auto", + "options": ["Auto", "True", "False"], "scope": "algorithm", }, { @@ -4160,6 +4628,15 @@ "scope": "container", }, ], + "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.0", + "training_ecr_specs": { + "framework": "pytorch", + "framework_version": "1.10.0", + "py_version": "py38", + }, + "training_artifact_key": "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", @@ -4218,49 +4695,383 @@ "required_for_model_class": True, }, ], - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "default_inference_instance_type": "ml.p2.xlarge", + "metrics": [{"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"}], + "default_inference_instance_type": "ml.m5.large", "supported_inference_instance_types": [ - "ml.p2.xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", + "ml.m4.large", + "ml.m4.xlarge", ], - "default_training_instance_type": "ml.p3.2xlarge", - "supported_training_instance_types": [ - "ml.p3.2xlarge", - "ml.p2.xlarge", - "ml.g4dn.2xlarge", - "ml.m5.xlarge", - "ml.c5.2xlarge", - ], - "hosting_use_script_uri": True, - "metrics": [{"Regex": "val_accuracy: ([0-9\\.]+)", "Name": "pytorch-ic:val-accuracy"}], + "default_training_instance_type": "ml.m5.xlarge", + "supported_training_instance_types": ["ml.m5.xlarge", "ml.c5.2xlarge", "ml.m4.xlarge"], "model_kwargs": {}, - "deploy_kwargs": {"some-model-deploy-kwarg-key": "some-model-deploy-kwarg-value"}, - "estimator_kwargs": { - "encrypt_inter_container_traffic": True, - }, - "fit_kwargs": {"some-estimator-fit-key": "some-estimator-fit-value"}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/x-image"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-image", "default_accept_type": "application/json", }, - "inference_volume_size": 123, - "training_volume_size": 456, "inference_enable_network_isolation": True, - "training_enable_network_isolation": False, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tf_flowers/", + "validation_supported": False, + "fine_tuning_supported": True, + "resource_name_base": "pt-ic-mobilenet-v2", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": { + "regional_properties": {"image_uri": "$gpu_ecr_uri_2"}, + "properties": {"prepacked_artifact_key": "hello-world-1"}, + }, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": { + "regional_properties": {"image_uri": "$cpu_ecr_uri_1"}, + "properties": {"artifact_key": "hello-world-1"}, + }, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, "private-model": { "model_id": "pytorch-ic-mobilenet-v2", @@ -4492,143 +5303,96 @@ "js-model-package-arn": { "model_id": "meta-textgeneration-llama-2-7b-f", "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", - "version": "1.0.0", - "min_sdk_version": "2.173.0", - "training_supported": False, + "version": "2.0.4", + "min_sdk_version": "2.174.0", + "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.12.0", - "py_version": "py38", + "framework": "djl-deepspeed", + "framework_version": "0.23.0", + "py_version": "py39", }, "hosting_artifact_key": "meta-infer/infer-meta-textgeneration-llama-2-7b-f.tar.gz", - "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.0.0/sourcedir.tar.gz", + "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.2.2/sourcedir.tar.gz", + "hosting_use_script_uri": False, "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", "hosting_model_package_arns": { - "us-west-2": "arn:aws:sagemaker:us-west-2:594846645681:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", - "us-east-1": "arn:aws:sagemaker:us-east-1:865070037744:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", + "us-west-2": "arn:aws:sagemaker:us-west-2:594846645681:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-2": "arn:aws:sagemaker:us-east-2:057799348421:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-1": "arn:aws:sagemaker:us-east-1:865070037744:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "eu-west-1": "arn:aws:sagemaker:eu-west-1:985815980388:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-1": "arn:aws:sagemaker:ap-southeast-1:192199979996:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-2": "arn:aws:sagemaker:ap-southeast-2:666831318237:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + }, + "training_model_package_artifact_uris": { + "us-west-2": "s3://sagemaker-repository-pdx/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-2": "s3://sagemaker-repository-cmh/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-1": "s3://sagemaker-repository-iad/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "eu-west-1": "s3://sagemaker-repository-dub/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-1": "s3://sagemaker-repository-sin/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-2": "s3://sagemaker-repository-syd/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", }, "inference_vulnerable": False, - "inference_dependencies": [], + "inference_dependencies": [ + "sagemaker_jumpstart_huggingface_script_utilities==1.0.8", + "sagemaker_jumpstart_script_utilities==1.1.8", + ], "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "inference_environment_variables": [], - "metrics": [], - "default_inference_instance_type": "ml.g5.2xlarge", - "supported_inference_instance_types": [ - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - ], - "model_kwargs": {}, - "deploy_kwargs": { - "model_data_download_timeout": 3600, - "container_startup_health_check_timeout": 3600, - }, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - "inference_volume_size": 256, - "inference_enable_network_isolation": True, - "validation_supported": False, - "fine_tuning_supported": False, - "resource_name_base": "meta-textgeneration-llama-2-7b-f", - }, - "js-trainable-model-prepacked": { - "model_id": "huggingface-text2text-flan-t5-base", - "url": "https://huggingface.co/google/flan-t5-base", - "version": "1.2.0", - "min_sdk_version": "2.130.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" - "huggingface-text2text-flan-t5-base.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", - "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.16.0", - "bitsandbytes==0.37.0", - "filelock==3.9.0", - "huggingface_hub==0.12.0", - "regex==2022.7.9", - "tokenizers==0.13.2", - "transformers==4.26.0", - ], - "inference_vulnerabilities": [], - "training_vulnerable": False, + "training_vulnerable": True, "training_dependencies": [ - "Brotli==1.0.9", - "absl-py==1.4.0", - "accelerate==0.16.0", - "datasets==2.9.0", - "deepspeed==0.8.0", - "evaluate==0.4.0", - "hjson==3.1.0", - "huggingface_hub==0.13.3", + "accelerate==0.21.0", + "bitsandbytes==0.39.1", + "black==23.7.0", + "brotli==1.0.9", + "datasets==2.14.1", + "fire==0.5.0", "inflate64==0.3.1", + "loralib==0.1.1", "multivolumefile==0.2.3", - "ninja==1.11.1", - "nltk==3.8.1", - "psutil==5.9.4", - "py-cpuinfo==9.0.0", - "py7zr==0.20.4", + "mypy-extensions==1.0.0", + "pathspec==0.11.1", + "peft==0.4.0", + "py7zr==0.20.5", "pybcj==1.0.1", - "pycryptodomex==3.17", - "pydantic==1.10.2", + "pycryptodomex==3.18.0", "pyppmd==1.0.0", - "pyzstd==0.15.4", - "rouge-score==0.1.2", - "sagemaker_jumpstart_script_utilities==1.1.4", - "sagemaker_jumpstart_tabular_script_utilities==1.0.0", - "tensorboardX==2.6", + "pytorch-triton==2.1.0+6e4932cda8", + "pyzstd==0.15.9", + "safetensors==0.3.1", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.3", + "sagemaker_jumpstart_script_utilities==1.1.9", + "scipy==1.11.1", + "termcolor==2.3.0", "texttable==1.6.7", - "transformers==4.26.0", + "tokenize-rt==5.1.0", + "tokenizers==0.13.3", + "torch==2.2.0.dev20231104+cu118", + "transformers==4.31.0", ], - "training_vulnerabilities": [], + "training_vulnerabilities": ["transformers==4.31.0"], "deprecated": False, + "deprecate_warn_message": "For forward compatibility, pin to model_version='2.*' in your JumpStartModel or JumpStartEstimator definitions. Note that major version upgrades may have different EULA acceptance terms and input/output signatures.", "hyperparameters": [ { - "name": "epochs", - "type": "int", - "default": 1, - "min": 1, - "max": 1000, + "name": "int8_quantization", + "type": "text", + "default": "False", + "options": ["True", "False"], "scope": "algorithm", }, { - "name": "seed", - "type": "int", - "default": 42, - "min": 1, - "max": 1000, + "name": "enable_fsdp", + "type": "text", + "default": "True", + "options": ["True", "False"], "scope": "algorithm", }, { - "name": "batch_size", + "name": "epoch", "type": "int", - "default": 64, + "default": 1, "min": 1, - "max": 1024, + "max": 1000, "scope": "algorithm", }, { @@ -4639,668 +5403,659 @@ "max": 1, "scope": "algorithm", }, + {"name": "lora_r", "type": "int", "default": 8, "min": 1, "scope": "algorithm"}, + {"name": "lora_alpha", "type": "int", "default": 32, "min": 1, "scope": "algorithm"}, { - "name": "validation_split_ratio", + "name": "lora_dropout", "type": "float", "default": 0.05, "min": 0, "max": 1, "scope": "algorithm", }, - {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, { - "name": "sagemaker_submit_directory", + "name": "instruction_tuned", "type": "text", - "default": "/opt/ml/input/data/code/sourcedir.tar.gz", - "scope": "container", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", }, { - "name": "sagemaker_program", + "name": "chat_dataset", "type": "text", - "default": "transfer_learning.py", - "scope": "container", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, { - "name": "sagemaker_container_log_level", + "name": "add_input_output_demarcation_key", "type": "text", - "default": "20", - "scope": "container", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, - ], - "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" - "v1.1.0/sourcedir.tar.gz", - "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" - "text2text/prepack/v1.0.1/sourcedir.tar.gz", - "training_prepacked_script_version": "1.0.1", - "training_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", - "inference_environment_variables": [ { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - "required_for_model_class": True, + "name": "per_device_train_batch_size", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", }, { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - "required_for_model_class": False, + "name": "per_device_eval_batch_size", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", }, { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - "required_for_model_class": False, + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, + "name": "max_val_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", }, { - "name": "ENDPOINT_SERVER_TIMEOUT", + "name": "seed", "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, + "default": 10, + "min": 1, + "max": 1000, + "scope": "algorithm", }, { - "name": "MODEL_CACHE_ROOT", + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.2, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "train_data_split_seed", + "type": "int", + "default": 0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "preprocessing_num_workers", "type": "text", - "default": "/opt/ml/model", + "default": "None", + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", - "required_for_model_class": True, }, { - "name": "SAGEMAKER_ENV", + "name": "sagemaker_program", "type": "text", - "default": "1", + "default": "transfer_learning.py", "scope": "container", - "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", "scope": "container", - "required_for_model_class": True, }, ], + "training_script_key": "source-directory-tarballs/meta/transfer_learning/textgeneration/v1.0.6/sourcedir.tar.gz", + "training_ecr_specs": { + "framework": "huggingface", + "framework_version": "2.0.0", + "py_version": "py310", + "huggingface_transformers_version": "4.28.1", + }, + "training_artifact_key": "meta-training/train-meta-textgeneration-llama-2-7b-f.tar.gz", + "inference_environment_variables": [], "metrics": [ - {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} - ], - "default_inference_instance_type": "ml.g5.xlarge", - "supported_inference_instance_types": [ - "ml.g5.xlarge", - "ml.p2.xlarge", - "ml.g4dn.xlarge", - "ml.p3.2xlarge", + { + "Name": "huggingface-textgeneration:eval-loss", + "Regex": "eval_epoch_loss=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:eval-ppl", + "Regex": "eval_ppl=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:train-loss", + "Regex": "train_epoch_loss=([0-9\\.]+)", + }, ], - "default_training_instance_type": "ml.p3.16xlarge", + "default_inference_instance_type": "ml.g5.2xlarge", + "supported_inference_instance_types": [ + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + ], + "default_training_instance_type": "ml.g5.12xlarge", "supported_training_instance_types": [ - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.p3dn.24xlarge", + "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", + "ml.p3dn.24xlarge", ], "model_kwargs": {}, - "deploy_kwargs": {}, - "estimator_kwargs": {"encrypt_inter_container_traffic": False}, + "deploy_kwargs": { + "model_data_download_timeout": 3600, + "container_startup_health_check_timeout": 3600, + }, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, "fit_kwargs": {}, "predictor_specs": { - "supported_content_types": ["application/x-text"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-text", + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", "default_accept_type": "application/json", }, + "inference_volume_size": 256, + "training_volume_size": 256, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/oasst_top/train/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "meta-textgeneration-llama-2-7b-f", + "default_payloads": { + "Mayo": { + "content_type": "application/json", + "body": { + "inputs": [[{"role": "user", "content": "what is the recipe of mayonnaise?"}]], + "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}, + }, + } + }, + "gated_bucket": True, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-east-1": { + "alias_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-northeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-northeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-south-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-southeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-southeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ca-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "cn-north-1": { + "alias_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-north-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-south-1": { + "alias_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-3": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "me-south-1": { + "alias_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "sa-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-east-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "dynamic_container_deployment_supported": False, }, - "js-model-class-model-prepacked": { - "model_id": "huggingface-txt2img-conflictx-complex-lineart", - "url": "https://huggingface.co/Conflictx/Complex-Lineart", - "version": "1.1.0", - "min_sdk_version": "2.81.0", - "training_supported": False, + "js-trainable-model-prepacked": { + "model_id": "huggingface-text2text-flan-t5-base", + "url": "https://huggingface.co/google/flan-t5-base", + "version": "2.2.3", + "min_sdk_version": "2.189.0", + "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", + "framework": "huggingface-llm", + "framework_version": "1.4.0", + "py_version": "py310", + "huggingface_transformers_version": "4.33.2", }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-txt2img-conflictx-complex-lineart.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/txt2img/v1.1.0/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-huggingface-txt2img-" - "conflictx-complex-lineart.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", + "hosting_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v2.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference-prepack/v2.0.0/", + "hosting_prepacked_artifact_version": "2.0.0", + "hosting_use_script_uri": False, "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.16.0", - "diffusers==0.12.1", - "huggingface_hub==0.12.0", - "transformers==4.26.0", - ], + "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": [ + "accelerate==0.23.0", + "datasets==2.12.0", + "deepspeed==0.10.3", + "peft==0.5.0", + "safetensors==0.3.3", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.2", + "sagemaker_jumpstart_script_utilities==1.1.8", + "sagemaker_jumpstart_tabular_script_utilities==1.0.0", + ], "training_vulnerabilities": [], "deprecated": False, - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - "required_for_model_class": True, - }, + "hyperparameters": [ { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - "required_for_model_class": False, + "name": "epochs", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", }, + {"name": "max_steps", "type": "int", "default": -1, "scope": "algorithm"}, { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - "required_for_model_class": False, + "name": "seed", + "type": "int", + "default": 42, + "min": 1, + "max": 1000, + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, - }, - { - "name": "ENDPOINT_SERVER_TIMEOUT", + "name": "batch_size", "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, + "default": 64, + "min": 1, + "max": 1024, + "scope": "algorithm", }, { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - "required_for_model_class": True, + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_ENV", + "name": "lr_scheduler_type", "type": "text", - "default": "1", - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, - "scope": "container", - "required_for_model_class": True, + "default": "constant_with_warmup", + "options": ["constant_with_warmup", "linear"], + "scope": "algorithm", }, - ], - "metrics": [], - "default_inference_instance_type": "ml.p3.2xlarge", - "supported_inference_instance_types": ["ml.p2.xlarge", "ml.p3.2xlarge", "ml.g4dn.xlarge"], - "model_kwargs": {}, - "deploy_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - }, - "deprecated_model": { - "model_id": "huggingface-text2text-flan-t5-base", - "url": "https://huggingface.co/google/flan-t5-base", - "version": "1.2.0", - "min_sdk_version": "2.130.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" - "huggingface-text2text-flan-t5-base.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": True, - "hyperparameters": [], - "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" - "v1.1.0/sourcedir.tar.gz", - "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" - "text2text/prepack/v1.0.1/sourcedir.tar.gz", - "training_prepacked_script_version": "1.0.1", - "training_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", - "inference_environment_variables": [ { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - "required_for_model_class": True, + "name": "warmup_ratio", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", }, + {"name": "warmup_steps", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - "required_for_model_class": False, + "name": "validation_split_ratio", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", }, + {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - "required_for_model_class": False, + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, + "name": "max_eval_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", }, { - "name": "ENDPOINT_SERVER_TIMEOUT", + "name": "max_input_length", "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, + "default": -1, + "min": -1, + "scope": "algorithm", }, { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - "required_for_model_class": True, + "name": "max_output_length", + "type": "int", + "default": 128, + "min": 0, + "scope": "algorithm", }, { - "name": "SAGEMAKER_ENV", + "name": "pad_to_max_length", "type": "text", - "default": "1", - "scope": "container", - "required_for_model_class": True, + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "gradient_accumulation_steps", "type": "int", "default": 1, - "scope": "container", - "required_for_model_class": True, + "min": 1, + "scope": "algorithm", }, - ], - "metrics": [ - {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} - ], - "default_inference_instance_type": "ml.g5.xlarge", - "supported_inference_instance_types": [ - "ml.g5.xlarge", - "ml.p2.xlarge", - "ml.g4dn.xlarge", - "ml.p3.2xlarge", - ], - "default_training_instance_type": "ml.p3.16xlarge", - "supported_training_instance_types": [ - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.p3dn.24xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - ], - "model_kwargs": {}, - "deploy_kwargs": {}, - "estimator_kwargs": {"encrypt_inter_container_traffic": False}, - "fit_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/x-text"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-text", - "default_accept_type": "application/json", - }, - }, - "vulnerable_model": { - "model_id": "huggingface-text2text-flan-t5-base", - "url": "https://huggingface.co/google/flan-t5-base", - "version": "1.2.0", - "min_sdk_version": "2.130.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" - "huggingface-text2text-flan-t5-base.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", - "inference_vulnerable": True, - "inference_dependencies": ["blah"], - "inference_vulnerabilities": ["blah"], - "training_vulnerable": True, - "training_dependencies": ["blah"], - "training_vulnerabilities": ["blah"], - "deprecated": False, - "hyperparameters": [], - "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" - "v1.1.0/sourcedir.tar.gz", - "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" - "text2text/prepack/v1.0.1/sourcedir.tar.gz", - "training_prepacked_script_version": "1.0.1", - "training_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.10.2", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", - }, - "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", - "inference_environment_variables": [ { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - "required_for_model_class": True, + "name": "weight_decay", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - "required_for_model_class": False, + "name": "adam_beta1", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - "required_for_model_class": False, + "name": "adam_beta2", + "type": "float", + "default": 0.999, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, + "name": "adam_epsilon", + "type": "float", + "default": 1e-08, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "ENDPOINT_SERVER_TIMEOUT", - "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "SAGEMAKER_ENV", - "type": "text", - "default": "1", - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, - "scope": "container", - "required_for_model_class": True, - }, - ], - "metrics": [ - {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} - ], - "default_inference_instance_type": "ml.g5.xlarge", - "supported_inference_instance_types": [ - "ml.g5.xlarge", - "ml.p2.xlarge", - "ml.g4dn.xlarge", - "ml.p3.2xlarge", - ], - "default_training_instance_type": "ml.p3.16xlarge", - "supported_training_instance_types": [ - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.p3dn.24xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - ], - "model_kwargs": {}, - "deploy_kwargs": {}, - "estimator_kwargs": {"encrypt_inter_container_traffic": False}, - "fit_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/x-text"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-text", - "default_accept_type": "application/json", - }, - }, - "js-gated-artifact-non-model-package-trainable-model": { - "model_id": "meta-textgeneration-llama-2-7b", - "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", - "version": "3.0.0", - "min_sdk_version": "2.189.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "huggingface-llm", - "framework_version": "1.1.0", - "py_version": "py39", - }, - "training_artifact_key": "some/dummy/key", - "hosting_artifact_key": "meta-textgeneration/meta-textgeneration-llama-2-7b/artifacts/inference/v1.0.0/", - "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.2.3/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "meta-textgeneration/meta-textgen" - "eration-llama-2-7b/artifacts/inference-prepack/v1.0.0/", - "hosting_prepacked_artifact_version": "1.0.0", - "hosting_use_script_uri": False, - "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", - "inference_vulnerable": False, - "inference_dependencies": [ - "sagemaker_jumpstart_huggingface_script_utilities==1.0.8", - "sagemaker_jumpstart_script_utilities==1.1.8", - ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [ - "accelerate==0.21.0", - "bitsandbytes==0.39.1", - "black==23.7.0", - "brotli==1.0.9", - "datasets==2.14.1", - "fire==0.5.0", - "inflate64==0.3.1", - "loralib==0.1.1", - "multivolumefile==0.2.3", - "mypy-extensions==1.0.0", - "pathspec==0.11.1", - "peft==0.4.0", - "py7zr==0.20.5", - "pybcj==1.0.1", - "pycryptodomex==3.18.0", - "pyppmd==1.0.0", - "pytorch-triton==2.1.0+e6216047b8", - "pyzstd==0.15.9", - "safetensors==0.3.1", - "sagemaker_jumpstart_huggingface_script_utilities==1.1.3", - "sagemaker_jumpstart_script_utilities==1.1.9", - "scipy==1.11.1", - "termcolor==2.3.0", - "texttable==1.6.7", - "tokenize-rt==5.1.0", - "tokenizers==0.13.3", - "torch==2.1.0.dev20230905+cu118", - "transformers==4.31.0", - ], - "training_vulnerabilities": [], - "deprecated": False, - "hyperparameters": [ - { - "name": "int8_quantization", - "type": "text", - "default": "False", - "options": ["True", "False"], + "name": "max_grad_norm", + "type": "float", + "default": 1.0, + "min": 0, "scope": "algorithm", }, { - "name": "enable_fsdp", + "name": "load_best_model_at_end", "type": "text", "default": "True", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "epoch", + "name": "early_stopping_patience", "type": "int", - "default": 5, + "default": 3, "min": 1, - "max": 1000, "scope": "algorithm", }, { - "name": "learning_rate", + "name": "early_stopping_threshold", "type": "float", - "default": 0.0001, - "min": 1e-08, - "max": 1, + "default": 0.0, + "min": 0, "scope": "algorithm", }, - {"name": "lora_r", "type": "int", "default": 8, "min": 1, "scope": "algorithm"}, - {"name": "lora_alpha", "type": "int", "default": 32, "min": 1, "scope": "algorithm"}, { - "name": "lora_dropout", + "name": "label_smoothing_factor", "type": "float", - "default": 0.05, + "default": 0, "min": 0, "max": 1, "scope": "algorithm", }, { - "name": "instruction_tuned", + "name": "logging_strategy", "type": "text", - "default": "False", - "options": ["True", "False"], + "default": "steps", + "options": ["no", "steps", "epoch"], "scope": "algorithm", }, { - "name": "chat_dataset", + "name": "logging_first_step", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "add_input_output_demarcation_key", + "name": "logging_steps", + "type": "int", + "default": 500, + "min": 1, + "scope": "algorithm", + }, + { + "name": "logging_nan_inf_filter", "type": "text", "default": "True", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "per_device_train_batch_size", - "type": "int", - "default": 4, - "min": 1, - "max": 1000, + "name": "save_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], "scope": "algorithm", }, + {"name": "save_steps", "type": "int", "default": 500, "min": 1, "scope": "algorithm"}, + {"name": "save_total_limit", "type": "text", "default": "2", "scope": "algorithm"}, { - "name": "per_device_eval_batch_size", - "type": "int", - "default": 1, - "min": 1, - "max": 1000, + "name": "dataloader_drop_last", + "type": "text", + "default": "False", + "options": ["True", "False"], "scope": "algorithm", }, { - "name": "max_train_samples", + "name": "dataloader_num_workers", "type": "int", - "default": -1, - "min": -1, + "default": 0, + "min": 0, "scope": "algorithm", }, { - "name": "max_val_samples", - "type": "int", - "default": -1, - "min": -1, + "name": "evaluation_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], "scope": "algorithm", }, + {"name": "eval_steps", "type": "text", "default": "500", "scope": "algorithm"}, { - "name": "seed", - "type": "int", - "default": 10, - "min": 1, - "max": 1000, + "name": "eval_accumulation_steps", + "type": "text", + "default": "None", "scope": "algorithm", }, { - "name": "max_input_length", - "type": "int", - "default": -1, - "min": -1, + "name": "gradient_checkpointing", + "type": "text", + "default": "True", + "options": ["True", "False"], "scope": "algorithm", }, { - "name": "validation_split_ratio", - "type": "float", - "default": 0.2, - "min": 0, - "max": 1, + "name": "auto_find_batch_size", + "type": "text", + "default": "False", + "options": ["True", "False"], "scope": "algorithm", }, { - "name": "train_data_split_seed", - "type": "int", - "default": 0, - "min": 0, + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", "scope": "algorithm", }, { - "name": "preprocessing_num_workers", + "name": "peft_type", "type": "text", - "default": "None", + "default": "none", + "options": ["lora", "none"], "scope": "algorithm", }, { @@ -5322,17 +6077,16 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/" - "meta/transfer_learning/textgeneration/v1.0.4/sourcedir.tar.gz", - "training_prepacked_script_key": "source-directory-" - "tarballs/meta/transfer_learning/textgeneration/prepack/v1.0.1/sourcedir.tar.gz", - "training_prepacked_script_version": "1.0.1", + "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/prepack/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_version": "2.0.0", "training_ecr_specs": { "framework": "huggingface", "framework_version": "2.0.0", "py_version": "py310", "huggingface_transformers_version": "4.28.1", }, + "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", @@ -5391,23 +6145,23 @@ "required_for_model_class": True, }, { - "name": "MAX_INPUT_LENGTH", + "name": "SM_NUM_GPUS", "type": "text", - "default": "4095", + "default": "1", "scope": "container", "required_for_model_class": True, }, { - "name": "MAX_TOTAL_TOKENS", + "name": "MAX_INPUT_LENGTH", "type": "text", - "default": "4096", + "default": "1024", "scope": "container", "required_for_model_class": True, }, { - "name": "SM_NUM_GPUS", + "name": "MAX_TOTAL_TOKENS", "type": "text", - "default": "1", + "default": "2048", "scope": "container", "required_for_model_class": True, }, @@ -5420,42 +6174,33 @@ }, ], "metrics": [ - { - "Name": "huggingface-textgeneration:eval-loss", - "Regex": "eval_epoch_loss=tensor\\(([0-9\\.]+)", - }, - { - "Name": "huggingface-textgeneration:eval-ppl", - "Regex": "eval_ppl=tensor\\(([0-9\\.]+)", - }, - { - "Name": "huggingface-textgeneration:train-loss", - "Regex": "train_epoch_loss=([0-9\\.]+)", - }, + {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], "default_inference_instance_type": "ml.g5.2xlarge", "supported_inference_instance_types": [ "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", + "ml.g5.16xlarge", ], - "default_training_instance_type": "ml.g5.12xlarge", + "default_training_instance_type": "ml.p3.16xlarge", "supported_training_instance_types": [ - "ml.g5.12xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p3dn.24xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", - "ml.p3dn.24xlarge", ], "model_kwargs": {}, "deploy_kwargs": { "model_data_download_timeout": 1200, "container_startup_health_check_timeout": 1200, }, - "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "estimator_kwargs": { + "encrypt_inter_container_traffic": True, + "disable_output_compression": True, + "max_run": 360000, + }, "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/json"], @@ -5463,83 +6208,127 @@ "default_content_type": "application/json", "default_accept_type": "application/json", }, - "inference_volume_size": 256, - "training_volume_size": 256, + "inference_volume_size": 512, + "training_volume_size": 512, "inference_enable_network_isolation": True, "training_enable_network_isolation": True, - "default_training_dataset_key": "training-datasets/sec_amazon/", + "default_training_dataset_key": "training-datasets/genuq/dev/", "validation_supported": True, "fine_tuning_supported": True, - "resource_name_base": "meta-textgeneration-llama-2-7b", + "resource_name_base": "hf-text2text-flan-t5-base", "default_payloads": { - "meaningOfLife": { - "content_type": "application/json", - "prompt_key": "inputs", - "output_keys": {"generated_text": "[0].generated_text"}, - "body": { - "inputs": "I believe the meaning of life is", - "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, - }, - }, - "theoryOfRelativity": { + "Summarization": { "content_type": "application/json", "prompt_key": "inputs", - "output_keys": {"generated_text": "[0].generated_text"}, - "body": { - "inputs": "Simply put, the theory of relativity states that ", - "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, - }, - }, - "teamMessage": { - "content_type": "application/json", - "prompt_key": "inputs", - "output_keys": {"generated_text": "[0].generated_text"}, - "body": { - "inputs": "A brief message congratulating the team on the launch:\n\nHi everyone,\n\nI just ", - "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, - }, - }, - "englishToFrench": { - "content_type": "application/json", - "prompt_key": "inputs", - "output_keys": {"generated_text": "[0].generated_text"}, - "body": { - "inputs": "Translate English to French:\nsea o" - "tter => loutre de mer\npeppermint => ment" - "he poivr\u00e9e\nplush girafe => girafe peluche\ncheese =>", - "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, - }, - }, - "Story": { - "content_type": "application/json", - "prompt_key": "inputs", - "output_keys": { - "generated_text": "[0].generated_text", - "input_logprobs": "[0].details.prefill[*].logprob", - }, "body": { - "inputs": "Please tell me a story.", + "inputs": "Summarize this content - Amazon Comprehend uses natural language processing (NLP) to extract insights about the content of documents. It develops insights by recognizing the entities, key phrases, language, sentiments, and other common elements in a document. Use Amazon Comprehend to create new products based on understanding the structure of documents. For example, using Amazon Comprehend you can search social networking feeds for mentions of products or scan an entire document repository for key phrases. You can access Amazon Comprehend document analysis capabilities using the Amazon Comprehend console or using the Amazon Co", "parameters": { - "max_new_tokens": 64, - "top_p": 0.9, - "temperature": 0.2, + "max_new_tokens": 400, "decoder_input_details": True, "details": True, }, }, - }, + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + } }, - "gated_bucket": True, "hosting_instance_type_variants": { "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-2": { + "gpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, "us-west-2": { - "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/h" - "uggingface-pytorch-tgi-inference:2.0.1-tgi1.1.0-gpu-py39-cu118-ubuntu20.04" + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" }, }, "variants": { "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, @@ -5555,20 +6344,96 @@ }, "training_instance_type_variants": { "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, "us-west-2": { - "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazon" - "aws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" }, }, "variants": { "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, - "g5": { - "regional_properties": {"image_uri": "$gpu_ecr_uri_1"}, - "properties": { - "gated_model_key_env_var_value": "meta-training/train-meta-textgeneration-llama-2-7b.tar.gz", - "environment_variables": {"SELF_DESTRUCT": "true"}, - }, - }, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, @@ -5578,197 +6443,3764 @@ "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, }, }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", "dynamic_container_deployment_supported": False, + "bedrock_console_supported": True, + "bedrock_io_mapping_id": "tgi_default_1.0.0", }, - "js-gated-artifact-trainable-model": { - "model_id": "meta-textgeneration-llama-2-7b-f", - "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", - "version": "2.0.0", - "min_sdk_version": "2.173.0", + "deprecated_model": { + "model_id": "huggingface-text2text-flan-t5-base", + "url": "https://huggingface.co/google/flan-t5-base", + "version": "2.2.3", + "min_sdk_version": "2.189.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { - "framework": "djl-deepspeed", - "framework_version": "0.21.0", - "py_version": "py39", + "framework": "huggingface-llm", + "framework_version": "1.4.0", + "py_version": "py310", + "huggingface_transformers_version": "4.33.2", }, - "hosting_artifact_key": "meta-infer/infer-meta-textgeneration-llama-2-7b-f.tar.gz", + "hosting_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v2.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference-prepack/v2.0.0/", + "hosting_prepacked_artifact_version": "2.0.0", "hosting_use_script_uri": False, - "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.0.0/sourcedir.tar.gz", - "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", - "hosting_model_package_arns": { - "us-west-2": "arn:aws:sagemaker:us-west-2:594846645681:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", - "us-east-1": "arn:aws:sagemaker:us-east-1:865070037744:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", - "eu-west-1": "arn:aws:sagemaker:eu-west-1:985815980388:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", - "ap-southeast-1": "arn:aws:sagemaker:ap-southeast-1:192199979996:model-package/" - "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", - }, - "training_model_package_artifact_uris": { - "us-west-2": "s3://jumpstart-cache-alpha-us-west-2/dummy.tar.gz", - "us-east-1": "s3://jumpstart-cache-alpha-us-west-2/dummy.tar.gz", - "eu-west-1": "s3://jumpstart-cache-alpha-us-west-2/dummy.tar.gz", - "ap-southeast-1": "s3://jumpstart-cache-alpha-us-west-2/dummy.tar.gz", - }, "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": [ + "accelerate==0.23.0", + "datasets==2.12.0", + "deepspeed==0.10.3", + "peft==0.5.0", + "safetensors==0.3.3", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.2", + "sagemaker_jumpstart_script_utilities==1.1.8", + "sagemaker_jumpstart_tabular_script_utilities==1.0.0", + ], "training_vulnerabilities": [], - "deprecated": False, + "deprecated": True, "hyperparameters": [ { - "name": "sagemaker_submit_directory", - "type": "text", - "default": "/opt/ml/input/data/code/sourcedir.tar.gz", - "scope": "container", + "name": "epochs", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + {"name": "max_steps", "type": "int", "default": -1, "scope": "algorithm"}, + { + "name": "seed", + "type": "int", + "default": 42, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "batch_size", + "type": "int", + "default": 64, + "min": 1, + "max": 1024, + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", + }, + { + "name": "lr_scheduler_type", + "type": "text", + "default": "constant_with_warmup", + "options": ["constant_with_warmup", "linear"], + "scope": "algorithm", + }, + { + "name": "warmup_ratio", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "warmup_steps", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, + { + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_eval_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_output_length", + "type": "int", + "default": 128, + "min": 0, + "scope": "algorithm", + }, + { + "name": "pad_to_max_length", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "gradient_accumulation_steps", + "type": "int", + "default": 1, + "min": 1, + "scope": "algorithm", + }, + { + "name": "weight_decay", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta1", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta2", + "type": "float", + "default": 0.999, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_epsilon", + "type": "float", + "default": 1e-08, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "max_grad_norm", + "type": "float", + "default": 1.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "load_best_model_at_end", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "early_stopping_patience", + "type": "int", + "default": 3, + "min": 1, + "scope": "algorithm", + }, + { + "name": "early_stopping_threshold", + "type": "float", + "default": 0.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "label_smoothing_factor", + "type": "float", + "default": 0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "logging_strategy", + "type": "text", + "default": "steps", + "options": ["no", "steps", "epoch"], + "scope": "algorithm", + }, + { + "name": "logging_first_step", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "logging_steps", + "type": "int", + "default": 500, + "min": 1, + "scope": "algorithm", + }, + { + "name": "logging_nan_inf_filter", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "save_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], + "scope": "algorithm", + }, + {"name": "save_steps", "type": "int", "default": 500, "min": 1, "scope": "algorithm"}, + {"name": "save_total_limit", "type": "text", "default": "2", "scope": "algorithm"}, + { + "name": "dataloader_drop_last", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "dataloader_num_workers", + "type": "int", + "default": 0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "evaluation_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], + "scope": "algorithm", + }, + {"name": "eval_steps", "type": "text", "default": "500", "scope": "algorithm"}, + { + "name": "eval_accumulation_steps", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "gradient_checkpointing", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "auto_find_batch_size", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "peft_type", + "type": "text", + "default": "none", + "options": ["lora", "none"], + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, + ], + "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/prepack/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_version": "2.0.0", + "training_ecr_specs": { + "framework": "huggingface", + "framework_version": "2.0.0", + "py_version": "py310", + "huggingface_transformers_version": "4.28.1", + }, + "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "HF_MODEL_ID", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SM_NUM_GPUS", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_INPUT_LENGTH", + "type": "text", + "default": "1024", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_TOTAL_TOKENS", + "type": "text", + "default": "2048", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [ + {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} + ], + "default_inference_instance_type": "ml.g5.2xlarge", + "supported_inference_instance_types": [ + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.16xlarge", + ], + "default_training_instance_type": "ml.p3.16xlarge", + "supported_training_instance_types": [ + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p3dn.24xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": { + "model_data_download_timeout": 1200, + "container_startup_health_check_timeout": 1200, + }, + "estimator_kwargs": { + "encrypt_inter_container_traffic": True, + "disable_output_compression": True, + "max_run": 360000, + }, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_volume_size": 512, + "training_volume_size": 512, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/genuq/dev/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "hf-text2text-flan-t5-base", + "default_payloads": { + "Summarization": { + "content_type": "application/json", + "prompt_key": "inputs", + "body": { + "inputs": "Summarize this content - Amazon Comprehend uses natural language processing (NLP) to extract insights about the content of documents. It develops insights by recognizing the entities, key phrases, language, sentiments, and other common elements in a document. Use Amazon Comprehend to create new products based on understanding the structure of documents. For example, using Amazon Comprehend you can search social networking feeds for mentions of products or scan an entire document repository for key phrases. You can access Amazon Comprehend document analysis capabilities using the Amazon Comprehend console or using the Amazon Co", + "parameters": { + "max_new_tokens": 400, + "decoder_input_details": True, + "details": True, + }, + }, + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + } + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-2": { + "gpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "ml.g5.12xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + "ml.p4d.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, + "bedrock_console_supported": True, + "bedrock_io_mapping_id": "tgi_default_1.0.0", + }, + "vulnerable_model": { + "model_id": "huggingface-text2text-flan-t5-base", + "url": "https://huggingface.co/google/flan-t5-base", + "version": "2.2.3", + "min_sdk_version": "2.189.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "huggingface-llm", + "framework_version": "1.4.0", + "py_version": "py310", + "huggingface_transformers_version": "4.33.2", + }, + "hosting_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v2.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-text2text/huggingface-text2text-flan-t5-base/artifacts/inference-prepack/v2.0.0/", + "hosting_prepacked_artifact_version": "2.0.0", + "hosting_use_script_uri": False, + "inference_dependencies": [], + "training_vulnerable": True, + "training_dependencies": [ + "accelerate==0.23.0", + "datasets==2.12.0", + "deepspeed==0.10.3", + "peft==0.5.0", + "safetensors==0.3.3", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.2", + "sagemaker_jumpstart_script_utilities==1.1.8", + "sagemaker_jumpstart_tabular_script_utilities==1.0.0", + ], + "inference_vulnerable": True, + "training_vulnerabilities": ["accelerate==0.23.0"], + "training_vulnerabilities": ["accelerate==0.23.0"], + "deprecated": False, + "hyperparameters": [ + { + "name": "epochs", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + {"name": "max_steps", "type": "int", "default": -1, "scope": "algorithm"}, + { + "name": "seed", + "type": "int", + "default": 42, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "batch_size", + "type": "int", + "default": 64, + "min": 1, + "max": 1024, + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", + }, + { + "name": "lr_scheduler_type", + "type": "text", + "default": "constant_with_warmup", + "options": ["constant_with_warmup", "linear"], + "scope": "algorithm", + }, + { + "name": "warmup_ratio", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "warmup_steps", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, + { + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_eval_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_output_length", + "type": "int", + "default": 128, + "min": 0, + "scope": "algorithm", + }, + { + "name": "pad_to_max_length", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "gradient_accumulation_steps", + "type": "int", + "default": 1, + "min": 1, + "scope": "algorithm", + }, + { + "name": "weight_decay", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta1", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta2", + "type": "float", + "default": 0.999, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_epsilon", + "type": "float", + "default": 1e-08, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "max_grad_norm", + "type": "float", + "default": 1.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "load_best_model_at_end", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "early_stopping_patience", + "type": "int", + "default": 3, + "min": 1, + "scope": "algorithm", + }, + { + "name": "early_stopping_threshold", + "type": "float", + "default": 0.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "label_smoothing_factor", + "type": "float", + "default": 0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "logging_strategy", + "type": "text", + "default": "steps", + "options": ["no", "steps", "epoch"], + "scope": "algorithm", + }, + { + "name": "logging_first_step", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "logging_steps", + "type": "int", + "default": 500, + "min": 1, + "scope": "algorithm", + }, + { + "name": "logging_nan_inf_filter", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "save_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], + "scope": "algorithm", + }, + {"name": "save_steps", "type": "int", "default": 500, "min": 1, "scope": "algorithm"}, + {"name": "save_total_limit", "type": "text", "default": "2", "scope": "algorithm"}, + { + "name": "dataloader_drop_last", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "dataloader_num_workers", + "type": "int", + "default": 0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "evaluation_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], + "scope": "algorithm", + }, + {"name": "eval_steps", "type": "text", "default": "500", "scope": "algorithm"}, + { + "name": "eval_accumulation_steps", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "gradient_checkpointing", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "auto_find_batch_size", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "peft_type", + "type": "text", + "default": "none", + "options": ["lora", "none"], + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, + ], + "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/prepack/v2.0.0/sourcedir.tar.gz", + "training_prepacked_script_version": "2.0.0", + "training_ecr_specs": { + "framework": "huggingface", + "framework_version": "2.0.0", + "py_version": "py310", + "huggingface_transformers_version": "4.28.1", + }, + "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "HF_MODEL_ID", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SM_NUM_GPUS", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_INPUT_LENGTH", + "type": "text", + "default": "1024", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_TOTAL_TOKENS", + "type": "text", + "default": "2048", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [ + {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} + ], + "default_inference_instance_type": "ml.g5.2xlarge", + "supported_inference_instance_types": [ + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.16xlarge", + ], + "default_training_instance_type": "ml.p3.16xlarge", + "supported_training_instance_types": [ + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p3dn.24xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": { + "model_data_download_timeout": 1200, + "container_startup_health_check_timeout": 1200, + }, + "estimator_kwargs": { + "encrypt_inter_container_traffic": True, + "disable_output_compression": True, + "max_run": 360000, + }, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_volume_size": 512, + "training_volume_size": 512, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/genuq/dev/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "hf-text2text-flan-t5-base", + "default_payloads": { + "Summarization": { + "content_type": "application/json", + "prompt_key": "inputs", + "body": { + "inputs": "Summarize this content - Amazon Comprehend uses natural language processing (NLP) to extract insights about the content of documents. It develops insights by recognizing the entities, key phrases, language, sentiments, and other common elements in a document. Use Amazon Comprehend to create new products based on understanding the structure of documents. For example, using Amazon Comprehend you can search social networking feeds for mentions of products or scan an entire document repository for key phrases. You can access Amazon Comprehend document analysis capabilities using the Amazon Comprehend console or using the Amazon Co", + "parameters": { + "max_new_tokens": 400, + "decoder_input_details": True, + "details": True, + }, + }, + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + } + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-central-2": { + "gpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "ml.g5.12xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + "ml.p4d.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, + "bedrock_console_supported": True, + "bedrock_io_mapping_id": "tgi_default_1.0.0", + }, + "js-gated-artifact-non-model-package-trainable-model": { + "model_id": "meta-textgeneration-llama-2-7b", + "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", + "version": "3.0.0", + "min_sdk_version": "2.189.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "huggingface-llm", + "framework_version": "1.1.0", + "py_version": "py39", + }, + "training_artifact_key": "some/dummy/key", + "hosting_artifact_key": "meta-textgeneration/meta-textgeneration-llama-2-7b/artifacts/inference/v1.0.0/", + "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.2.3/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "meta-textgeneration/meta-textgen" + "eration-llama-2-7b/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, + "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", + "inference_vulnerable": False, + "inference_dependencies": [ + "sagemaker_jumpstart_huggingface_script_utilities==1.0.8", + "sagemaker_jumpstart_script_utilities==1.1.8", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [ + "accelerate==0.21.0", + "bitsandbytes==0.39.1", + "black==23.7.0", + "brotli==1.0.9", + "datasets==2.14.1", + "fire==0.5.0", + "inflate64==0.3.1", + "loralib==0.1.1", + "multivolumefile==0.2.3", + "mypy-extensions==1.0.0", + "pathspec==0.11.1", + "peft==0.4.0", + "py7zr==0.20.5", + "pybcj==1.0.1", + "pycryptodomex==3.18.0", + "pyppmd==1.0.0", + "pytorch-triton==2.1.0+e6216047b8", + "pyzstd==0.15.9", + "safetensors==0.3.1", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.3", + "sagemaker_jumpstart_script_utilities==1.1.9", + "scipy==1.11.1", + "termcolor==2.3.0", + "texttable==1.6.7", + "tokenize-rt==5.1.0", + "tokenizers==0.13.3", + "torch==2.1.0.dev20230905+cu118", + "transformers==4.31.0", + ], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + { + "name": "int8_quantization", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "enable_fsdp", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "epoch", + "type": "int", + "default": 5, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", + }, + {"name": "lora_r", "type": "int", "default": 8, "min": 1, "scope": "algorithm"}, + {"name": "lora_alpha", "type": "int", "default": 32, "min": 1, "scope": "algorithm"}, + { + "name": "lora_dropout", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "instruction_tuned", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "chat_dataset", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "add_input_output_demarcation_key", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "per_device_train_batch_size", + "type": "int", + "default": 4, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "per_device_eval_batch_size", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_val_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "seed", + "type": "int", + "default": 10, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.2, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "train_data_split_seed", + "type": "int", + "default": 0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, + ], + "training_script_key": "source-directory-tarballs/" + "meta/transfer_learning/textgeneration/v1.0.4/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-" + "tarballs/meta/transfer_learning/textgeneration/prepack/v1.0.1/sourcedir.tar.gz", + "training_prepacked_script_version": "1.0.1", + "training_ecr_specs": { + "framework": "huggingface", + "framework_version": "2.0.0", + "py_version": "py310", + "huggingface_transformers_version": "4.28.1", + }, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "HF_MODEL_ID", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_INPUT_LENGTH", + "type": "text", + "default": "4095", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MAX_TOTAL_TOKENS", + "type": "text", + "default": "4096", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SM_NUM_GPUS", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [ + { + "Name": "huggingface-textgeneration:eval-loss", + "Regex": "eval_epoch_loss=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:eval-ppl", + "Regex": "eval_ppl=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:train-loss", + "Regex": "train_epoch_loss=([0-9\\.]+)", + }, + ], + "default_inference_instance_type": "ml.g5.2xlarge", + "supported_inference_instance_types": [ + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + ], + "default_training_instance_type": "ml.g5.12xlarge", + "supported_training_instance_types": [ + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p3dn.24xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": { + "model_data_download_timeout": 1200, + "container_startup_health_check_timeout": 1200, + }, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_volume_size": 256, + "training_volume_size": 256, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/sec_amazon/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "meta-textgeneration-llama-2-7b", + "default_payloads": { + "meaningOfLife": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": {"generated_text": "[0].generated_text"}, + "body": { + "inputs": "I believe the meaning of life is", + "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, + }, + }, + "theoryOfRelativity": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": {"generated_text": "[0].generated_text"}, + "body": { + "inputs": "Simply put, the theory of relativity states that ", + "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, + }, + }, + "teamMessage": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": {"generated_text": "[0].generated_text"}, + "body": { + "inputs": "A brief message congratulating the team on the launch:\n\nHi everyone,\n\nI just ", + "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, + }, + }, + "englishToFrench": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": {"generated_text": "[0].generated_text"}, + "body": { + "inputs": "Translate English to French:\nsea o" + "tter => loutre de mer\npeppermint => ment" + "he poivr\u00e9e\nplush girafe => girafe peluche\ncheese =>", + "parameters": {"max_new_tokens": 64, "top_p": 0.9, "temperature": 0.6}, + }, + }, + "Story": { + "content_type": "application/json", + "prompt_key": "inputs", + "output_keys": { + "generated_text": "[0].generated_text", + "input_logprobs": "[0].details.prefill[*].logprob", + }, + "body": { + "inputs": "Please tell me a story.", + "parameters": { + "max_new_tokens": 64, + "top_p": 0.9, + "temperature": 0.2, + "decoder_input_details": True, + "details": True, + }, + }, + }, + }, + "gated_bucket": True, + "hosting_instance_type_variants": { + "regional_aliases": { + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/h" + "uggingface-pytorch-tgi-inference:2.0.1-tgi1.1.0-gpu-py39-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "ml.g5.12xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "4"}}}, + "ml.g5.48xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + "ml.p4d.24xlarge": {"properties": {"environment_variables": {"SM_NUM_GPUS": "8"}}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazon" + "aws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": { + "regional_properties": {"image_uri": "$gpu_ecr_uri_1"}, + "properties": { + "gated_model_key_env_var_value": "meta-training/train-meta-textgeneration-llama-2-7b.tar.gz", + "environment_variables": {"SELF_DESTRUCT": "true"}, + }, + }, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "dynamic_container_deployment_supported": False, + }, + "js-gated-artifact-trainable-model": { + "model_id": "meta-textgeneration-llama-2-7b-f", + "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", + "version": "2.0.4", + "min_sdk_version": "2.174.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "djl-deepspeed", + "framework_version": "0.23.0", + "py_version": "py39", + }, + "hosting_artifact_key": "meta-infer/infer-meta-textgeneration-llama-2-7b-f.tar.gz", + "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.2.2/sourcedir.tar.gz", + "hosting_use_script_uri": False, + "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", + "hosting_model_package_arns": { + "us-west-2": "arn:aws:sagemaker:us-west-2:594846645681:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-2": "arn:aws:sagemaker:us-east-2:057799348421:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-1": "arn:aws:sagemaker:us-east-1:865070037744:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "eu-west-1": "arn:aws:sagemaker:eu-west-1:985815980388:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-1": "arn:aws:sagemaker:ap-southeast-1:192199979996:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-2": "arn:aws:sagemaker:ap-southeast-2:666831318237:model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + }, + "training_model_package_artifact_uris": { + "us-west-2": "s3://sagemaker-repository-pdx/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-2": "s3://sagemaker-repository-cmh/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "us-east-1": "s3://sagemaker-repository-iad/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "eu-west-1": "s3://sagemaker-repository-dub/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-1": "s3://sagemaker-repository-sin/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + "ap-southeast-2": "s3://sagemaker-repository-syd/model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", + }, + "inference_vulnerable": False, + "inference_dependencies": [ + "sagemaker_jumpstart_huggingface_script_utilities==1.0.8", + "sagemaker_jumpstart_script_utilities==1.1.8", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [ + "accelerate==0.21.0", + "bitsandbytes==0.39.1", + "black==23.7.0", + "brotli==1.0.9", + "datasets==2.14.1", + "fire==0.5.0", + "inflate64==0.3.1", + "loralib==0.1.1", + "multivolumefile==0.2.3", + "mypy-extensions==1.0.0", + "pathspec==0.11.1", + "peft==0.4.0", + "py7zr==0.20.5", + "pybcj==1.0.1", + "pycryptodomex==3.18.0", + "pyppmd==1.0.0", + "pytorch-triton==2.1.0+6e4932cda8", + "pyzstd==0.15.9", + "safetensors==0.3.1", + "sagemaker_jumpstart_huggingface_script_utilities==1.1.3", + "sagemaker_jumpstart_script_utilities==1.1.9", + "scipy==1.11.1", + "termcolor==2.3.0", + "texttable==1.6.7", + "tokenize-rt==5.1.0", + "tokenizers==0.13.3", + "torch==2.2.0.dev20231104+cu118", + "transformers==4.31.0", + ], + "training_vulnerabilities": [], + "deprecated": False, + "deprecate_warn_message": "For forward compatibility, pin to model_version='2.*' in your JumpStartModel or JumpStartEstimator definitions. Note that major version upgrades may have different EULA acceptance terms and input/output signatures.", + "hyperparameters": [ + { + "name": "int8_quantization", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "enable_fsdp", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "epoch", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", + }, + {"name": "lora_r", "type": "int", "default": 8, "min": 1, "scope": "algorithm"}, + {"name": "lora_alpha", "type": "int", "default": 32, "min": 1, "scope": "algorithm"}, + { + "name": "lora_dropout", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "instruction_tuned", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "chat_dataset", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "add_input_output_demarcation_key", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "per_device_train_batch_size", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "per_device_eval_batch_size", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_val_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "seed", + "type": "int", + "default": 10, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.2, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "train_data_split_seed", + "type": "int", + "default": 0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, + ], + "training_script_key": "source-directory-tarballs/meta/transfer_learning/textgeneration/v1.0.6/sourcedir.tar.gz", + "training_ecr_specs": { + "framework": "huggingface", + "framework_version": "2.0.0", + "py_version": "py310", + "huggingface_transformers_version": "4.28.1", + }, + "training_artifact_key": "meta-training/train-meta-textgeneration-llama-2-7b-f.tar.gz", + "inference_environment_variables": [], + "metrics": [ + { + "Name": "huggingface-textgeneration:eval-loss", + "Regex": "eval_epoch_loss=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:eval-ppl", + "Regex": "eval_ppl=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:train-loss", + "Regex": "train_epoch_loss=([0-9\\.]+)", + }, + ], + "default_inference_instance_type": "ml.g5.2xlarge", + "supported_inference_instance_types": [ + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + ], + "default_training_instance_type": "ml.g5.12xlarge", + "supported_training_instance_types": [ + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p3dn.24xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": { + "model_data_download_timeout": 3600, + "container_startup_health_check_timeout": 3600, + }, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_volume_size": 256, + "training_volume_size": 256, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/oasst_top/train/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "meta-textgeneration-llama-2-7b-f", + "default_payloads": { + "Mayo": { + "content_type": "application/json", + "body": { + "inputs": [[{"role": "user", "content": "what is the recipe of mayonnaise?"}]], + "parameters": {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}, + }, + } + }, + "gated_bucket": True, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-east-1": { + "alias_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-northeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-northeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-south-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-southeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ap-southeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "ca-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "cn-north-1": { + "alias_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-north-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-south-1": { + "alias_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "eu-west-3": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "me-south-1": { + "alias_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "sa-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-east-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + "us-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "dynamic_container_deployment_supported": False, + }, + "js-trainable-model": { + "model_id": "autogluon-classification-ensemble", + "url": "https://auto.gluon.ai/stable/index.html", + "version": "1.1.1", + "min_sdk_version": "2.103.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "autogluon", + "framework_version": "0.4.3", + "py_version": "py38", + }, + "hosting_artifact_key": "autogluon-infer/v1.1.0/infer-autogluon-classification-ensemble.tar.gz", + "hosting_script_key": "source-directory-tarballs/autogluon/inference/classification/v1.0.0/sourcedir.tar.gz", + "inference_vulnerable": False, + "inference_dependencies": [], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": ["sagemaker_jumpstart_script_utilities==1.0.1"], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + {"name": "eval_metric", "type": "text", "default": "auto", "scope": "algorithm"}, + { + "name": "presets", + "type": "text", + "default": "medium_quality", + "options": [ + "best_quality", + "high_quality", + "good_quality", + "medium_quality", + "optimize_for_deployment", + "interpretable", + ], + "scope": "algorithm", + }, + { + "name": "auto_stack", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "num_bag_folds", + "type": "text", + "default": "0", + "options": ["0", "2", "3", "4", "5", "6", "7", "8", "9", "10"], + "scope": "algorithm", + }, + {"name": "num_bag_sets", "type": "int", "default": 1, "min": 1, "scope": "algorithm"}, + { + "name": "num_stack_levels", + "type": "int", + "default": 0, + "min": 0, + "max": 3, + "scope": "algorithm", + }, + { + "name": "refit_full", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "set_best_to_refit_full", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "save_space", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "verbosity", + "type": "int", + "default": 2, + "min": 0, + "max": 4, + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, + ], + "training_script_key": "source-directory-tarballs/autogluon/transfer_learning/classification/" + "v1.0.2/sourcedir.tar.gz", + "training_ecr_specs": { + "framework": "autogluon", + "framework_version": "0.4.3", + "py_version": "py38", + }, + "training_artifact_key": "autogluon-training/train-autogluon-classification-ensemble.tar.gz", + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.p2.xlarge", + "supported_inference_instance_types": [ + "ml.p2.xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + ], + "default_training_instance_type": "ml.p3.2xlarge", + "supported_training_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.p2.xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["text/csv"], + "supported_accept_types": ["application/json"], + "default_content_type": "text/csv", + "default_accept_type": "application/json", + }, + "resource_name_base": "blahblahblah", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1" + ".amazonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1" + ".amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1." + "amazonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1." + "amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-" + "1.amazonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-" + "1.amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2" + ".amazonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2" + ".amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.ama" + "zonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazo" + "naws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazo" + "naws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.a" + "mazonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.am" + "azonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazon" + "aws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amaz" + "onaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazon" + "aws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaw" + "s.com.cn/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws" + ".com.cn/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazona" + "ws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaw" + "s.com/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazona" + "ws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazona" + "ws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amaz" + "onaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazo" + "naws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1." + "amazonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.ama" + "zonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazona" + "ws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaw" + "s.com/autogluon-inference:0.4.3-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws" + ".com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amaz" + "onaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amaz" + "onaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazo" + "naws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amaz" + "onaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.ama" + "zonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.ama" + "zonaws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.am" + "azonaws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazo" + "naws.com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazon" + "aws.com/autogluon-inference:0.4.3-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws." + "com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws." + "com/autogluon-inference:0.4.3-gpu-py38", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws" + ".com/autogluon-inference:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws." + "com/autogluon-inference:0.4.3-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south" + "-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amaz" + "naws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-" + "1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amaz" + "onaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.ama" + "zonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.a" + "mazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2." + "amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2." + "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-sou" + "th-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.ama" + "zonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-" + "1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast" + "-1.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast" + "-2.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2." + "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.a" + "mazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.am" + "azonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.a" + "mazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.am" + "azonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.am" + "azonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazon" + "aws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amaz" + "onaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.ama" + "zonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amaz" + "onaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazo" + "naws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.am" + "azonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.am" + "azonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3." + "amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3." + "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-sout" + "h-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1." + "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1." + "amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1" + ".amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1." + "amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1." + "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2" + ".amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-" + "2.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west" + "-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-wes" + "t-1.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west" + "-2.amazonaws.com/autogluon-training:0.4.3-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-w" + "est-2.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + }, + "response-keys": { + "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", + "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", + "version": "1.0.0", + "min_sdk_version": "2.144.0", + "training_supported": False, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "djl-deepspeed", + "framework_version": "0.21.0", + "py_version": "py38", + "huggingface_transformers_version": "4.17", + }, + "hosting_artifact_key": "stabilityai-infer/infer-model-depth2img-st" + "able-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", + "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "stabilityai-infer/prepack/v1.0.0/" + "infer-prepack-model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", + "hosting_prepacked_artifact_version": "1.0.0", + "inference_vulnerable": False, + "inference_dependencies": [ + "accelerate==0.18.0", + "diffusers==0.14.0", + "fsspec==2023.4.0", + "huggingface-hub==0.14.1", + "transformers==4.26.1", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.g5.8xlarge", + "supported_inference_instance_types": [ + "ml.g5.8xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.16xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "validation_supported": False, + "fine_tuning_supported": False, + "resource_name_base": "sd-1-5-controlnet-1-1-fp16", + "default_payloads": { + "Dog": { + "content_type": "application/json", + "prompt_key": "hello.prompt", + "body": { + "hello": {"prompt": "a dog"}, + "seed": 43, + }, + } + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/d" + "jl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + }, + }, + }, + "default_payloads": { + "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", + "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", + "version": "2.0.5", + "min_sdk_version": "2.189.0", + "training_supported": False, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "djl-deepspeed", + "framework_version": "0.21.0", + "py_version": "py38", + "huggingface_transformers_version": "4.17", + }, + "hosting_artifact_key": "stabilityai-depth2img/model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16/artifacts/inference/v1.0.0/", + "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "stabilityai-depth2img/model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, + "inference_vulnerable": False, + "inference_dependencies": [ + "accelerate==0.18.0", + "diffusers==0.14.0", + "fsspec==2023.4.0", + "huggingface-hub==0.14.1", + "transformers==4.26.1", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "default_payloads": { + "Dog": { + "content_type": "application/json", + "body": { + "prompt": "a dog", + "num_images_per_prompt": 2, + "num_inference_steps": 20, + "guidance_scale": 7.5, + "seed": 43, + "eta": 0.7, + "image": "$s3_b64", + }, + } + }, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.g5.8xlarge", + "supported_inference_instance_types": [ + "ml.g5.8xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.16xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "validation_supported": False, + "fine_tuning_supported": False, + "resource_name_base": "sd-1-5-controlnet-1-1-fp16", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-east-1": { + "alias_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-northeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-northeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-northeast-3": { + "alias_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-south-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-southeast-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-southeast-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ap-southeast-3": { + "alias_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "ca-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "cn-north-1": { + "alias_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "cn-northwest-1": { + "alias_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-central-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-north-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-south-1": { + "alias_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "eu-west-3": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "il-central-1": { + "alias_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "me-south-1": { + "alias_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "sa-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-east-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-east-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-gov-east-1": { + "alias_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-gov-west-1": { + "alias_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-west-1": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + "us-west-2": { + "alias_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, + }, + "prompt-key": { + "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", + "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", + "version": "1.0.0", + "min_sdk_version": "2.144.0", + "training_supported": False, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "djl-deepspeed", + "framework_version": "0.21.0", + "py_version": "py38", + "huggingface_transformers_version": "4.17", + }, + "hosting_artifact_key": "stabilityai-infer/infer-model-depth2img-st" + "able-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", + "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "stabilityai-infer/prepack/v1.0.0/" + "infer-prepack-model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", + "hosting_prepacked_artifact_version": "1.0.0", + "inference_vulnerable": False, + "inference_dependencies": [ + "accelerate==0.18.0", + "diffusers==0.14.0", + "fsspec==2023.4.0", + "huggingface-hub==0.14.1", + "transformers==4.26.1", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_ENV", + "type": "text", + "default": "1", + "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.g5.8xlarge", + "supported_inference_instance_types": [ + "ml.g5.8xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.16xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/json"], + "supported_accept_types": ["application/json"], + "default_content_type": "application/json", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "validation_supported": False, + "fine_tuning_supported": False, + "resource_name_base": "sd-1-5-controlnet-1-1-fp16", + "default_payloads": { + "Dog": { + "content_type": "application/json", + "prompt_key": "hello.prompt", + "body": { + "hello": {"prompt": "a dog"}, + "seed": 43, + }, + } + }, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/d" + "jl-inference:0.21.0-deepspeed0.8.3-cu117" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + }, + }, + }, + "predictor-specs-model": { + "model_id": "huggingface-text2text-flan-t5-xxl-fp16", + "url": "https://huggingface.co/google/flan-t5-xxl", + "version": "1.0.1", + "min_sdk_version": "2.130.0", + "training_supported": False, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "pytorch", + "framework_version": "1.12.0", + "py_version": "py38", + "huggingface_transformers_version": "4.17.0", + }, + "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.3/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.1/infer-prepack-huggingface-" + "text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_prepacked_artifact_version": "1.0.1", + "inference_vulnerable": False, + "inference_dependencies": [ + "accelerate==0.16.0", + "bitsandbytes==0.37.0", + "filelock==3.9.0", + "huggingface_hub==0.12.0", + "regex==2022.7.9", + "tokenizers==0.13.2", + "transformers==4.26.0", + ], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "inference_environment_variables": [ + { + "name": "SAGEMAKER_PROGRAM", + "type": "text", + "default": "inference.py", + "scope": "container", + }, + { + "name": "SAGEMAKER_SUBMIT_DIRECTORY", + "type": "text", + "default": "/opt/ml/model/code", + "scope": "container", + }, + { + "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", + "type": "text", + "default": "20", + "scope": "container", + }, + { + "name": "MODEL_CACHE_ROOT", + "type": "text", + "default": "/opt/ml/model", + "scope": "container", + }, + {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "text", + "default": "1", + "scope": "container", + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + }, + ], + "metrics": [], + "default_inference_instance_type": "ml.g5.12xlarge", + "supported_inference_instance_types": [ + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.12xlarge", + ], + "predictor_specs": { + "supported_content_types": ["application/x-text"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "application/x-text", + "default_accept_type": "application/json", + }, + }, + "model_data_s3_prefix_model": { + "model_id": "huggingface-text2text-flan-t5-xxl-fp16", + "url": "https://huggingface.co/google/flan-t5-xxl", + "version": "1.1.2", + "min_sdk_version": "2.144.0", + "training_supported": True, + "incremental_training_supported": False, + "hosting_ecr_specs": { + "framework": "huggingface", + "framework_version": "1.13.1", + "py_version": "py39", + "huggingface_transformers_version": "4.26.0", + }, + "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.1.2/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.1.2/infer-prepack-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_prepacked_artifact_version": "1.1.2", + "inference_vulnerable": False, + "inference_dependencies": ["accelerate==0.19.0", "bitsandbytes==0.38.1", "peft==0.3.0"], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [ + "accelerate==0.19.0", + "datasets==2.12.0", + "deepspeed==0.9.2", + "peft==0.3.0", + "sagemaker_jumpstart_huggingface_script_utilities==1.0.2", + "sagemaker_jumpstart_script_utilities==1.1.4", + "sagemaker_jumpstart_tabular_script_utilities==1.0.0", + ], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + { + "name": "epochs", + "type": "int", + "default": 1, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + {"name": "max_steps", "type": "int", "default": -1, "scope": "algorithm"}, + { + "name": "seed", + "type": "int", + "default": 42, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "batch_size", + "type": "int", + "default": 64, + "min": 1, + "max": 1024, + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.0001, + "min": 1e-08, + "max": 1, + "scope": "algorithm", + }, + { + "name": "lr_scheduler_type", + "type": "text", + "default": "constant_with_warmup", + "options": ["constant_with_warmup", "linear"], + "scope": "algorithm", + }, + { + "name": "warmup_ratio", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "warmup_steps", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.05, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, + { + "name": "max_train_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_eval_samples", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_input_length", + "type": "int", + "default": -1, + "min": -1, + "scope": "algorithm", + }, + { + "name": "max_output_length", + "type": "int", + "default": 128, + "min": 0, + "scope": "algorithm", + }, + { + "name": "pad_to_max_length", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "gradient_accumulation_steps", + "type": "int", + "default": 1, + "min": 1, + "scope": "algorithm", + }, + { + "name": "weight_decay", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta1", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "adam_beta2", + "type": "float", + "default": 0.999, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "sagemaker_program", - "type": "text", - "default": "transfer_learning.py", - "scope": "container", + "name": "adam_epsilon", + "type": "float", + "default": 1e-08, + "min": 0, + "max": 1, + "scope": "algorithm", }, { - "name": "sagemaker_container_log_level", + "name": "max_grad_norm", + "type": "float", + "default": 1.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "load_best_model_at_end", "type": "text", - "default": "20", - "scope": "container", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, - ], - "training_script_key": "source-directory-tarballs/meta/transfer_learning/" - "textgeneration/v1.0.0/sourcedir.tar.gz", - "training_ecr_specs": { - "framework": "djl-deepspeed", - "framework_version": "0.21.0", - "py_version": "py39", - }, - "training_artifact_key": "meta-training/train-meta-textgeneration-llama-2-7b-f.tar.gz", - "inference_environment_variables": [], - "metrics": [], - "default_inference_instance_type": "ml.g5.2xlarge", - "supported_inference_instance_types": [ - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - ], - "default_training_instance_type": "ml.p3.2xlarge", - "supported_training_instance_types": ["ml.p3.2xlarge", "ml.p2.8xlarge", "ml.g4dn.xlarge"], - "model_kwargs": {}, - "deploy_kwargs": { - "model_data_download_timeout": 3600, - "container_startup_health_check_timeout": 3600, - }, - "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, - "fit_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - "inference_volume_size": 256, - "inference_enable_network_isolation": True, - "training_enable_network_isolation": True, - "default_training_dataset_key": "training-datasets/wikitext/", - "validation_supported": False, - "fine_tuning_supported": True, - "resource_name_base": "meta-textgeneration-llama-2-7b-f", - }, - "js-trainable-model": { - "model_id": "autogluon-classification-ensemble", - "url": "https://auto.gluon.ai/stable/index.html", - "version": "1.1.1", - "min_sdk_version": "2.103.0", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "autogluon", - "framework_version": "0.4.3", - "py_version": "py38", - }, - "hosting_artifact_key": "autogluon-infer/v1.1.0/infer-autogluon-classification-ensemble.tar.gz", - "hosting_script_key": "source-directory-tarballs/autogluon/inference/classification/v1.0.0/sourcedir.tar.gz", - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": ["sagemaker_jumpstart_script_utilities==1.0.1"], - "training_vulnerabilities": [], - "deprecated": False, - "hyperparameters": [ - {"name": "eval_metric", "type": "text", "default": "auto", "scope": "algorithm"}, { - "name": "presets", + "name": "early_stopping_patience", + "type": "int", + "default": 3, + "min": 1, + "scope": "algorithm", + }, + { + "name": "early_stopping_threshold", + "type": "float", + "default": 0.0, + "min": 0, + "scope": "algorithm", + }, + { + "name": "label_smoothing_factor", + "type": "float", + "default": 0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "logging_strategy", "type": "text", - "default": "medium_quality", - "options": [ - "best_quality", - "high_quality", - "good_quality", - "medium_quality", - "optimize_for_deployment", - "interpretable", - ], + "default": "steps", + "options": ["no", "steps", "epoch"], "scope": "algorithm", }, { - "name": "auto_stack", + "name": "logging_first_step", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "num_bag_folds", + "name": "logging_steps", + "type": "int", + "default": 500, + "min": 1, + "scope": "algorithm", + }, + { + "name": "logging_nan_inf_filter", "type": "text", - "default": "0", - "options": ["0", "2", "3", "4", "5", "6", "7", "8", "9", "10"], + "default": "True", + "options": ["True", "False"], "scope": "algorithm", }, - {"name": "num_bag_sets", "type": "int", "default": 1, "min": 1, "scope": "algorithm"}, { - "name": "num_stack_levels", + "name": "save_strategy", + "type": "text", + "default": "epoch", + "options": ["no", "epoch", "steps"], + "scope": "algorithm", + }, + {"name": "save_steps", "type": "int", "default": 500, "min": 1, "scope": "algorithm"}, + {"name": "save_total_limit", "type": "text", "default": "2", "scope": "algorithm"}, + { + "name": "dataloader_drop_last", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, + { + "name": "dataloader_num_workers", "type": "int", "default": 0, "min": 0, - "max": 3, "scope": "algorithm", }, { - "name": "refit_full", + "name": "evalaution_strategy", "type": "text", - "default": "False", - "options": ["True", "False"], + "default": "epoch", + "options": ["no", "epoch", "steps"], "scope": "algorithm", }, + {"name": "eval_steps", "type": "text", "default": "500", "scope": "algorithm"}, { - "name": "set_best_to_refit_full", + "name": "eval_accumulation_steps", "type": "text", - "default": "False", + "default": "None", + "scope": "algorithm", + }, + { + "name": "gradient_checkpointing", + "type": "text", + "default": "True", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "save_space", + "name": "auto_find_batch_size", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { - "name": "verbosity", - "type": "int", - "default": 2, - "min": 0, - "max": 4, + "name": "preprocessing_num_workers", + "type": "text", + "default": "None", + "scope": "algorithm", + }, + { + "name": "peft_type", + "type": "text", + "default": "lora", + "options": ["lora"], "scope": "algorithm", }, { @@ -5790,14 +10222,16 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/autogluon/transfer_learning/classification/" - "v1.0.2/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/v1.2.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/prepack/v1.1.2/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.2", "training_ecr_specs": { - "framework": "autogluon", - "framework_version": "0.4.3", - "py_version": "py38", + "framework": "huggingface", + "framework_version": "1.13.1", + "py_version": "py39", + "huggingface_transformers_version": "4.26.0", }, - "training_artifact_key": "autogluon-training/train-autogluon-classification-ensemble.tar.gz", + "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", @@ -5848,6 +10282,13 @@ "scope": "container", "required_for_model_class": True, }, + { + "name": "TS_DEFAULT_WORKERS_PER_MODEL", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", @@ -5856,174 +10297,125 @@ "required_for_model_class": True, }, ], - "metrics": [], - "default_inference_instance_type": "ml.p2.xlarge", - "supported_inference_instance_types": [ - "ml.p2.xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.12xlarge", - "ml.m5.24xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.18xlarge", + "metrics": [ + {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], - "default_training_instance_type": "ml.p3.2xlarge", - "supported_training_instance_types": [ - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.12xlarge", - "ml.m5.24xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.18xlarge", - "ml.p2.xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", + "default_inference_instance_type": "ml.g5.12xlarge", + "supported_inference_instance_types": [ + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.12xlarge", ], + "default_training_instance_type": "ml.g5.24xlarge", + "supported_training_instance_types": ["ml.g5.24xlarge", "ml.g5.48xlarge"], "model_kwargs": {}, - "deploy_kwargs": {}, - "estimator_kwargs": {"encrypt_inter_container_traffic": True}, + "deploy_kwargs": { + "model_data_download_timeout": 3600, + "container_startup_health_check_timeout": 3600, + }, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, "fit_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["text/csv"], - "supported_accept_types": ["application/json"], - "default_content_type": "text/csv", + "predictor_specs": { + "supported_content_types": ["application/x-text", "application/json"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "application/x-text", "default_accept_type": "application/json", }, - "resource_name_base": "blahblahblah", + "inference_volume_size": 256, + "training_volume_size": 256, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/genuq/dev/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "hf-text2text-flan-t5-xxl-fp16", "hosting_instance_type_variants": { "regional_aliases": { "af-south-1": { - "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1" - ".amazonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1" - ".amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-east-1": { - "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1." - "amazonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1." - "amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-northeast-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-" - "1.amazonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-" - "1.amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-northeast-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2" - ".amazonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2" - ".amazonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-south-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.ama" - "zonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazo" - "naws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-southeast-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazo" - "naws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.a" - "mazonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ap-southeast-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.am" - "azonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazon" - "aws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "ca-central-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amaz" - "onaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazon" - "aws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "cn-north-1": { - "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaw" - "s.com.cn/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws" - ".com.cn/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-central-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazona" - "ws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaw" - "s.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-north-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazona" - "ws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazona" - "ws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-south-1": { - "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amaz" - "onaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazo" - "naws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-west-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1." - "amazonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.ama" - "zonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-west-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazona" - "ws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaw" - "s.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "eu-west-3": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws" - ".com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amaz" - "onaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "me-south-1": { - "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amaz" - "onaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazo" - "naws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "sa-east-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amaz" - "onaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.ama" - "zonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "us-east-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.ama" - "zonaws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.am" - "azonaws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "us-east-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazo" - "naws.com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazon" - "aws.com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "us-west-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws." - "com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws." - "com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, "us-west-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws" - ".com/autogluon-inference:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws." - "com/autogluon-inference:0.4.3-gpu-py38", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-cpu-py39-ubuntu20.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", }, }, "variants": { @@ -6054,506 +10446,227 @@ "training_instance_type_variants": { "regional_aliases": { "af-south-1": { - "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south" - "-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amaz" - "naws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-east-1": { - "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-" - "1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amaz" - "onaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-northeast-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.ama" - "zonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.a" - "mazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-northeast-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2." - "amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2." - "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-south-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-sou" - "th-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.ama" - "zonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-southeast-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-" - "1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast" - "-1.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ap-southeast-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast" - "-2.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2." - "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "ca-central-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.a" - "mazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.am" - "azonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-central-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.a" - "mazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.am" - "azonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-north-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.am" - "azonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazon" - "aws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-south-1": { - "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amaz" - "onaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.ama" - "zonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-west-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amaz" - "onaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazo" - "naws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-west-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.am" - "azonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.am" - "azonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "eu-west-3": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3." - "amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3." - "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "me-south-1": { - "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-sout" - "h-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1." - "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "sa-east-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1." - "amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1" - ".amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "us-east-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1." - "amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1." - "amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "us-east-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2" - ".amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-" - "2.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "us-west-1": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west" - "-1.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-wes" - "t-1.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, "us-west-2": { - "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west" - "-2.amazonaws.com/autogluon-training:0.4.3-cpu-py38", - "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-w" - "est-2.amazonaws.com/autogluon-training:0.4.3-gpu-py38", + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" }, }, "variants": { - "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, - "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, - }, - }, - }, - "response-keys": { - "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", - "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", - "version": "1.0.0", - "min_sdk_version": "2.144.0", - "training_supported": False, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "djl-deepspeed", - "framework_version": "0.21.0", - "py_version": "py38", - "huggingface_transformers_version": "4.17", - }, - "hosting_artifact_key": "stabilityai-infer/infer-model-depth2img-st" - "able-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", - "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "stabilityai-infer/prepack/v1.0.0/" - "infer-prepack-model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", - "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.18.0", - "diffusers==0.14.0", - "fsspec==2023.4.0", - "huggingface-hub==0.14.1", - "transformers==4.26.1", - ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - "required_for_model_class": False, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, }, + }, + "dynamic_container_deployment_supported": False, + }, + "no-supported-instance-types-model": { + "model_id": "pytorch-ic-mobilenet-v2", + "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", + "version": "1.0.0", + "min_sdk_version": "2.49.0", + "training_supported": True, + "incremental_training_supported": True, + "hosting_ecr_specs": { + "framework": "pytorch", + "framework_version": "1.5.0", + "py_version": "py3", + }, + "training_ecr_specs": { + "framework": "pytorch", + "framework_version": "1.5.0", + "py_version": "py3", + }, + "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", + "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", + "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", + "hyperparameters": [ { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - "required_for_model_class": False, + "name": "epochs", + "type": "int", + "default": 3, + "min": 1, + "max": 1000, + "scope": "algorithm", }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, + "name": "adam-learning-rate", + "type": "float", + "default": 0.05, + "min": 1e-08, + "max": 1, + "scope": "algorithm", }, { - "name": "ENDPOINT_SERVER_TIMEOUT", + "name": "batch-size", "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, + "default": 4, + "min": 1, + "max": 1024, + "scope": "algorithm", }, { - "name": "MODEL_CACHE_ROOT", + "name": "sagemaker_submit_directory", "type": "text", - "default": "/opt/ml/model", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", - "required_for_model_class": True, }, { - "name": "SAGEMAKER_ENV", + "name": "sagemaker_program", "type": "text", - "default": "1", + "default": "transfer_learning.py", "scope": "container", - "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", "scope": "container", - "required_for_model_class": True, - }, - ], - "metrics": [], - "default_inference_instance_type": "ml.g5.8xlarge", - "supported_inference_instance_types": [ - "ml.g5.8xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.16xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.16xlarge", - ], - "model_kwargs": {}, - "deploy_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - "inference_enable_network_isolation": True, - "validation_supported": False, - "fine_tuning_supported": False, - "resource_name_base": "sd-1-5-controlnet-1-1-fp16", - "default_payloads": { - "Dog": { - "content_type": "application/json", - "prompt_key": "hello.prompt", - "body": { - "hello": {"prompt": "a dog"}, - "seed": 43, - }, - } - }, - "hosting_instance_type_variants": { - "regional_aliases": { - "af-south-1": { - "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/d" - "jl-inference:0.21.0-deepspeed0.8.3-cu117" - }, - }, - "variants": { - "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, }, - }, - }, - "default_payloads": { - "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", - "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", - "version": "1.0.0", - "min_sdk_version": "2.144.0", - "training_supported": False, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "djl-deepspeed", - "framework_version": "0.21.0", - "py_version": "py38", - "huggingface_transformers_version": "4.17", - }, - "hosting_artifact_key": "stabilityai-infer/infer-model-depth2img-st" - "able-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", - "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "stabilityai-infer/prepack/v1.0.0/" - "infer-prepack-model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", - "hosting_prepacked_artifact_version": "1.0.0", - "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.18.0", - "diffusers==0.14.0", - "fsspec==2023.4.0", - "huggingface-hub==0.14.1", - "transformers==4.26.1", ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", - "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", - "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", - "required_for_model_class": False, - }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, - }, - { - "name": "ENDPOINT_SERVER_TIMEOUT", - "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", - "required_for_model_class": True, }, + {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_ENV", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", - "scope": "container", - "required_for_model_class": True, - }, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, - "scope": "container", - "required_for_model_class": True, - }, - ], - "metrics": [], - "default_inference_instance_type": "ml.g5.8xlarge", - "supported_inference_instance_types": [ - "ml.g5.8xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.16xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.16xlarge", - ], - "model_kwargs": {}, - "deploy_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - "inference_enable_network_isolation": True, - "validation_supported": False, - "fine_tuning_supported": False, - "resource_name_base": "sd-1-5-controlnet-1-1-fp16", - "default_payloads": { - "Dog": { - "content_type": "application/json", - "body": { - "prompt": "a dog", - "num_images_per_prompt": 2, - "num_inference_steps": 20, - "guidance_scale": 7.5, - "seed": 43, - "eta": 0.7, - "image": "$s3_b64", - }, - } - }, - "hosting_instance_type_variants": { - "regional_aliases": { - "af-south-1": { - "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/d" - "jl-inference:0.21.0-deepspeed0.8.3-cu117" - }, + "scope": "container", }, - "variants": { - "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", }, - }, + ], + "default_inference_instance_type": "", + "supported_inference_instance_types": None, + "default_training_instance_type": None, + "supported_training_instance_types": [], + "inference_vulnerable": False, + "inference_dependencies": [], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "metrics": [], }, - "prompt-key": { - "model_id": "model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16", - "url": "https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth", + "huggingface-text2text-flan-t5-xxl-fp16": { + "model_id": "huggingface-text2text-flan-t5-xxl-fp16", + "url": "https://huggingface.co/google/flan-t5-xxl", "version": "1.0.0", - "min_sdk_version": "2.144.0", + "min_sdk_version": "2.130.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { - "framework": "djl-deepspeed", - "framework_version": "0.21.0", + "framework": "pytorch", + "framework_version": "1.12.0", "py_version": "py38", - "huggingface_transformers_version": "4.17", + "huggingface_transformers_version": "4.17.0", }, - "hosting_artifact_key": "stabilityai-infer/infer-model-depth2img-st" - "able-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", - "hosting_script_key": "source-directory-tarballs/stabilityai/inference/depth2img/v1.0.0/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "stabilityai-infer/prepack/v1.0.0/" - "infer-prepack-model-depth2img-stable-diffusion-v1-5-controlnet-v1-1-fp16.tar.gz", + "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.2/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-huggingface-" + "text2text-flan-t5-xxl-fp16.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": False, "inference_dependencies": [ - "accelerate==0.18.0", - "diffusers==0.14.0", - "fsspec==2023.4.0", - "huggingface-hub==0.14.1", - "transformers==4.26.1", + "accelerate==0.16.0", + "bitsandbytes==0.37.0", + "filelock==3.9.0", + "huggingface-hub==0.12.0", + "regex==2022.7.9", + "tokenizers==0.13.2", + "transformers==4.26.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, @@ -6566,163 +10679,135 @@ "type": "text", "default": "inference.py", "scope": "container", - "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", - "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", - "required_for_model_class": False, - }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - "required_for_model_class": False, - }, - { - "name": "ENDPOINT_SERVER_TIMEOUT", - "type": "int", - "default": 3600, - "scope": "container", - "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", - "required_for_model_class": True, }, + {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_ENV", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", - "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "int", - "default": 1, + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", "scope": "container", - "required_for_model_class": True, }, ], + "inference_vulnerable": False, + "training_vulnerable": False, + "deprecated": False, + "default_training_instance_type": None, + "supported_training_instance_types": [], "metrics": [], - "default_inference_instance_type": "ml.g5.8xlarge", + "default_inference_instance_type": "ml.g5.12xlarge", "supported_inference_instance_types": [ - "ml.g5.8xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.16xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.16xlarge", + "ml.g5.12xlarge", + "ml.g5.24xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.12xlarge", ], - "model_kwargs": {}, - "deploy_kwargs": {}, - "predictor_specs": { - "supported_content_types": ["application/json"], - "supported_accept_types": ["application/json"], - "default_content_type": "application/json", - "default_accept_type": "application/json", - }, - "inference_enable_network_isolation": True, - "validation_supported": False, - "fine_tuning_supported": False, - "resource_name_base": "sd-1-5-controlnet-1-1-fp16", - "default_payloads": { - "Dog": { - "content_type": "application/json", - "prompt_key": "hello.prompt", - "body": { - "hello": {"prompt": "a dog"}, - "seed": 43, - }, - } - }, - "hosting_instance_type_variants": { - "regional_aliases": { - "af-south-1": { - "alias_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/d" - "jl-inference:0.21.0-deepspeed0.8.3-cu117" - }, - }, - "variants": { - "c4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c5n": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "c6i": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g4dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "g5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf1": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "inf2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "local_gpu": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m4": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "m5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p3dn": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p4de": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "p5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "r5d": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t2": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - "t3": {"regional_properties": {"image_uri": "$alias_ecr_uri_1"}}, - }, - }, }, - "predictor-specs-model": { - "model_id": "huggingface-text2text-flan-t5-xxl-fp16", - "url": "https://huggingface.co/google/flan-t5-xxl", - "version": "1.0.1", - "min_sdk_version": "2.130.0", - "training_supported": False, + "mock-model-training-prepacked-script-key": { + "model_id": "sklearn-classification-linear", + "url": "https://scikit-learn.org/stable/", + "version": "1.0.0", + "min_sdk_version": "2.68.1", + "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.12.0", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", + "framework": "sklearn", + "framework_version": "0.23-1", + "py_version": "py3", }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.3/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.1/infer-prepack-huggingface-" - "text2text-flan-t5-xxl-fp16.tar.gz", - "hosting_prepacked_artifact_version": "1.0.1", + "hosting_artifact_key": "sklearn-infer/infer-sklearn-classification-linear.tar.gz", + "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.16.0", - "bitsandbytes==0.37.0", - "filelock==3.9.0", - "huggingface_hub==0.12.0", - "regex==2022.7.9", - "tokenizers==0.13.2", - "transformers==4.26.0", + "inference_dependencies": [], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + { + "name": "tol", + "type": "float", + "default": 0.0001, + "min": 1e-20, + "max": 50, + "scope": "algorithm", + }, + { + "name": "penalty", + "type": "text", + "default": "l2", + "options": ["l1", "l2", "elasticnet", "none"], + "scope": "algorithm", + }, + { + "name": "alpha", + "type": "float", + "default": 0.0001, + "min": 1e-20, + "max": 999, + "scope": "algorithm", + }, + { + "name": "l1_ratio", + "type": "float", + "default": 0.15, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, + "training_script_key": "source-directory-tarballs/sklearn/transfer_learning/classification/" + "v1.0.0/sourcedir.tar.gz", + "training_prepacked_script_key": "some/key/to/training_prepacked_script_key.tar.gz", + "training_ecr_specs": { + "framework_version": "0.23-1", + "framework": "sklearn", + "py_version": "py3", + }, + "training_artifact_key": "sklearn-training/train-sklearn-classification-linear.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", @@ -6762,364 +10847,772 @@ "scope": "container", }, ], - "metrics": [], - "default_inference_instance_type": "ml.g5.12xlarge", - "supported_inference_instance_types": [ - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.12xlarge", - ], - "predictor_specs": { - "supported_content_types": ["application/x-text"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-text", - "default_accept_type": "application/json", - }, }, - "model_data_s3_prefix_model": { - "model_id": "huggingface-text2text-flan-t5-xxl-fp16", - "url": "https://huggingface.co/google/flan-t5-xxl", - "version": "1.0.1", - "min_sdk_version": "2.130.0", - "training_supported": False, - "incremental_training_supported": False, +} + + +PROTOTYPICAL_MODEL_SPECS_DICT = { + "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1": { + "model_id": "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", + "url": "https://tfhub.dev/google/bit/m-r101x1/ilsvrc2012_classification/1", + "version": "4.0.6", + "min_sdk_version": "2.189.0", + "training_supported": True, + "incremental_training_supported": True, "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.12.0", - "py_version": "py38", - "huggingface_transformers_version": "4.17.0", + "framework": "tensorflow", + "framework_version": "2.8", + "py_version": "py39", }, - "hosting_artifact_key": "huggingface-infer/", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.3/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.1/", - "hosting_prepacked_artifact_version": "1.0.1", + "hosting_artifact_key": "tensorflow-ic/tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1/artifacts/inference/v3.0.0/", + "hosting_script_key": "source-directory-tarballs/tensorflow/inference/ic/v2.0.3/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "tensorflow-ic/tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.16.0", - "bitsandbytes==0.37.0", - "filelock==3.9.0", - "huggingface_hub==0.12.0", - "regex==2022.7.9", - "tokenizers==0.13.2", - "transformers==4.26.0", + "inference_dependencies": [], + "inference_vulnerabilities": [], + "training_vulnerable": False, + "training_dependencies": [ + "sagemaker_jumpstart_prepack_script_utilities==1.0.0", + "sagemaker_jumpstart_script_utilities==1.1.1", + "sagemaker_jumpstart_tensorflow_script_utilities==1.0.1", + ], + "training_vulnerabilities": [], + "deprecated": False, + "hyperparameters": [ + { + "name": "train_only_top_layer", + "type": "text", + "default": "True", + "options": ["False", "True"], + "scope": "algorithm", + }, + { + "name": "epochs", + "type": "int", + "default": 5, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "batch_size", + "type": "int", + "default": 32, + "min": 1, + "max": 1024, + "scope": "algorithm", + }, + { + "name": "optimizer", + "type": "text", + "default": "adam", + "options": ["adam", "sgd", "nesterov", "rmsprop", "adagrad", "adadelta"], + "scope": "algorithm", + }, + { + "name": "learning_rate", + "type": "float", + "default": 0.001, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "beta_1", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "beta_2", + "type": "float", + "default": 0.999, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "momentum", + "type": "float", + "default": 0.9, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "epsilon", + "type": "float", + "default": 1e-07, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "rho", + "type": "float", + "default": 0.95, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "initial_accumulator_value", + "type": "float", + "default": 0.1, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "reinitialize_top_layer", + "type": "text", + "default": "Auto", + "options": ["Auto", "True", "False"], + "scope": "algorithm", + }, + { + "name": "early_stopping", + "type": "text", + "default": "False", + "options": ["False", "True"], + "scope": "algorithm", + }, + { + "name": "early_stopping_patience", + "type": "int", + "default": 5, + "min": 1, + "max": 1000, + "scope": "algorithm", + }, + { + "name": "early_stopping_min_delta", + "type": "float", + "default": 0.0, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "dropout_rate", + "type": "float", + "default": 0.2, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "regularizers_l2", + "type": "float", + "default": 0.0001, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "label_smoothing", + "type": "float", + "default": 0.1, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + { + "name": "image_resize_interpolation", + "type": "text", + "default": "bilinear", + "options": [ + "bilinear", + "nearest", + "bicubic", + "area", + "lanczos3", + "lanczos5", + "gaussian", + "mitchellcubic", + ], + "scope": "algorithm", + }, + { + "name": "augmentation", + "type": "text", + "default": "False", + "options": ["False", "True"], + "scope": "algorithm", + }, + { + "name": "augmentation_random_flip", + "type": "text", + "default": "horizontal_and_vertical", + "options": ["horizontal_and_vertical", "horizontal", "vertical", "None"], + "scope": "algorithm", + }, + { + "name": "augmentation_random_rotation", + "type": "float", + "default": 0.2, + "min": -1, + "max": 1, + "scope": "algorithm", + }, + { + "name": "augmentation_random_zoom", + "type": "float", + "default": 0.1, + "min": -1, + "max": 1, + "scope": "algorithm", + }, + { + "name": "binary_mode", + "type": "text", + "default": "False", + "options": ["False", "True"], + "scope": "algorithm", + }, + { + "name": "eval_metric", + "type": "text", + "default": "accuracy", + "options": ["accuracy", "precision", "recall", "auc", "prc"], + "scope": "algorithm", + }, + { + "name": "validation_split_ratio", + "type": "float", + "default": 0.2, + "min": 0, + "max": 1, + "scope": "algorithm", + }, + {"name": "random_seed", "type": "int", "default": 123, "min": 0, "scope": "algorithm"}, + { + "name": "sagemaker_submit_directory", + "type": "text", + "default": "/opt/ml/input/data/code/sourcedir.tar.gz", + "scope": "container", + }, + { + "name": "sagemaker_program", + "type": "text", + "default": "transfer_learning.py", + "scope": "container", + }, + { + "name": "sagemaker_container_log_level", + "type": "text", + "default": "20", + "scope": "container", + }, ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, + "training_script_key": "source-directory-tarballs/tensorflow/transfer_learning/ic/v2.1.2/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/tensorflow/transfer_learning/ic/prepack/v1.1.2/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.2", + "training_ecr_specs": { + "framework": "tensorflow", + "framework_version": "2.9", + "py_version": "py39", + }, + "training_artifact_key": "tensorflow-training/v3.0.0/train-tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [{"Name": "tflow-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"}], + "default_inference_instance_type": "ml.p3.2xlarge", + "supported_inference_instance_types": [ + "ml.p3.2xlarge", + "ml.p2.xlarge", + "ml.g4dn.xlarge", + "ml.m5.xlarge", + "ml.m4.xlarge", + "ml.m5.large", + "ml.c5.2xlarge", + "ml.c5.xlarge", + "ml.r5.xlarge", + "ml.r5.large", + "ml.c6i.xlarge", + "ml.c6i.large", + ], + "default_training_instance_type": "ml.p3.2xlarge", + "supported_training_instance_types": [ + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.g5.xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/x-image"], + "supported_accept_types": ["application/json", "application/json;verbose"], + "default_content_type": "application/x-image", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tf_flowers/", + "validation_supported": True, + "fine_tuning_supported": True, + "resource_name_base": "bit-m-r101x1-ilsvrc2012-classification", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/tensorflow-inference:2.8-gpu", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/tensorflow-inference:2.8-gpu", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.8-cpu", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.8-gpu", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/tensorflow-training:2.9-gpu-py39", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/tensorflow-training:2.9-gpu-py39", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.9-cpu-py39", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.9-gpu-py39", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, }, - ], - "metrics": [], - "default_inference_instance_type": "ml.g5.12xlarge", - "supported_inference_instance_types": [ - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.12xlarge", - ], - "predictor_specs": { - "supported_content_types": ["application/x-text"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-text", - "default_accept_type": "application/json", }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, - "no-supported-instance-types-model": { + "pytorch-ic-mobilenet-v2": { "model_id": "pytorch-ic-mobilenet-v2", "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", - "version": "1.0.0", - "min_sdk_version": "2.49.0", + "version": "3.0.6", + "min_sdk_version": "2.189.0", "training_supported": True, "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", - }, - "training_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", - }, - "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", - "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", - "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz", - "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", - "hyperparameters": [ - { - "name": "epochs", - "type": "int", - "default": 3, - "min": 1, - "max": 1000, - "scope": "algorithm", - }, - { - "name": "adam-learning-rate", - "type": "float", - "default": 0.05, - "min": 1e-08, - "max": 1, - "scope": "algorithm", - }, - { - "name": "batch-size", - "type": "int", - "default": 4, - "min": 1, - "max": 1024, - "scope": "algorithm", - }, - { - "name": "sagemaker_submit_directory", - "type": "text", - "default": "/opt/ml/input/data/code/sourcedir.tar.gz", - "scope": "container", - }, - { - "name": "sagemaker_program", - "type": "text", - "default": "transfer_learning.py", - "scope": "container", - }, - { - "name": "sagemaker_container_log_level", - "type": "text", - "default": "20", - "scope": "container", - }, - ], - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - }, - { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - }, - { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - }, - { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "text", - "default": "1", - "scope": "container", - }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - }, - ], - "default_inference_instance_type": "", - "supported_inference_instance_types": None, - "default_training_instance_type": None, - "supported_training_instance_types": [], - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "metrics": [], - }, - "huggingface-text2text-flan-t5-xxl-fp16": { - "model_id": "huggingface-text2text-flan-t5-xxl-fp16", - "url": "https://huggingface.co/google/flan-t5-xxl", - "version": "1.0.0", - "min_sdk_version": "2.130.0", - "training_supported": False, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.12.0", + "framework_version": "1.10.0", "py_version": "py38", - "huggingface_transformers_version": "4.17.0", }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.2/sourcedir.tar.gz", - "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-huggingface-" - "text2text-flan-t5-xxl-fp16.tar.gz", + "hosting_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference-prepack/v1.0.0/", "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, "inference_vulnerable": False, - "inference_dependencies": [ - "accelerate==0.16.0", - "bitsandbytes==0.37.0", - "filelock==3.9.0", - "huggingface-hub==0.12.0", - "regex==2022.7.9", - "tokenizers==0.13.2", - "transformers==4.26.0", - ], + "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": ["sagemaker_jumpstart_prepack_script_utilities==1.0.0"], "training_vulnerabilities": [], "deprecated": False, - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - }, - { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - }, - { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - }, - { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "text", - "default": "1", - "scope": "container", - }, + "hyperparameters": [ { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "name": "train_only_top_layer", "type": "text", - "default": "3600", - "scope": "container", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", }, - ], - "inference_vulnerable": False, - "training_vulnerable": False, - "deprecated": False, - "default_training_instance_type": None, - "supported_training_instance_types": [], - "metrics": [], - "default_inference_instance_type": "ml.g5.12xlarge", - "supported_inference_instance_types": [ - "ml.g5.12xlarge", - "ml.g5.24xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.12xlarge", - ], - }, - "mock-model-training-prepacked-script-key": { - "model_id": "sklearn-classification-linear", - "url": "https://scikit-learn.org/stable/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "sklearn", - "framework_version": "0.23-1", - "py_version": "py3", - }, - "hosting_artifact_key": "sklearn-infer/infer-sklearn-classification-linear.tar.gz", - "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.0.0/sourcedir.tar.gz", - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "hyperparameters": [ { - "name": "tol", - "type": "float", - "default": 0.0001, - "min": 1e-20, - "max": 50, + "name": "epochs", + "type": "int", + "default": 5, + "min": 1, + "max": 1000, "scope": "algorithm", }, { - "name": "penalty", - "type": "text", - "default": "l2", - "options": ["l1", "l2", "elasticnet", "none"], + "name": "learning_rate", + "type": "float", + "default": 0.001, + "min": 1e-08, + "max": 1, "scope": "algorithm", }, { - "name": "alpha", - "type": "float", - "default": 0.0001, - "min": 1e-20, - "max": 999, + "name": "batch_size", + "type": "int", + "default": 4, + "min": 1, + "max": 1024, "scope": "algorithm", }, { - "name": "l1_ratio", - "type": "float", - "default": 0.15, - "min": 0, - "max": 1, + "name": "reinitialize_top_layer", + "type": "text", + "default": "Auto", + "options": ["Auto", "True", "False"], "scope": "algorithm", }, { @@ -7141,101 +11634,470 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/sklearn/transfer_learning/classification/" - "v1.0.0/sourcedir.tar.gz", - "training_prepacked_script_key": "some/key/to/training_prepacked_script_key.tar.gz", + "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.0", "training_ecr_specs": { - "framework_version": "0.23-1", - "framework": "sklearn", - "py_version": "py3", + "framework": "pytorch", + "framework_version": "1.10.0", + "py_version": "py38", }, - "training_artifact_key": "sklearn-training/train-sklearn-classification-linear.tar.gz", + "training_artifact_key": "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, }, ], + "metrics": [{"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"}], + "default_inference_instance_type": "ml.m5.large", + "supported_inference_instance_types": [ + "ml.m5.large", + "ml.m5.xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.m4.large", + "ml.m4.xlarge", + ], + "default_training_instance_type": "ml.m5.xlarge", + "supported_training_instance_types": ["ml.m5.xlarge", "ml.c5.2xlarge", "ml.m4.xlarge"], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/x-image"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "application/x-image", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tf_flowers/", + "validation_supported": False, + "fine_tuning_supported": True, + "resource_name_base": "pt-ic-mobilenet-v2", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, -} - - -PROTOTYPICAL_MODEL_SPECS_DICT = { - "pytorch-eqa-bert-base-cased": { - "model_id": "pytorch-eqa-bert-base-cased", - "url": "https://pytorch.org/hub/huggingface_pytorch-transformers/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "mxnet-semseg-fcn-resnet50-ade": { + "model_id": "mxnet-semseg-fcn-resnet50-ade", + "url": "https://cv.gluon.ai/model_zoo/segmentation.html", + "version": "2.0.3", + "min_sdk_version": "2.189.0", "training_supported": True, - "incremental_training_supported": False, + "incremental_training_supported": True, "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework": "mxnet", + "framework_version": "1.9.0", + "py_version": "py38", }, - "default_inference_instance_type": "ml.p2.xlarge", - "supported_inference_instance_type": ["ml.p2.xlarge", "ml.p3.xlarge"], - "default_training_instance_type": "ml.p2.xlarge", - "supported_training_instance_type": ["ml.p2.xlarge", "ml.p3.xlarge"], - "hosting_artifact_key": "pytorch-infer/infer-pytorch-eqa-bert-base-cased.tar.gz", - "hosting_script_key": "source-directory-tarballs/pytorch/inference/eqa/v1.0.0/sourcedir.tar.gz", + "hosting_artifact_key": "mxnet-semseg/mxnet-semseg-fcn-resnet50-ade/artifacts/inference/v1.1.0/", + "hosting_script_key": "source-directory-tarballs/mxnet/inference/semseg/v1.2.1/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "mxnet-semseg/mxnet-semseg-fcn-resnet50-ade/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, "inference_vulnerable": False, - "inference_dependencies": [ - "transformers==3.5.1", - "dataclasses==0.8", - "filelock==3.0.12", - "packaging==20.8", - "pyparsing==2.4.7", - "regex==2020.11.13", - "sacremoses==0.0.43", - "sentencepiece==0.1.91", - "tokenizers==0.9.3", - ], + "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ - "transformers==3.5.1", - "dataclasses==0.8", - "filelock==3.0.12", - "packaging==20.8", - "pyparsing==2.4.7", - "regex==2020.11.13", - "sacremoses==0.0.43", - "sentencepiece==0.1.91", - "tokenizers==0.9.3", + "numpy==1.23.1", + "opencv_python==4.7.0.68", + "sagemaker_jumpstart_prepack_script_utilities==1.0.0", ], "training_vulnerabilities": [], "deprecated": False, @@ -7243,7 +12105,7 @@ { "name": "epochs", "type": "int", - "default": 3, + "default": 5, "min": 1, "max": 1000, "scope": "algorithm", @@ -7251,7 +12113,7 @@ { "name": "adam-learning-rate", "type": "float", - "default": 2e-05, + "default": 0.001, "min": 1e-08, "max": 1, "scope": "algorithm", @@ -7259,11 +12121,18 @@ { "name": "batch-size", "type": "int", - "default": 4, + "default": 2, "min": 1, "max": 1024, "scope": "algorithm", }, + { + "name": "train-only-top-layer", + "type": "text", + "default": "True", + "options": ["True", "False"], + "scope": "algorithm", + }, { "name": "sagemaker_submit_directory", "type": "text", @@ -7283,78 +12152,447 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/eqa/v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/mxnet/transfer_learning/semseg/v1.5.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/mxnet/transfer_learning/semseg/prepack/v1.1.0/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.0", "training_ecr_specs": { - "framework_version": "1.5.0", - "framework": "pytorch", - "py_version": "py3", - }, - "training_artifact_key": "pytorch-training/train-pytorch-eqa-bert-base-cased.tar.gz", - "predictor_specs": { - "supported_content_types": ["application/x-image"], - "supported_accept_types": ["application/json;verbose", "application/json"], - "default_content_type": "application/x-image", - "default_accept_type": "application/json", + "framework": "mxnet", + "framework_version": "1.9.0", + "py_version": "py38", }, + "training_artifact_key": "mxnet-training/train-mxnet-semseg-fcn-resnet50-ade.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, }, ], + "metrics": [{"Name": "mxnet-semseg:val-loss", "Regex": "validation loss=([0-9\\.]+)"}], + "default_inference_instance_type": "ml.p3.2xlarge", + "supported_inference_instance_types": [ + "ml.p2.xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + ], + "default_training_instance_type": "ml.p3.2xlarge", + "supported_training_instance_types": [ + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/x-image"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "application/x-image", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/PennFudanPed_SemSeg/", + "validation_supported": False, + "fine_tuning_supported": True, + "resource_name_base": "mx-semseg-fcn-resnet50-ade", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/mxnet-inference:1.9.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-inference:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-inference:1.9.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/mxnet-training:1.9.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/mxnet-training:1.9.0-gpu-py38", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/mxnet-training:1.9.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, - "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1": { - "model_id": "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", - "url": "https://tfhub.dev/google/bit/m-r101x1/ilsvrc2012_classification/1", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "huggingface-spc-bert-base-cased": { + "model_id": "huggingface-spc-bert-base-cased", + "url": "https://huggingface.co/bert-base-cased", + "version": "2.0.3", + "min_sdk_version": "2.189.0", "training_supported": True, - "incremental_training_supported": False, + "incremental_training_supported": True, "hosting_ecr_specs": { - "framework": "tensorflow", - "framework_version": "2.3", - "py_version": "py37", + "framework": "huggingface", + "framework_version": "1.7.1", + "py_version": "py36", + "huggingface_transformers_version": "4.6.1", }, - "hosting_artifact_key": "tensorflow-infer/infer-tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1.tar.gz", - "hosting_script_key": "source-directory-tarballs/tensorflow/inference/ic/v1.0.0/sourcedir.tar.gz", + "hosting_artifact_key": "huggingface-spc/huggingface-spc-bert-base-cased/artifacts/inference/v1.2.0/", + "hosting_script_key": "source-directory-tarballs/huggingface/inference/spc/v1.1.3/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "huggingface-spc/huggingface-spc-bert-base-cased/artifacts/inference-prepack/v1.0.0/", + "hosting_prepacked_artifact_version": "1.0.0", + "hosting_use_script_uri": False, "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": ["sagemaker_jumpstart_prepack_script_utilities==1.0.0"], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ @@ -7369,7 +12607,7 @@ { "name": "adam-learning-rate", "type": "float", - "default": 0.05, + "default": 2e-05, "min": 1e-08, "max": 1, "scope": "algorithm", @@ -7377,11 +12615,25 @@ { "name": "batch-size", "type": "int", - "default": 4, + "default": 8, "min": 1, "max": 1024, "scope": "algorithm", }, + { + "name": "reinitialize-top-layer", + "type": "text", + "default": "Auto", + "options": ["Auto", "True", "False"], + "scope": "algorithm", + }, + { + "name": "train-only-top-layer", + "type": "text", + "default": "False", + "options": ["True", "False"], + "scope": "algorithm", + }, { "name": "sagemaker_submit_directory", "type": "text", @@ -7401,370 +12653,542 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/tensorflow/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/spc/v1.3.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/spc/prepack/v1.1.0/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.0", "training_ecr_specs": { - "framework_version": "2.3", - "framework": "tensorflow", - "py_version": "py37", + "framework": "huggingface", + "framework_version": "1.6.0", + "py_version": "py36", + "huggingface_transformers_version": "4.4.2", }, - "training_artifact_key": "tensorflow-training/train-tensorflow-ic-bit-" - "m-r101x1-ilsvrc2012-classification-1.tar.gz", + "training_artifact_key": "huggingface-training/train-huggingface-spc-bert-base-cased.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, }, ], + "metrics": [ + {"Name": "hugginface-spc:eval-accuracy", "Regex": "'eval_accuracy': ([0-9\\.]+)"} + ], + "default_inference_instance_type": "ml.p3.2xlarge", + "supported_inference_instance_types": [ + "ml.p2.xlarge", + "ml.p3.2xlarge", + "ml.g4dn.xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + ], + "default_training_instance_type": "ml.p3.2xlarge", + "supported_training_instance_types": [ + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["application/list-text"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "application/list-text", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/QNLI/", + "validation_supported": False, + "fine_tuning_supported": True, + "resource_name_base": "hf-spc-bert-base-cased", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-cpu-py36-ubuntu18.04", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "gpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-east-1": { + "gpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-northeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-northeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-northeast-3": { + "gpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-south-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-southeast-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-southeast-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ap-southeast-3": { + "gpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "ca-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "cn-north-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "cn-northwest-1": { + "gpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-central-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-central-2": { + "gpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-north-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-south-1": { + "gpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "eu-west-3": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "il-central-1": { + "gpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "me-central-1": { + "gpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "me-south-1": { + "gpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "sa-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-east-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-east-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-gov-east-1": { + "gpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-gov-west-1": { + "gpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-west-1": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + "us-west-2": { + "gpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04" + }, + }, + "variants": { + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_1"}}, + }, + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, - "mxnet-semseg-fcn-resnet50-ade": { - "model_id": "mxnet-semseg-fcn-resnet50-ade", - "url": "https://cv.gluon.ai/model_zoo/segmentation.html", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "lightgbm-classification-model": { + "model_id": "lightgbm-classification-model", + "url": "https://lightgbm.readthedocs.io/en/latest/", + "version": "2.1.6", + "min_sdk_version": "2.189.0", "training_supported": True, - "incremental_training_supported": False, + "incremental_training_supported": True, "hosting_ecr_specs": { - "framework": "mxnet", - "framework_version": "1.7.0", - "py_version": "py3", + "framework": "pytorch", + "framework_version": "2.0.1", + "py_version": "py310", }, - "hosting_artifact_key": "mxnet-infer/infer-mxnet-semseg-fcn-resnet50-ade.tar.gz", - "hosting_script_key": "source-directory-tarballs/mxnet/inference/semseg/v1.0.0/sourcedir.tar.gz", + "hosting_artifact_key": "lightgbm-classification/lightgbm-classification-model/artifacts/inference/v1.0.0/", + "hosting_script_key": "source-directory-tarballs/lightgbm/inference/classification/v1.2.2/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "lightgbm-classification/lightgbm-classification-model/artifacts/inference-prepack/v1.0.1/", + "hosting_prepacked_artifact_version": "1.0.1", + "hosting_use_script_uri": False, "inference_vulnerable": False, - "inference_dependencies": [], + "inference_dependencies": ["lightgbm==4.1.0"], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": ["numpy==1.19.5", "opencv_python==4.0.1.23"], + "training_dependencies": [ + "HeapDict==1.0.1", + "dask==2022.12.1", + "distributed==2022.12.1", + "graphviz==0.17", + "lightgbm==3.3.3", + "locket==1.0.0", + "msgpack==1.0.4", + "partd==1.3.0", + "sagemaker_jumpstart_prepack_script_utilities==1.0.0", + "sagemaker_jumpstart_tabular_script_utilities==1.0.0", + "sortedcontainers==2.4.0", + "tblib==1.7.0", + "toolz==0.12.0", + "zict==2.2.0", + ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { - "name": "epochs", + "name": "num_boost_round", "type": "int", - "default": 5, + "default": 5000, "min": 1, - "max": 1000, + "max": 100000, "scope": "algorithm", }, + {"name": "early_stopping_rounds", "type": "int", "default": 30, "scope": "algorithm"}, + {"name": "metric", "type": "text", "default": "auto", "scope": "algorithm"}, { - "name": "adam-learning-rate", + "name": "learning_rate", "type": "float", - "default": 0.001, - "min": 1e-08, - "max": 1, + "default": 0.009, + "min": 1e-20, "scope": "algorithm", }, { - "name": "batch-size", + "name": "num_leaves", "type": "int", - "default": 2, - "min": 1, - "max": 1024, + "default": 67, + "min": 2, + "max": 131072, "scope": "algorithm", }, { - "name": "sagemaker_submit_directory", - "type": "text", - "default": "/opt/ml/input/data/code/sourcedir.tar.gz", - "scope": "container", - }, - { - "name": "sagemaker_program", - "type": "text", - "default": "transfer_learning.py", - "scope": "container", - }, - { - "name": "sagemaker_container_log_level", - "type": "text", - "default": "20", - "scope": "container", - }, - ], - "training_script_key": "source-directory-tarballs/mxnet/transfer_learning/semseg/v1.0.0/sourcedir.tar.gz", - "training_ecr_specs": { - "framework_version": "1.7.0", - "framework": "mxnet", - "py_version": "py3", - }, - "training_artifact_key": "mxnet-training/train-mxnet-semseg-fcn-resnet50-ade.tar.gz", - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - }, - { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - }, - { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - }, - { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "text", - "default": "1", - "scope": "container", - }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", - }, - ], - }, - "huggingface-spc-bert-base-cased": { - "model_id": "huggingface-spc-bert-base-cased", - "url": "https://huggingface.co/bert-base-cased", - "version": "1.0.0", - "min_sdk_version": "2.68.1", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "huggingface", - "framework_version": "1.7.1", - "py_version": "py36", - "huggingface_transformers_version": "4.6.1", - }, - "hosting_artifact_key": "huggingface-infer/infer-huggingface-spc-bert-base-cased.tar.gz", - "hosting_script_key": "source-directory-tarballs/huggingface/inference/spc/v1.0.0/sourcedir.tar.gz", - "inference_vulnerable": False, - "inference_dependencies": [], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [], - "training_vulnerabilities": [], - "deprecated": False, - "hyperparameters": [ - { - "name": "epochs", - "type": "int", - "default": 3, - "min": 1, - "max": 1000, + "name": "feature_fraction", + "type": "float", + "default": 0.74, + "min": 1e-20, + "max": 1, "scope": "algorithm", }, { - "name": "adam-learning-rate", + "name": "bagging_fraction", "type": "float", - "default": 2e-05, - "min": 1e-08, + "default": 0.53, + "min": 1e-20, "max": 1, "scope": "algorithm", }, { - "name": "batch-size", + "name": "bagging_freq", "type": "int", - "default": 8, - "min": 1, - "max": 1024, + "default": 5, + "min": 0, + "max": 100000, "scope": "algorithm", }, + {"name": "max_depth", "type": "int", "default": 11, "scope": "algorithm"}, { - "name": "sagemaker_submit_directory", - "type": "text", - "default": "/opt/ml/input/data/code/sourcedir.tar.gz", - "scope": "container", - }, - { - "name": "sagemaker_program", - "type": "text", - "default": "transfer_learning.py", - "scope": "container", - }, - { - "name": "sagemaker_container_log_level", - "type": "text", - "default": "20", - "scope": "container", - }, - ], - "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/spc/v1.0.0/sourcedir.tar.gz", - "training_ecr_specs": { - "framework_version": "1.6.0", - "framework": "huggingface", - "huggingface_transformers_version": "4.4.2", - "py_version": "py36", - }, - "training_artifact_key": "huggingface-training/train-huggingface-spc-bert-base-cased.tar.gz", - "inference_environment_variables": [ - { - "name": "SAGEMAKER_PROGRAM", - "type": "text", - "default": "inference.py", - "scope": "container", - }, - { - "name": "SAGEMAKER_SUBMIT_DIRECTORY", - "type": "text", - "default": "/opt/ml/model/code", - "scope": "container", - }, - { - "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", - "type": "text", - "default": "20", - "scope": "container", - }, - { - "name": "MODEL_CACHE_ROOT", - "type": "text", - "default": "/opt/ml/model", - "scope": "container", - }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, - { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", - "type": "text", - "default": "1", - "scope": "container", - }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", + "name": "min_data_in_leaf", + "type": "int", + "default": 26, + "min": 0, + "scope": "algorithm", }, - ], - }, - "lightgbm-classification-model": { - "model_id": "lightgbm-classification-model", - "url": "https://lightgbm.readthedocs.io/en/latest/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", - "training_supported": True, - "incremental_training_supported": False, - "hosting_ecr_specs": { - "framework": "pytorch", - "framework_version": "1.9.0", - "py_version": "py38", - }, - "hosting_artifact_key": "lightgbm-infer/infer-lightgbm-classification-model.tar.gz", - "hosting_script_key": "source-directory-tarballs/lightgbm/inference/classification/v1.0.0/sourcedir.tar.gz", - "inference_vulnerable": False, - "inference_dependencies": [ - "plotly==5.1.0", - "joblib==1.0.1", - "scikit_learn==1.0.1", - "tenacity==8.0.1", - "lightgbm==3.2.1", - "threadpoolctl==2.2.0", - "graphviz==0.17", - ], - "inference_vulnerabilities": [], - "training_vulnerable": False, - "training_dependencies": [ - "tenacity==8.0.1", - "plotly==5.1.0", - "graphviz==0.17", - "glibc==0.6.1", - "lightgbm==3.2.1", - ], - "training_vulnerabilities": [], - "deprecated": False, - "hyperparameters": [ + {"name": "max_delta_step", "type": "float", "default": 0.0, "scope": "algorithm"}, { - "name": "num_boost_round", - "type": "int", - "default": 5000, - "min": 1, - "max": 100000, + "name": "lambda_l1", + "type": "float", + "default": 0.0, + "min": 0.0, "scope": "algorithm", }, - {"name": "early_stopping_rounds", "type": "int", "default": 30, "scope": "algorithm"}, { - "name": "learning_rate", + "name": "lambda_l2", "type": "float", - "default": 0.009, - "min": 1e-20, + "default": 0.0, + "min": 0.0, "scope": "algorithm", }, { - "name": "num_leaves", - "type": "int", - "default": 67, - "min": 2, - "max": 131072, + "name": "boosting", + "type": "text", + "default": "gbdt", + "options": ["gbdt", "rf", "dart", "goss"], "scope": "algorithm", }, { - "name": "feature_fraction", + "name": "min_gain_to_split", "type": "float", - "default": 0.74, + "default": 0.0, + "min": 0.0, + "scope": "algorithm", + }, + { + "name": "scale_pos_weight", + "type": "float", + "default": 1.0, "min": 1e-20, - "max": 1, "scope": "algorithm", }, { - "name": "bagging_fraction", + "name": "tree_learner", + "type": "text", + "default": "serial", + "options": ["serial", "feature", "data", "voting"], + "scope": "algorithm", + }, + { + "name": "feature_fraction_bynode", "type": "float", - "default": 0.53, + "default": 1.0, "min": 1e-20, "max": 1, "scope": "algorithm", }, { - "name": "bagging_freq", - "type": "int", - "default": 5, - "min": 0, - "max": 100000, + "name": "is_unbalance", + "type": "text", + "default": "False", + "options": ["True", "False"], "scope": "algorithm", }, - {"name": "max_depth", "type": "int", "default": 11, "scope": "algorithm"}, + {"name": "max_bin", "type": "int", "default": 255, "min": 2, "scope": "algorithm"}, + {"name": "num_threads", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, + {"name": "verbosity", "type": "int", "default": 1, "scope": "algorithm"}, { - "name": "min_data_in_leaf", - "type": "int", - "default": 26, - "min": 0, + "name": "use_dask", + "type": "text", + "default": "False", + "options": ["True", "False"], "scope": "algorithm", }, { @@ -7786,11 +13210,12 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/lightgbm/transfer_learning/classification/" - "v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/lightgbm/transfer_learning/classification/v2.2.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/lightgbm/transfer_learning/classification/prepack/v1.1.1/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.1", "training_ecr_specs": { - "framework_version": "1.9.0", "framework": "pytorch", + "framework_version": "1.9.0", "py_version": "py38", }, "training_artifact_key": "lightgbm-training/train-lightgbm-classification-model.tar.gz", @@ -7800,74 +13225,501 @@ "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [ + { + "Name": "lightgbm-classification:multi-log-loss", + "Regex": "multi_logloss: ([0-9\\.]+)", + } + ], + "default_inference_instance_type": "ml.m5.4xlarge", + "supported_inference_instance_types": [ + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m4.16xlarge", + ], + "default_training_instance_type": "ml.m5.12xlarge", + "supported_training_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m4.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["text/csv"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "text/csv", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tabular_multiclass/", + "validation_supported": True, + "fine_tuning_supported": False, + "resource_name_base": "lgb-classification-model", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:2.0.1-gpu-py310", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6gn": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "m6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "r6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.9.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.9.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, }, - ], + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, "catboost-classification-model": { "model_id": "catboost-classification-model", "url": "https://catboost.ai/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "version": "2.1.6", + "min_sdk_version": "2.189.0", "training_supported": True, - "incremental_training_supported": False, + "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "pytorch", - "framework_version": "1.9.0", - "py_version": "py38", + "framework_version": "2.0.1", + "py_version": "py310", }, - "hosting_artifact_key": "catboost-infer/infer-catboost-classification-model.tar.gz", - "hosting_script_key": "source-directory-tarballs/catboost/inference/classification/v1.0.0/sourcedir.tar.gz", + "hosting_artifact_key": "catboost-classification/catboost-classification-model/artifacts/inference/v1.0.0/", + "hosting_script_key": "source-directory-tarballs/catboost/inference/classification/v1.1.2/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "catboost-classification/catboost-classification-model/artifacts/inference-prepack/v1.0.1/", + "hosting_prepacked_artifact_version": "1.0.1", + "hosting_use_script_uri": False, "inference_vulnerable": False, "inference_dependencies": [ - "tenacity==8.0.1", - "plotly==5.1.0", - "graphviz==0.17", - "pyparsing==2.4.7", - "cycler==0.10.0", - "kiwisolver==1.3.2", - "matplotlib==3.4.3", - "catboost==1.0.1", - "scikit_learn==1.0.1", - "threadpoolctl==2.2.0", + "catboost==1.2.2", + "graphviz==0.20.1", + "plotly==5.18.0", + "tenacity==8.2.3", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ - "tenacity==8.0.1", - "plotly==5.1.0", - "graphviz==0.17", "catboost==1.0.1", + "graphviz==0.17", + "plotly==5.1.0", + "sagemaker_jumpstart_prepack_script_utilities==1.0.0", + "sagemaker_jumpstart_script_utilities==1.0.1", + "tenacity==8.0.1", ], "training_vulnerabilities": [], "deprecated": False, @@ -7888,6 +13740,7 @@ "max": 5000, "scope": "algorithm", }, + {"name": "eval_metric", "type": "text", "default": "Auto", "scope": "algorithm"}, { "name": "learning_rate", "type": "float", @@ -7920,6 +13773,61 @@ "max": 10, "scope": "algorithm", }, + {"name": "max_leaves", "type": "int", "default": 31, "min": 2, "scope": "algorithm"}, + { + "name": "rsm", + "type": "float", + "default": 1, + "min": 1e-20, + "max": 1, + "scope": "algorithm", + }, + { + "name": "sampling_frequency", + "type": "text", + "default": "PerTreeLevel", + "options": ["PerTreeLevel", "PerTree"], + "scope": "algorithm", + }, + { + "name": "min_data_in_leaf", + "type": "int", + "default": 1, + "min": 1, + "scope": "algorithm", + }, + { + "name": "bagging_temperature", + "type": "float", + "default": 1, + "min": 0, + "scope": "algorithm", + }, + { + "name": "boosting_type", + "type": "text", + "default": "Auto", + "options": ["Auto", "Ordered", "Plain"], + "scope": "algorithm", + }, + { + "name": "scale_pos_weight", + "type": "float", + "default": 1.0, + "min": 1e-20, + "scope": "algorithm", + }, + {"name": "max_bin", "type": "text", "default": "Auto", "scope": "algorithm"}, + { + "name": "grow_policy", + "type": "text", + "default": "SymmetricTree", + "options": ["SymmetricTree", "Depthwise", "Lossguide"], + "scope": "algorithm", + }, + {"name": "random_seed", "type": "int", "default": 0, "min": 0, "scope": "algorithm"}, + {"name": "thread_count", "type": "int", "default": -1, "min": -1, "scope": "algorithm"}, + {"name": "verbose", "type": "int", "default": 1, "min": 1, "scope": "algorithm"}, { "name": "sagemaker_submit_directory", "type": "text", @@ -7939,11 +13847,12 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/catboost/transfer_learning/" - "classification/v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/catboost/transfer_learning/classification/v1.2.0/sourcedir.tar.gz", + "training_prepacked_script_key": "source-directory-tarballs/catboost/transfer_learning/classification/prepack/v1.1.1/sourcedir.tar.gz", + "training_prepacked_script_version": "1.1.1", "training_ecr_specs": { - "framework_version": "1.9.0", "framework": "pytorch", + "framework_version": "1.9.0", "py_version": "py38", }, "training_artifact_key": "catboost-training/train-catboost-classification-model.tar.gz", @@ -7953,59 +13862,538 @@ "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, + "scope": "container", + "required_for_model_class": True, + }, + ], + "metrics": [ + {"Name": "catboost-classification:multi-logloss", "Regex": "multi_logloss: ([0-9\\.]+)"} + ], + "default_inference_instance_type": "ml.m5.4xlarge", + "supported_inference_instance_types": [ + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m4.16xlarge", + ], + "default_training_instance_type": "ml.m5.12xlarge", + "supported_training_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m4.16xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["text/csv"], + "supported_accept_types": ["application/json", "application/json;verbose"], + "default_content_type": "text/csv", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tabular_multiclass/", + "validation_supported": True, + "fine_tuning_supported": False, + "resource_name_base": "cat-classification-model", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-south-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:2.0.1-gpu-py310", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "sa-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-east-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-east-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + "us-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-cpu-py310", + "cpu_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference-graviton:2.0.1-cpu-py310-ubuntu20.04-sagemaker", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.0.1-gpu-py310", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6gn": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "m6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "r6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_3"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.9.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.9.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.9.0-gpu-py38", + }, }, - { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", - "scope": "container", + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, }, - ], + }, + "hosting_artifact_s3_data_type": "S3Prefix", + "hosting_artifact_compression_type": "None", + "dynamic_container_deployment_supported": False, }, "xgboost-classification-model": { "model_id": "xgboost-classification-model", - "url": "https://xgboost.readthedocs.io/en/latest/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "url": "https://xgboost.readthedocs.io/en/release_1.7.0/", + "version": "2.1.1", + "min_sdk_version": "2.188.0", "training_supported": True, - "incremental_training_supported": False, + "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "xgboost", - "framework_version": "1.3-1", + "framework_version": "1.7-1", "py_version": "py3", }, "hosting_artifact_key": "xgboost-infer/infer-xgboost-classification-model.tar.gz", - "hosting_script_key": "source-directory-tarballs/xgboost/inference/classification/v1.0.0/sourcedir.tar.gz", + "hosting_script_key": "source-directory-tarballs/xgboost/inference/classification/v1.1.0/sourcedir.tar.gz", + "hosting_use_script_uri": True, "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": [ + "asn1crypto==1.5.1", + "attrs==23.1.0", + "boto3==1.26.158", + "botocore==1.29.159", + "certifi==2023.5.7", + "cffi==1.15.1", + "charset-normalizer==2.1.1", + "cloudpickle==2.2.1", + "contextlib2==21.6.0", + "cryptography==40.0.2", + "dill==0.3.6", + "filelock==3.12.2", + "google-pasta==0.2.0", + "idna==3.4", + "importlib-metadata==4.13.0", + "importlib-resources==5.12.0", + "jmespath==1.0.1", + "jsonschema==4.17.3", + "multiprocess==0.70.14", + "numpy==1.24.3", + "oscrypto==1.3.0", + "packaging==23.1", + "pandas==2.0.2", + "pathos==0.3.0", + "pkgutil-resolve-name==1.3.10", + "platformdirs==3.8.0", + "pox==0.3.2", + "ppft==1.7.6.6", + "protobuf3-to-dict==0.1.5", + "protobuf==3.20.3", + "pycparser==2.21", + "pycryptodomex==3.12.0", + "pyjwt==2.7.0", + "pyopenssl==23.2.0", + "pyrsistent==0.19.3", + "python-dateutil==2.8.2", + "pytz==2023.3", + "pyyaml==6.0", + "requests==2.31.0", + "s3transfer==0.6.1", + "sagemaker==2.164.0", + "sagemaker_jumpstart_script_utilities==1.0.1", + "sagemaker_jumpstart_snowflake_script_utilities==1.1.0", + "schema==0.7.5", + "six==1.16.0", + "smdebug-rulesconfig==1.0.1", + "snowflake-connector-python==3.12.3", + "tblib==1.7.0", + "typing-extensions==4.6.3", + "tzdata==2023.3", + "urllib3==1.26.16", + "zipp==3.15.0", + ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ @@ -8093,11 +14481,10 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/xgboost/transfer_learning/classification/" - "v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/training/xgboost-classification/v1.3.1/sourcedir.tar.gz", "training_ecr_specs": { - "framework_version": "1.3-1", "framework": "xgboost", + "framework_version": "1.7-1", "py_version": "py3", }, "training_artifact_key": "xgboost-training/train-xgboost-classification-model.tar.gz", @@ -8107,59 +14494,430 @@ "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, }, ], + "metrics": [], + "default_inference_instance_type": "ml.m5.xlarge", + "supported_inference_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c4.8xlarge", + ], + "default_training_instance_type": "ml.m5.4xlarge", + "supported_training_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c4.8xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["text/csv"], + "supported_accept_types": ["application/json", "application/json;verbose"], + "default_content_type": "text/csv", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tabular_multiclass/", + "validation_supported": True, + "fine_tuning_supported": False, + "resource_name_base": "xgb-classification-model", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "xgb_ecr_uri_1": "510948584623.dkr.ecr.af-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-east-1": { + "xgb_ecr_uri_1": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-1": { + "xgb_ecr_uri_1": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-2": { + "xgb_ecr_uri_1": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-3": { + "xgb_ecr_uri_1": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-south-1": { + "xgb_ecr_uri_1": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-1": { + "xgb_ecr_uri_1": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-2": { + "xgb_ecr_uri_1": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-3": { + "xgb_ecr_uri_1": "951798379941.dkr.ecr.ap-southeast-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ca-central-1": { + "xgb_ecr_uri_1": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "cn-north-1": { + "xgb_ecr_uri_1": "450853457545.dkr.ecr.cn-north-1.amazonaws.com.cn/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "cn-northwest-1": { + "xgb_ecr_uri_1": "451049120500.dkr.ecr.cn-northwest-1.amazonaws.com.cn/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-central-1": { + "xgb_ecr_uri_1": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-central-2": { + "xgb_ecr_uri_1": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-north-1": { + "xgb_ecr_uri_1": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-south-1": { + "xgb_ecr_uri_1": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-1": { + "xgb_ecr_uri_1": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-2": { + "xgb_ecr_uri_1": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-3": { + "xgb_ecr_uri_1": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "il-central-1": { + "xgb_ecr_uri_1": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "me-central-1": { + "xgb_ecr_uri_1": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "me-south-1": { + "xgb_ecr_uri_1": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "sa-east-1": { + "xgb_ecr_uri_1": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-east-1": { + "xgb_ecr_uri_1": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-east-2": { + "xgb_ecr_uri_1": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-gov-east-1": { + "xgb_ecr_uri_1": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-gov-west-1": { + "xgb_ecr_uri_1": "414596584902.dkr.ecr.us-gov-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-west-1": { + "xgb_ecr_uri_1": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-west-2": { + "xgb_ecr_uri_1": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "xgb_ecr_uri_1": "510948584623.dkr.ecr.af-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-east-1": { + "xgb_ecr_uri_1": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-1": { + "xgb_ecr_uri_1": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-2": { + "xgb_ecr_uri_1": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-northeast-3": { + "xgb_ecr_uri_1": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-south-1": { + "xgb_ecr_uri_1": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-1": { + "xgb_ecr_uri_1": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-2": { + "xgb_ecr_uri_1": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ap-southeast-3": { + "xgb_ecr_uri_1": "951798379941.dkr.ecr.ap-southeast-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "ca-central-1": { + "xgb_ecr_uri_1": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "cn-north-1": { + "xgb_ecr_uri_1": "450853457545.dkr.ecr.cn-north-1.amazonaws.com.cn/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "cn-northwest-1": { + "xgb_ecr_uri_1": "451049120500.dkr.ecr.cn-northwest-1.amazonaws.com.cn/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-central-1": { + "xgb_ecr_uri_1": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-central-2": { + "xgb_ecr_uri_1": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-north-1": { + "xgb_ecr_uri_1": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-south-1": { + "xgb_ecr_uri_1": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-1": { + "xgb_ecr_uri_1": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-2": { + "xgb_ecr_uri_1": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "eu-west-3": { + "xgb_ecr_uri_1": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "il-central-1": { + "xgb_ecr_uri_1": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "me-central-1": { + "xgb_ecr_uri_1": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "me-south-1": { + "xgb_ecr_uri_1": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "sa-east-1": { + "xgb_ecr_uri_1": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-east-1": { + "xgb_ecr_uri_1": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-east-2": { + "xgb_ecr_uri_1": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-gov-east-1": { + "xgb_ecr_uri_1": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-gov-west-1": { + "xgb_ecr_uri_1": "414596584902.dkr.ecr.us-gov-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-west-1": { + "xgb_ecr_uri_1": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + "us-west-2": { + "xgb_ecr_uri_1": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost@sha256:ba417ec6d8d3e0c6b5f463bc9202e3b498b42260a29b61875f34beb6d99d8444" + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g6": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "g6e": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "inf1": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "inf2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p3": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p3dn": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p4d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p4de": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "p5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$xgb_ecr_uri_1"}}, + }, + }, + "dynamic_container_deployment_supported": False, }, "sklearn-classification-linear": { "model_id": "sklearn-classification-linear", "url": "https://scikit-learn.org/stable/", - "version": "1.0.0", - "min_sdk_version": "2.68.1", + "version": "1.3.1", + "min_sdk_version": "2.188.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "sklearn", - "framework_version": "0.23-1", + "framework_version": "1.2-1", "py_version": "py3", }, "hosting_artifact_key": "sklearn-infer/infer-sklearn-classification-linear.tar.gz", - "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.0.0/sourcedir.tar.gz", + "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.1.0/sourcedir.tar.gz", + "hosting_use_script_uri": True, "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": [ + "asn1crypto==1.5.1", + "attrs==23.1.0", + "boto3==1.26.158", + "botocore==1.29.159", + "certifi==2023.5.7", + "cffi==1.15.1", + "charset-normalizer==2.1.1", + "cloudpickle==2.2.1", + "contextlib2==21.6.0", + "cryptography==40.0.2", + "dill==0.3.6", + "filelock==3.12.2", + "google-pasta==0.2.0", + "idna==3.4", + "importlib-metadata==4.13.0", + "importlib-resources==5.12.0", + "jmespath==1.0.1", + "jsonschema==4.17.3", + "multiprocess==0.70.14", + "numpy==1.24.3", + "oscrypto==1.3.0", + "packaging==23.1", + "pandas==2.0.2", + "pathos==0.3.0", + "pkgutil-resolve-name==1.3.10", + "platformdirs==3.8.0", + "pox==0.3.2", + "ppft==1.7.6.6", + "protobuf3-to-dict==0.1.5", + "protobuf==3.20.3", + "pycparser==2.21", + "pycryptodomex==3.12.0", + "pyjwt==2.7.0", + "pyopenssl==23.2.0", + "pyrsistent==0.19.3", + "python-dateutil==2.8.2", + "pytz==2023.3", + "pyyaml==6.0", + "requests==2.31.0", + "s3transfer==0.6.1", + "sagemaker==2.164.0", + "sagemaker_jumpstart_script_utilities==1.0.1", + "sagemaker_jumpstart_snowflake_script_utilities==1.1.0", + "schema==0.7.5", + "six==1.16.0", + "smdebug-rulesconfig==1.0.1", + "snowflake-connector-python==3.12.3", + "tblib==1.7.0", + "typing-extensions==4.6.3", + "tzdata==2023.3", + "urllib3==1.26.16", + "zipp==3.15.0", + ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ @@ -8213,11 +14971,10 @@ "scope": "container", }, ], - "training_script_key": "source-directory-tarballs/sklearn/transfer_learning/classification/" - "v1.0.0/sourcedir.tar.gz", + "training_script_key": "source-directory-tarballs/training/sklearn-classification/v2.0.1/sourcedir.tar.gz", "training_ecr_specs": { - "framework_version": "0.23-1", "framework": "sklearn", + "framework_version": "1.2-1", "py_version": "py3", }, "training_artifact_key": "sklearn-training/train-sklearn-classification-linear.tar.gz", @@ -8227,99 +14984,460 @@ "type": "text", "default": "inference.py", "scope": "container", + "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", + "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", + "required_for_model_class": False, + }, + { + "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", + "type": "text", + "default": "3600", + "scope": "container", + "required_for_model_class": False, + }, + { + "name": "ENDPOINT_SERVER_TIMEOUT", + "type": "int", + "default": 3600, + "scope": "container", + "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", + "required_for_model_class": True, }, - {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { - "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", + "required_for_model_class": True, }, { - "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", - "type": "text", - "default": "3600", + "name": "SAGEMAKER_MODEL_SERVER_WORKERS", + "type": "int", + "default": 1, "scope": "container", + "required_for_model_class": True, }, ], + "metrics": [], + "default_inference_instance_type": "ml.m5.xlarge", + "supported_inference_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c4.8xlarge", + ], + "default_training_instance_type": "ml.m5.4xlarge", + "supported_training_instance_types": [ + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c4.8xlarge", + ], + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, + "predictor_specs": { + "supported_content_types": ["text/csv"], + "supported_accept_types": ["application/json;verbose", "application/json"], + "default_content_type": "text/csv", + "default_accept_type": "application/json", + }, + "inference_enable_network_isolation": True, + "training_enable_network_isolation": True, + "default_training_dataset_key": "training-datasets/tabular_multiclass/", + "validation_supported": True, + "fine_tuning_supported": False, + "resource_name_base": "sklearn-classification-linear", + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "scikit_ecr_uri_1": "510948584623.dkr.ecr.af-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "ap-east-1": { + "cpu_ecr_uri_2": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-1": { + "cpu_ecr_uri_2": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-2": { + "cpu_ecr_uri_2": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-3": { + "cpu_ecr_uri_2": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-south-1": { + "cpu_ecr_uri_2": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-1": { + "cpu_ecr_uri_2": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-2": { + "cpu_ecr_uri_2": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-3": { + "scikit_ecr_uri_1": "951798379941.dkr.ecr.ap-southeast-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "ca-central-1": { + "cpu_ecr_uri_2": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "cn-north-1": { + "scikit_ecr_uri_1": "450853457545.dkr.ecr.cn-north-1.amazonaws.com.cn/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "cn-northwest-1": { + "scikit_ecr_uri_1": "451049120500.dkr.ecr.cn-northwest-1.amazonaws.com.cn/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "eu-central-1": { + "cpu_ecr_uri_2": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-central-2": { + "cpu_ecr_uri_2": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-north-1": { + "cpu_ecr_uri_2": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-south-1": { + "cpu_ecr_uri_2": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-1": { + "cpu_ecr_uri_2": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-2": { + "cpu_ecr_uri_2": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-3": { + "cpu_ecr_uri_2": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "il-central-1": { + "cpu_ecr_uri_2": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "me-central-1": { + "cpu_ecr_uri_2": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "me-south-1": { + "cpu_ecr_uri_2": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "sa-east-1": { + "cpu_ecr_uri_2": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-east-1": { + "cpu_ecr_uri_2": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-east-2": { + "cpu_ecr_uri_2": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-gov-east-1": { + "cpu_ecr_uri_2": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-gov-west-1": { + "scikit_ecr_uri_1": "414596584902.dkr.ecr.us-gov-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "us-west-1": { + "cpu_ecr_uri_2": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-west-2": { + "cpu_ecr_uri_2": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6gn": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c7g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "m6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "m6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "r6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "r6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "scikit_ecr_uri_1": "510948584623.dkr.ecr.af-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "ap-east-1": { + "cpu_ecr_uri_2": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "651117190479.dkr.ecr.ap-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-1": { + "cpu_ecr_uri_2": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "354813040037.dkr.ecr.ap-northeast-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-2": { + "cpu_ecr_uri_2": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "366743142698.dkr.ecr.ap-northeast-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-northeast-3": { + "cpu_ecr_uri_2": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "867004704886.dkr.ecr.ap-northeast-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-south-1": { + "cpu_ecr_uri_2": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "720646828776.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-1": { + "cpu_ecr_uri_2": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "121021644041.dkr.ecr.ap-southeast-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-2": { + "cpu_ecr_uri_2": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "783357654285.dkr.ecr.ap-southeast-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "ap-southeast-3": { + "scikit_ecr_uri_1": "951798379941.dkr.ecr.ap-southeast-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "ca-central-1": { + "cpu_ecr_uri_2": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "341280168497.dkr.ecr.ca-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "cn-north-1": { + "scikit_ecr_uri_1": "450853457545.dkr.ecr.cn-north-1.amazonaws.com.cn/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "cn-northwest-1": { + "scikit_ecr_uri_1": "451049120500.dkr.ecr.cn-northwest-1.amazonaws.com.cn/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "eu-central-1": { + "cpu_ecr_uri_2": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "492215442770.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-central-2": { + "cpu_ecr_uri_2": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "680994064768.dkr.ecr.eu-central-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-north-1": { + "cpu_ecr_uri_2": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "662702820516.dkr.ecr.eu-north-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-south-1": { + "cpu_ecr_uri_2": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "978288397137.dkr.ecr.eu-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-1": { + "cpu_ecr_uri_2": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "141502667606.dkr.ecr.eu-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-2": { + "cpu_ecr_uri_2": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "764974769150.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "eu-west-3": { + "cpu_ecr_uri_2": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "659782779980.dkr.ecr.eu-west-3.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "il-central-1": { + "cpu_ecr_uri_2": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "898809789911.dkr.ecr.il-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "me-central-1": { + "cpu_ecr_uri_2": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "272398656194.dkr.ecr.me-central-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "me-south-1": { + "cpu_ecr_uri_2": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "801668240914.dkr.ecr.me-south-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "sa-east-1": { + "cpu_ecr_uri_2": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "737474898029.dkr.ecr.sa-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-east-1": { + "cpu_ecr_uri_2": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-east-2": { + "cpu_ecr_uri_2": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-gov-east-1": { + "cpu_ecr_uri_2": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "237065988967.dkr.ecr.us-gov-east-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-gov-west-1": { + "scikit_ecr_uri_1": "414596584902.dkr.ecr.us-gov-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95" + }, + "us-west-1": { + "cpu_ecr_uri_2": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + "us-west-2": { + "cpu_ecr_uri_2": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:1.0-1-arm64-cpu-py3", + "scikit_ecr_uri_1": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn@sha256:e09bbb7686077a1db23d316b699020a786a6e1636b2b89384be9651368c40f95", + }, + }, + "variants": { + "c4": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6gn": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "c7g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "c7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "local": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m4": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "m6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "m6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r5": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r6g": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "r6gd": {"regional_properties": {"image_uri": "$cpu_ecr_uri_2"}}, + "r6i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$scikit_ecr_uri_1"}}, + }, + }, + "dynamic_container_deployment_supported": False, }, } BASE_SPEC = { + "hosting_resource_requirements": {"num_accelerators": 1, "min_memory_mb": 34360}, + "inference_volume_size": 123, + "training_volume_size": 456, + "dynamic_container_deployment_supported": True, "model_id": "pytorch-ic-mobilenet-v2", "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", - "version": "1.0.0", - "min_sdk_version": "2.49.0", - "training_supported": True, + "version": "3.0.6", + "min_sdk_version": "2.189.0", "incremental_training_supported": True, - "gated_bucket": False, - "default_payloads": None, "hosting_ecr_specs": { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", }, - "hosting_instance_type_variants": None, + "hosting_artifact_uri": None, + "hosting_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference/v2.0.0/", + "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz", + "training_supported": True, "training_ecr_specs": { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", }, - "training_instance_type_variants": None, - "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", - "hosting_artifact_uri": None, - "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", - "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz", - "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", - "training_prepacked_script_key": None, - "hosting_prepacked_artifact_key": None, - "training_model_package_artifact_uris": None, - "deprecate_warn_message": None, - "deprecated_message": None, - "hosting_model_package_arns": {}, - "hosting_eula_key": None, - "model_subscription_link": None, + "training_artifact_key": "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz", + "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz", "hyperparameters": [ + { + "name": "train_only_top_layer", + "type": "text", + "options": ["True", "False"], + "default": "True", + "scope": "algorithm", + }, { "name": "epochs", "type": "int", - "default": 3, + "default": 5, + "scope": "algorithm", "min": 1, "max": 1000, - "scope": "algorithm", }, { - "name": "adam-learning-rate", + "name": "learning_rate", "type": "float", - "default": 0.05, + "default": 0.001, + "scope": "algorithm", "min": 1e-08, "max": 1, - "scope": "algorithm", }, { - "name": "batch-size", + "name": "batch_size", "type": "int", "default": 4, + "scope": "algorithm", "min": 1, "max": 1024, + }, + { + "name": "reinitialize_top_layer", + "type": "text", + "options": ["Auto", "True", "False"], + "default": "Auto", "scope": "algorithm", }, { @@ -8403,60 +15521,398 @@ "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, - "training_dependencies": [], + "training_dependencies": ["sagemaker_jumpstart_prepack_script_utilities==1.0.0"], "training_vulnerabilities": [], "deprecated": False, - "default_inference_instance_type": "ml.p2.xlarge", + "usage_info_message": None, + "deprecated_message": None, + "deprecate_warn_message": None, + "default_inference_instance_type": "ml.m5.large", "supported_inference_instance_types": [ - "ml.p2.xlarge", - "ml.p3.2xlarge", - "ml.g4dn.xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", + "ml.m4.large", + "ml.m4.xlarge", ], - "default_training_instance_type": "ml.p3.2xlarge", - "supported_training_instance_types": [ - "ml.p3.2xlarge", - "ml.p2.xlarge", - "ml.g4dn.2xlarge", - "ml.m5.xlarge", - "ml.c5.2xlarge", - ], - "hosting_use_script_uri": True, - "usage_info_message": None, - "metrics": [{"Regex": "val_accuracy: ([0-9\\.]+)", "Name": "pytorch-ic:val-accuracy"}], - "model_kwargs": {"some-model-kwarg-key": "some-model-kwarg-value"}, - "deploy_kwargs": {"some-model-deploy-kwarg-key": "some-model-deploy-kwarg-value"}, - "estimator_kwargs": { - "encrypt_inter_container_traffic": True, - }, - "fit_kwargs": {"some-estimator-fit-key": "some-estimator-fit-value"}, + "default_training_instance_type": "ml.m5.xlarge", + "supported_training_instance_types": ["ml.m5.xlarge", "ml.c5.2xlarge", "ml.m4.xlarge"], + "metrics": [{"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"}], + "training_prepacked_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", + "hosting_prepacked_artifact_key": "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference-prepack/v1.0.0/", + "model_kwargs": {}, + "deploy_kwargs": {}, + "estimator_kwargs": {"encrypt_inter_container_traffic": True, "max_run": 360000}, + "fit_kwargs": {}, "predictor_specs": { - "supported_content_types": ["application/x-image"], - "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-image", + "supported_content_types": ["application/x-image"], "default_accept_type": "application/json", + "supported_accept_types": ["application/json;verbose", "application/json"], }, - "inference_volume_size": 123, - "training_volume_size": 456, "inference_enable_network_isolation": True, - "training_enable_network_isolation": False, - "resource_name_base": "dfsdfsds", - "hosting_resource_requirements": {"num_accelerators": 1, "min_memory_mb": 34360}, - "dynamic_container_deployment_supported": True, + "training_enable_network_isolation": True, + "resource_name_base": "pt-ic-mobilenet-v2", + "hosting_eula_key": None, + "hosting_model_package_arns": {}, + "training_model_package_artifact_uris": None, + "hosting_use_script_uri": False, + "hosting_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", + }, + }, + "aliases": None, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "training_instance_type_variants": { + "regional_aliases": { + "af-south-1": { + "cpu_ecr_uri_1": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "626614931356.dkr.ecr.af-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-east-1": { + "cpu_ecr_uri_1": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "871362719292.dkr.ecr.ap-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-northeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-northeast-3": { + "cpu_ecr_uri_1": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "364406365360.dkr.ecr.ap-northeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-south-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-3": { + "cpu_ecr_uri_1": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "907027046896.dkr.ecr.ap-southeast-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ap-southeast-5": { + "cpu_ecr_uri_1": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "550225433462.dkr.ecr.ap-southeast-5.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "ca-central-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.ca-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "cn-north-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-north-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "cn-northwest-1": { + "cpu_ecr_uri_1": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "727897471807.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-central-2": { + "cpu_ecr_uri_1": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "380420809688.dkr.ecr.eu-central-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-north-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-north-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-south-1": { + "cpu_ecr_uri_1": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "692866216735.dkr.ecr.eu-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-2": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "eu-west-3": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.eu-west-3.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "il-central-1": { + "cpu_ecr_uri_1": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "780543022126.dkr.ecr.il-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-central-1": { + "cpu_ecr_uri_1": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "914824155844.dkr.ecr.me-central-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "me-south-1": { + "cpu_ecr_uri_1": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "217643126080.dkr.ecr.me-south-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "sa-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.sa-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-1": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-east-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-east-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-east-1": { + "cpu_ecr_uri_1": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "446045086412.dkr.ecr.us-gov-east-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-gov-west-1": { + "cpu_ecr_uri_1": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "442386744353.dkr.ecr.us-gov-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-1": { + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-1.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + "us-west-2": { + "alias_ecr_uri_3": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training-neuron:1.11.0-neuron-py38-sdk2.4.0-ubuntu20.04", + "cpu_ecr_uri_1": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + "gpu_ecr_uri_2": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + }, + }, + "aliases": None, + "variants": { + "c4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c5n": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "c7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "g4dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "g6e": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "local": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "local_gpu": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "m4": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "m7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "p2": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p3dn": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4d": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p4de": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "p5": {"regional_properties": {"image_uri": "$gpu_ecr_uri_2"}}, + "r5": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r5d": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r6id": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "r7i": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t2": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "t3": {"regional_properties": {"image_uri": "$cpu_ecr_uri_1"}}, + "trn1": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + "trn1n": {"regional_properties": {"image_uri": "$alias_ecr_uri_3"}}, + }, + }, + "default_payloads": None, + "gated_bucket": False, + "model_subscription_link": None, + "hosting_additional_data_sources": None, + "hosting_neuron_model_id": None, + "hosting_neuron_model_version": None, "inference_configs": None, "inference_config_components": None, + "inference_config_rankings": None, "training_configs": None, "training_config_components": None, - "inference_config_rankings": None, "training_config_rankings": None, - "hosting_additional_data_sources": None, - "hosting_neuron_model_id": None, - "hosting_neuron_model_version": None, } - BASE_HOSTING_ADDITIONAL_DATA_SOURCES = { "hosting_additional_data_sources": { "speculative_decoding": [ diff --git a/tests/unit/sagemaker/jumpstart/estimator/test_estimator.py b/tests/unit/sagemaker/jumpstart/estimator/test_estimator.py index f6666e68ae..1fd2a47aca 100644 --- a/tests/unit/sagemaker/jumpstart/estimator/test_estimator.py +++ b/tests/unit/sagemaker/jumpstart/estimator/test_estimator.py @@ -198,6 +198,7 @@ def test_non_prepacked( ], ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.estimator.validate_model_id_and_get_type") @mock.patch( "sagemaker.jumpstart.factory.model.get_default_jumpstart_session_with_user_agent_suffix" @@ -220,7 +221,10 @@ def test_prepacked( mock_session_estimator: mock.Mock, mock_session_model: mock.Mock, mock_validate_model_id_and_get_type: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + mock_sagemaker_timestamp.return_value = "8675309" + mock_estimator_deploy.return_value = default_predictor mock_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS @@ -239,32 +243,71 @@ def test_prepacked( mock_estimator_init.assert_called_once_with( instance_type="ml.p3.16xlarge", instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:1.10.2" - "-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", - model_uri="s3://jumpstart-cache-prod-us-west-2/huggingface-training/train-huggingface" + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface" + "-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04", + model_uri="s3://jumpstart-cache-prod-us-west-2/huggingface-training" + "/train-huggingface" "-text2text-flan-t5-base.tar.gz", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/huggingface/" - "transfer_learning/text2text/prepack/v1.0.1/sourcedir.tar.gz", + source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs" + "/huggingface/transfer_learning/text2text/prepack/v2.0.0/sourcedir.tar.gz", entry_point="transfer_learning.py", hyperparameters={ "epochs": "1", + "max_steps": "-1", "seed": "42", "batch_size": "64", "learning_rate": "0.0001", + "lr_scheduler_type": "constant_with_warmup", + "warmup_ratio": "0.0", + "warmup_steps": "0", "validation_split_ratio": "0.05", "train_data_split_seed": "0", + "max_train_samples": "-1", + "max_eval_samples": "-1", + "max_input_length": "-1", + "max_output_length": "128", + "pad_to_max_length": "True", + "gradient_accumulation_steps": "1", + "weight_decay": "0.0", + "adam_beta1": "0.9", + "adam_beta2": "0.999", + "adam_epsilon": "1e-08", + "max_grad_norm": "1.0", + "load_best_model_at_end": "True", + "early_stopping_patience": "3", + "early_stopping_threshold": "0.0", + "label_smoothing_factor": "0", + "logging_strategy": "steps", + "logging_first_step": "False", + "logging_steps": "500", + "logging_nan_inf_filter": "True", + "save_strategy": "epoch", + "save_steps": "500", + "save_total_limit": "2", + "dataloader_drop_last": "False", + "dataloader_num_workers": "0", + "evaluation_strategy": "epoch", + "eval_steps": "500", + "eval_accumulation_steps": "None", + "gradient_checkpointing": "True", + "auto_find_batch_size": "False", + "preprocessing_num_workers": "None", + "peft_type": "none", }, metric_definitions=[ {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], role=execution_role, - encrypt_inter_container_traffic=False, + encrypt_inter_container_traffic=True, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, tags=[ {"Key": JumpStartTag.MODEL_ID, "Value": "js-trainable-model-prepacked"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.2.0"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "2.2.3"}, ], + volume_size=512, + max_run=360000, + disable_output_compression=True, ) channels = { @@ -274,31 +317,41 @@ def test_prepacked( estimator.fit(channels) - mock_estimator_fit.assert_called_once_with(inputs=channels, wait=True) + mock_estimator_fit.assert_called_once_with( + inputs=channels, wait=True, job_name="hf-text2text-flan-t5-base-8675309" + ) estimator.deploy() mock_estimator_deploy.assert_called_once_with( - instance_type="ml.g5.xlarge", + instance_type="ml.g5.2xlarge", initial_instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:" - "1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/" + "huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04", env={ "SAGEMAKER_PROGRAM": "inference.py", "ENDPOINT_SERVER_TIMEOUT": "3600", "MODEL_CACHE_ROOT": "/opt/ml/model", "SAGEMAKER_ENV": "1", + "HF_MODEL_ID": "/opt/ml/model", + "SM_NUM_GPUS": "1", + "MAX_INPUT_LENGTH": "1024", + "MAX_TOTAL_TOKENS": "2048", "SAGEMAKER_MODEL_SERVER_WORKERS": "1", }, predictor_cls=Predictor, + endpoint_name="hf-text2text-flan-t5-base-8675309", role=execution_role, wait=True, use_compiled_model=False, - enable_network_isolation=False, + enable_network_isolation=True, tags=[ {"Key": JumpStartTag.MODEL_ID, "Value": "js-trainable-model-prepacked"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.2.0"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "2.2.3"}, ], + model_data_download_timeout=1200, + container_startup_health_check_timeout=1200, + model_name="hf-text2text-flan-t5-base-8675309", ) @mock.patch("sagemaker.utils.sagemaker_timestamp") @@ -361,12 +414,48 @@ def test_gated_model_s3_uri( estimator = JumpStartEstimator(model_id=model_id, environment={"accept_eula": "true"}) mock_estimator_init.assert_called_once_with( - instance_type="ml.p3.2xlarge", + instance_type="ml.g5.12xlarge", instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-" + "pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04", source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" - "meta/transfer_learning/textgeneration/v1.0.0/sourcedir.tar.gz", + "meta/transfer_learning/textgeneration/v1.0.6/sourcedir.tar.gz", entry_point="transfer_learning.py", + hyperparameters={ + "int8_quantization": "False", + "enable_fsdp": "True", + "epoch": "1", + "learning_rate": "0.0001", + "lora_r": "8", + "lora_alpha": "32", + "lora_dropout": "0.05", + "instruction_tuned": "False", + "chat_dataset": "True", + "add_input_output_demarcation_key": "True", + "per_device_train_batch_size": "1", + "per_device_eval_batch_size": "1", + "max_train_samples": "-1", + "max_val_samples": "-1", + "seed": "10", + "max_input_length": "-1", + "validation_split_ratio": "0.2", + "train_data_split_seed": "0", + "preprocessing_num_workers": "None", + }, + metric_definitions=[ + { + "Name": "huggingface-textgeneration:eval-loss", + "Regex": "eval_epoch_loss=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:eval-ppl", + "Regex": "eval_ppl=tensor\\(([0-9\\.]+)", + }, + { + "Name": "huggingface-textgeneration:train-loss", + "Regex": "train_epoch_loss=([0-9\\.]+)", + }, + ], role=execution_role, sagemaker_session=sagemaker_session, max_run=360000, @@ -374,14 +463,15 @@ def test_gated_model_s3_uri( encrypt_inter_container_traffic=True, environment={ "accept_eula": "true", - "SageMakerGatedModelS3Uri": "s3://jumpstart-cache-alpha-us-west-2/dummy.tar.gz", + "SageMakerGatedModelS3Uri": "s3://sagemaker-repository-pdx/" + "model-data-model-package_llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302", }, tags=[ { "Key": "sagemaker-sdk:jumpstart-model-id", "Value": "js-gated-artifact-trainable-model", }, - {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "2.0.0"}, + {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "2.0.4"}, ], ) @@ -403,7 +493,7 @@ def test_gated_model_s3_uri( initial_instance_count=1, predictor_cls=Predictor, endpoint_name="meta-textgeneration-llama-2-7b-f-8675309", - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.23.0-deepspeed0.9.5-cu118", wait=True, model_data_download_timeout=3600, container_startup_health_check_timeout=3600, @@ -416,7 +506,7 @@ def test_gated_model_s3_uri( "Key": "sagemaker-sdk:jumpstart-model-id", "Value": "js-gated-artifact-trainable-model", }, - {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "2.0.0"}, + {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "2.0.4"}, ], ) @@ -619,7 +709,7 @@ def test_jumpstart_model_package_artifact_s3_uri_unsupported_region( assert ( str(e.value) == "Model package artifact s3 uri for 'js-gated-artifact-trainable-model' " "not supported in eu-north-1. Please try one of the following regions: " - "us-west-2, us-east-1, eu-west-1, ap-southeast-1." + "us-west-2, us-east-2, us-east-1, eu-west-1, ap-southeast-1, ap-southeast-2." ) @mock.patch("sagemaker.jumpstart.estimator.validate_model_id_and_get_type") @@ -996,7 +1086,7 @@ def test_jumpstart_estimator_tags( js_tags = [ {"Key": "sagemaker-sdk:jumpstart-model-id", "Value": "js-trainable-model-prepacked"}, - {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "1.2.0"}, + {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "2.2.3"}, ] self.assertEqual( @@ -1829,59 +1919,68 @@ def test_model_artifact_variant_estimator( mock_session.return_value = sagemaker_session # this instance type has a special model artifact - JumpStartEstimator(model_id=model_id, instance_type="ml.p2.xlarge") + JumpStartEstimator(model_id=model_id, instance_type="ml.m5.xlarge") mock_estimator_init.assert_called_once_with( - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1" - "-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", - model_uri="s3://jumpstart-cache-prod-us-west-2/hello-mars-1", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-cpu-py38", + model_uri="s3://jumpstart-cache-prod-us-west-2/hello-world-1", source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" - "pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", + "pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", entry_point="transfer_learning.py", - hyperparameters={"epochs": "3", "adam-learning-rate": "0.05", "batch-size": "4"}, + hyperparameters={ + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + }, metric_definitions=[ - {"Regex": "val_accuracy: ([0-9\\.]+)", "Name": "pytorch-ic:val-accuracy"} + {"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"} ], role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, encrypt_inter_container_traffic=True, - volume_size=456, + max_run=360000, tags=[ {"Key": JumpStartTag.MODEL_ID, "Value": "model-artifact-variant-model"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], ) mock_estimator_init.reset_mock() - JumpStartEstimator(model_id=model_id, instance_type="ml.p99.xlarge") + JumpStartEstimator(model_id=model_id, instance_type="ml.p3.2xlarge") mock_estimator_init.assert_called_once_with( - instance_type="ml.p99.xlarge", + instance_type="ml.p3.2xlarge", instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-gpu-py3", - model_uri="s3://jumpstart-cache-prod-us-west-2/pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/" - "transfer_learning/ic/v1.0.0/sourcedir.tar.gz", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.10.0-gpu-py38", + model_uri="s3://jumpstart-cache-prod-us-west-2/pytorch-training/" + "v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz", + source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" + "pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", entry_point="transfer_learning.py", - hyperparameters={"epochs": "3", "adam-learning-rate": "0.05", "batch-size": "4"}, + hyperparameters={ + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + }, metric_definitions=[ - {"Regex": "val_accuracy: ([0-9\\.]+)", "Name": "pytorch-ic:val-accuracy"} + {"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"} ], role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, encrypt_inter_container_traffic=True, - volume_size=456, + max_run=360000, tags=[ - { - "Key": "sagemaker-sdk:jumpstart-model-id", - "Value": "model-artifact-variant-model", - }, - {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "model-artifact-variant-model"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], ) @@ -1935,6 +2034,7 @@ def test_jumpstart_estimator_session( assert len(s3_clients) == 1 assert list(s3_clients)[0] == session.s3_client + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor._get_manifest") @mock.patch("sagemaker.jumpstart.factory.estimator.Session") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") @@ -1948,14 +2048,18 @@ def test_estimator_initialization_with_config_name( mock_get_model_specs: mock.Mock, mock_session: mock.Mock, mock_get_manifest: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_estimator_fit.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -1964,31 +2068,43 @@ def test_estimator_initialization_with_config_name( config_name="gpu-training", ) - mock_estimator_init.assert_called_once_with( + mock_estimator_init.assert_called_with( instance_type="ml.p2.xlarge", instance_count=1, image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/" "huggingface-pytorch-training:1.13.1-neuronx-py310-sdk2.14.1-ubuntu20.04", - model_uri="s3://jumpstart-cache-prod-us-west-2/artifacts/meta-textgeneration-llama-2-7b/" - "gpu-training/model/", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/transfer_learning/" - "eqa/v1.0.0/sourcedir.tar.gz", + model_uri="s3://jumpstart-cache-prod-us-west-2/artifacts/" + "meta-textgeneration-llama-2-7b/gpu-training/model/", + source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" + "pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", entry_point="transfer_learning.py", - hyperparameters={"epochs": "3", "adam-learning-rate": "2e-05", "batch-size": "4"}, + hyperparameters={ + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + }, + metric_definitions=[ + {"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"} + ], role="fake role! do not use!", + max_run=360000, sagemaker_session=estimator.sagemaker_session, tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.TRAINING_CONFIG_NAME, "Value": "gpu-training"}, ], - enable_network_isolation=False, + enable_network_isolation=True, + encrypt_inter_container_traffic=True, ) estimator.fit() - mock_estimator_fit.assert_called_once_with(wait=True) + mock_estimator_fit.assert_called_once_with(wait=True, job_name="pt-ic-mobilenet-v2-8675309") + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor._get_manifest") @mock.patch("sagemaker.jumpstart.factory.estimator.Session") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") @@ -2002,14 +2118,18 @@ def test_estimator_set_config_name( mock_get_model_specs: mock.Mock, mock_session: mock.Mock, mock_get_manifest: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_estimator_fit.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -2024,24 +2144,36 @@ def test_estimator_set_config_name( "pytorch-training:1.13.1-py310-sdk2.14.1-ubuntu20.04", model_uri="s3://jumpstart-cache-prod-us-west-2/artifacts/meta-textgeneration-llama-2-7b/" "gpu-training-budget/model/", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/" - "transfer_learning/eqa/v1.0.0/sourcedir.tar.gz", + source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" + "pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz", entry_point="transfer_learning.py", - hyperparameters={"epochs": "3", "adam-learning-rate": "2e-05", "batch-size": "4"}, + hyperparameters={ + "train_only_top_layer": "True", + "epochs": "5", + "learning_rate": "0.001", + "batch_size": "4", + "reinitialize_top_layer": "Auto", + }, + metric_definitions=[ + {"Name": "pytorch-ic:val-accuracy", "Regex": "val_accuracy: ([0-9\\.]+)"} + ], role="fake role! do not use!", + max_run=360000, sagemaker_session=estimator.sagemaker_session, tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.TRAINING_CONFIG_NAME, "Value": "gpu-training-budget"}, ], - enable_network_isolation=False, + enable_network_isolation=True, + encrypt_inter_container_traffic=True, ) estimator.fit() - mock_estimator_fit.assert_called_once_with(wait=True) + mock_estimator_fit.assert_called_once_with(wait=True, job_name="pt-ic-mobilenet-v2-8675309") + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor._get_manifest") @mock.patch("sagemaker.jumpstart.factory.estimator.Session") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") @@ -2055,7 +2187,9 @@ def test_estimator_default_inference_config( mock_get_model_specs: mock.Mock, mock_session: mock.Mock, mock_get_manifest: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + mock_sagemaker_timestamp.return_value = "8675309" mock_estimator_deploy.return_value = default_predictor mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( @@ -2063,7 +2197,7 @@ def test_estimator_default_inference_config( ) mock_estimator_fit.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -2074,23 +2208,28 @@ def test_estimator_default_inference_config( estimator.deploy() mock_estimator_deploy.assert_called_once_with( - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", initial_instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-hosting" - ":2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" - "pytorch/inference/eqa/v1.0.0/sourcedir.tar.gz", - entry_point="inference.py", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + env={ + "SAGEMAKER_PROGRAM": "inference.py", + "ENDPOINT_SERVER_TIMEOUT": "3600", + "MODEL_CACHE_ROOT": "/opt/ml/model", + "SAGEMAKER_ENV": "1", + "SAGEMAKER_MODEL_SERVER_WORKERS": "1", + }, predictor_cls=Predictor, wait=True, role="fake role! do not use!", use_compiled_model=False, - enable_network_isolation=False, + enable_network_isolation=True, tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "gpu-inference"}, ], + model_name="pt-ic-mobilenet-v2-8675309", + endpoint_name="pt-ic-mobilenet-v2-8675309", ) @mock.patch("sagemaker.jumpstart.estimator.JumpStartEstimator._attach") @@ -2112,7 +2251,7 @@ def test_estimator_incremental_training_config( mock_attach: mock.Mock, ): mock_get_model_info_from_training_job.return_value = ( - "pytorch-eqa-bert-base-cased", + "pytorch-ic-mobilenet-v2", "1.0.0", None, "gpu-training-budget", @@ -2123,7 +2262,7 @@ def test_estimator_incremental_training_config( ) mock_estimator_fit.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -2140,7 +2279,7 @@ def test_estimator_incremental_training_config( sagemaker_session=mock_session, model_channel_name="model", additional_kwargs={ - "model_id": "pytorch-eqa-bert-base-cased", + "model_id": "pytorch-ic-mobilenet-v2", "model_version": "1.0.0", "tolerate_vulnerable_model": True, "tolerate_deprecated_model": True, @@ -2148,6 +2287,7 @@ def test_estimator_incremental_training_config( }, ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor._get_manifest") @mock.patch("sagemaker.jumpstart.factory.estimator.Session") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") @@ -2163,7 +2303,10 @@ def test_estimator_deploy_with_config( mock_get_model_specs: mock.Mock, mock_session: mock.Mock, mock_get_manifest: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" mock_estimator_deploy.return_value = default_predictor mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( @@ -2171,7 +2314,7 @@ def test_estimator_deploy_with_config( ) mock_estimator_fit.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -2182,23 +2325,28 @@ def test_estimator_deploy_with_config( estimator.deploy() mock_estimator_deploy.assert_called_once_with( - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", initial_instance_count=1, - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/" - "pytorch-hosting:1.13.1-py310-sdk2.14.1-ubuntu20.04", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" - "pytorch/inference/eqa/v1.0.0/sourcedir.tar.gz", - entry_point="inference.py", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + env={ + "SAGEMAKER_PROGRAM": "inference.py", + "ENDPOINT_SERVER_TIMEOUT": "3600", + "MODEL_CACHE_ROOT": "/opt/ml/model", + "SAGEMAKER_ENV": "1", + "SAGEMAKER_MODEL_SERVER_WORKERS": "1", + }, predictor_cls=Predictor, wait=True, role="fake role! do not use!", use_compiled_model=False, - enable_network_isolation=False, + enable_network_isolation=True, tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "gpu-inference-budget"}, ], + model_name="pt-ic-mobilenet-v2-8675309", + endpoint_name="pt-ic-mobilenet-v2-8675309", ) diff --git a/tests/unit/sagemaker/jumpstart/model/test_model.py b/tests/unit/sagemaker/jumpstart/model/test_model.py index 09e63f8f59..be961828f4 100644 --- a/tests/unit/sagemaker/jumpstart/model/test_model.py +++ b/tests/unit/sagemaker/jumpstart/model/test_model.py @@ -280,8 +280,15 @@ def test_non_prepacked_inference_component_based_endpoint_no_default_pass_custom mock_model_init.assert_called_once_with( image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:" "1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", - model_data="s3://jumpstart-cache-prod-us-west-2/huggingface-infer/prepack/" - "v1.0.0/infer-prepack-huggingface-txt2img-conflictx-complex-lineart.tar.gz", + model_data={ + "S3DataSource": { + "S3Uri": "s3://jumpstart-cache-prod-us-west-2/" + "huggingface-txt2img/huggingface-txt2img-conflictx" + "-complex-lineart/artifacts/inference-prepack/v1.0.0/", + "S3DataType": "S3Prefix", + "CompressionType": "None", + } + }, env={ "SAGEMAKER_PROGRAM": "inference.py", "ENDPOINT_SERVER_TIMEOUT": "3600", @@ -292,7 +299,8 @@ def test_non_prepacked_inference_component_based_endpoint_no_default_pass_custom predictor_cls=Predictor, role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, + name="hf-txt2img-conflictx-complex-lineart-7777", ) custom_resource_requirements = ResourceRequirements( @@ -314,13 +322,15 @@ def test_non_prepacked_inference_component_based_endpoint_no_default_pass_custom wait=True, tags=[ {"Key": JumpStartTag.MODEL_ID, "Value": "js-model-class-model-prepacked"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.1.0"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "2.0.3"}, ], endpoint_logging=False, resources=custom_resource_requirements, endpoint_type=EndpointType.INFERENCE_COMPONENT_BASED, + endpoint_name="hf-txt2img-conflictx-complex-lineart-7777", ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -340,7 +350,9 @@ def test_prepacked( mock_session: mock.Mock, mock_validate_model_id_and_get_type: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + mock_sagemaker_timestamp.return_value = "8675309" mock_model_deploy.return_value = default_predictor mock_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS @@ -358,8 +370,15 @@ def test_prepacked( mock_model_init.assert_called_once_with( image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:" "1.10.2-transformers4.17.0-gpu-py38-cu113-ubuntu20.04", - model_data="s3://jumpstart-cache-prod-us-west-2/huggingface-infer/prepack/" - "v1.0.0/infer-prepack-huggingface-txt2img-conflictx-complex-lineart.tar.gz", + model_data={ + "S3DataSource": { + "S3Uri": "s3://jumpstart-cache-prod-us-west-2/" + "huggingface-txt2img/huggingface-txt2img-conflictx" + "-complex-lineart/artifacts/inference-prepack/v1.0.0/", + "S3DataType": "S3Prefix", + "CompressionType": "None", + } + }, env={ "SAGEMAKER_PROGRAM": "inference.py", "ENDPOINT_SERVER_TIMEOUT": "3600", @@ -370,7 +389,8 @@ def test_prepacked( predictor_cls=Predictor, role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, + name="hf-txt2img-conflictx-complex-lineart-8675309", ) model.deploy() @@ -378,10 +398,11 @@ def test_prepacked( mock_model_deploy.assert_called_once_with( initial_instance_count=1, instance_type="ml.p3.2xlarge", + endpoint_name="hf-txt2img-conflictx-complex-lineart-8675309", wait=True, tags=[ {"Key": JumpStartTag.MODEL_ID, "Value": "js-model-class-model-prepacked"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.1.0"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "2.0.3"}, ], endpoint_logging=False, ) @@ -1089,7 +1110,7 @@ def test_jumpstart_model_tags( js_tags = [ {"Key": "sagemaker-sdk:jumpstart-model-id", "Value": "env-var-variant-model"}, - {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "1.0.0"}, + {"Key": "sagemaker-sdk:jumpstart-model-version", "Value": "1.6.2"}, ] self.assertEqual( @@ -1171,8 +1192,8 @@ def test_jumpstart_model_package_arn( self.assertEqual( mock_session.create_model.call_args[0][2], { - "ModelPackageName": "arn:aws:sagemaker:us-west-2:594846645681:model-package" - "/llama2-7b-f-e46eb8a833643ed58aaccd81498972c3" + "ModelPackageName": "arn:aws:sagemaker:us-west-2:594846645681:" + "model-package/llama2-7b-f-v4-71eeccf76ddf33f2a18d2e16b9c7f302" }, ) @@ -1250,10 +1271,11 @@ def test_jumpstart_model_package_arn_unsupported_region( mock_session.return_value = MagicMock(sagemaker_config={}) with pytest.raises(ValueError) as e: - JumpStartModel(model_id=model_id, region="us-east-2") + JumpStartModel(model_id=model_id, region="us-west-1") assert ( str(e.value) == "Model package arn for 'js-model-package-arn' not supported in " - "us-east-2. Please try one of the following regions: us-west-2, us-east-1." + "us-west-1. Please try one of the following regions: " + "us-west-2, us-east-2, us-east-1, eu-west-1, ap-southeast-1, ap-southeast-2." ) @mock.patch( @@ -1328,6 +1350,7 @@ def test_model_data_s3_prefix_override( '"S3DataType": "S3Prefix", "CompressionType": "None"}}', ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1349,7 +1372,11 @@ def test_model_data_s3_prefix_model( mock_session: mock.Mock, mock_validate_model_id_and_get_type: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_model_deploy.return_value = default_predictor mock_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS @@ -1362,22 +1389,28 @@ def test_model_data_s3_prefix_model( JumpStartModel(model_id=model_id, instance_type="ml.p2.xlarge") mock_model_init.assert_called_once_with( - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.12.0-gpu-py38", - model_data={ - "S3DataSource": { - "S3Uri": "s3://jumpstart-cache-prod-us-west-2/huggingface-infer/prepack/v1.0.1/", - "S3DataType": "S3Prefix", - "CompressionType": "None", - } + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-" + "pytorch-inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", + model_data="s3://jumpstart-cache-prod-us-west-2/huggingface-infer/" + "prepack/v1.1.2/infer-prepack-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", + env={ + "SAGEMAKER_PROGRAM": "inference.py", + "ENDPOINT_SERVER_TIMEOUT": "3600", + "MODEL_CACHE_ROOT": "/opt/ml/model", + "SAGEMAKER_ENV": "1", + "TS_DEFAULT_WORKERS_PER_MODEL": "1", + "SAGEMAKER_MODEL_SERVER_WORKERS": "1", }, predictor_cls=Predictor, role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, + name="hf-text2text-flan-t5-xxl-fp16-8675309", ) mock_js_info_logger.assert_not_called() + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1399,7 +1432,11 @@ def test_model_artifact_variant_model( mock_session: mock.Mock, mock_validate_model_id_and_get_type: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_model_deploy.return_value = default_predictor mock_validate_model_id_and_get_type.return_value = JumpStartModelType.OPEN_WEIGHTS @@ -1413,8 +1450,7 @@ def test_model_artifact_variant_model( JumpStartModel(model_id=model_id, instance_type="ml.p2.xlarge") mock_model_init.assert_called_once_with( - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-" - "inference:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-gpu-py38", model_data="s3://jumpstart-cache-prod-us-west-2/hello-world-1", env={ "SAGEMAKER_PROGRAM": "inference.py", @@ -1427,15 +1463,24 @@ def test_model_artifact_variant_model( role=execution_role, sagemaker_session=sagemaker_session, enable_network_isolation=True, + name="pt-ic-mobilenet-v2-8675309", ) mock_model_init.reset_mock() - JumpStartModel(model_id=model_id, instance_type="ml.p99.xlarge") + JumpStartModel(model_id=model_id, instance_type="ml.p3.2xlarge") mock_model_init.assert_called_once_with( - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.5.0-gpu-py3", - model_data="s3://jumpstart-cache-prod-us-west-2/basfsdfssf", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/" + "pytorch-inference:1.10.0-gpu-py38", + model_data={ + "S3DataSource": { + "S3Uri": "s3://jumpstart-cache-prod-us-west-2/" + "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference-prepack/v1.0.0/", + "S3DataType": "S3Prefix", + "CompressionType": "None", + } + }, env={ "SAGEMAKER_PROGRAM": "inference.py", "ENDPOINT_SERVER_TIMEOUT": "3600", @@ -1447,6 +1492,7 @@ def test_model_artifact_variant_model( role=execution_role, sagemaker_session=sagemaker_session, enable_network_isolation=True, + name="pt-ic-mobilenet-v2-8675309", ) @mock.patch("sagemaker.jumpstart.model.get_model_info_from_endpoint") @@ -1540,7 +1586,7 @@ def test_model_registry_accept_and_response_types( mock_model_register.assert_called_once_with( model_type=JumpStartModelType.OPEN_WEIGHTS, - content_types=["application/x-text"], + content_types=["application/x-text", "application/json"], response_types=["application/json;verbose", "application/json"], model_package_group_name=model.model_id, ) @@ -1595,6 +1641,7 @@ def test_jumpstart_model_session( assert len(s3_clients) == 1 assert list(s3_clients)[0] == session.s3_client + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1619,32 +1666,38 @@ def test_model_local_mode( mock_session: mock.Mock, mock_get_manifest: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_get_model_specs.side_effect = get_prototype_model_spec mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_model_deploy.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session - model = JumpStartModel(model_id=model_id, instance_type="ml.p2.xlarge") + model = JumpStartModel(model_id=model_id, instance_type="ml.m5.xlarge") model.deploy() mock_model_deploy.assert_called_once_with( initial_instance_count=1, - instance_type="ml.p2.xlarge", + instance_type="ml.m5.xlarge", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1660,14 +1713,17 @@ def test_model_initialization_with_config_name( mock_session: mock.Mock, mock_get_manifest: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_model_deploy.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -1681,14 +1737,16 @@ def test_model_initialization_with_config_name( initial_instance_count=1, instance_type="ml.inf2.xlarge", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "neuron-inference"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1704,14 +1762,17 @@ def test_model_set_deployment_config( mock_session: mock.Mock, mock_get_manifest: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" mock_get_model_specs.side_effect = get_prototype_model_spec mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_model_deploy.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -1723,13 +1784,14 @@ def test_model_set_deployment_config( mock_model_deploy.assert_called_once_with( initial_instance_count=1, - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) mock_get_model_specs.reset_mock() @@ -1745,12 +1807,13 @@ def test_model_set_deployment_config( initial_instance_count=1, instance_type="ml.inf2.2xlarge", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "neuron-inference"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) mock_model_deploy.reset_mock() model.set_deployment_config("neuron-inference", "ml.inf2.xlarge") @@ -1763,14 +1826,16 @@ def test_model_set_deployment_config( initial_instance_count=1, instance_type="ml.inf2.xlarge", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "neuron-inference"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -1786,15 +1851,18 @@ def test_model_set_deployment_config_and_deploy_for_gated_draft_model( mock_session: mock.Mock, mock_get_manifest: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): # WHERE + + mock_sagemaker_timestamp.return_value = "8675309" mock_get_model_specs.side_effect = append_gated_draft_model_specs_to_jumpstart_model_spec mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_model_deploy.return_value = default_predictor - model_id = "pytorch-eqa-bert-base-cased" + model_id = "pytorch-ic-mobilenet-v2" mock_session.return_value = sagemaker_session @@ -1804,21 +1872,20 @@ def test_model_set_deployment_config_and_deploy_for_gated_draft_model( # WHEN model.deploy( - model_access_configs={ - "pytorch-eqa-bert-base-cased": ModelAccessConfig(accept_eula=True) - } + model_access_configs={"pytorch-ic-mobilenet-v2": ModelAccessConfig(accept_eula=True)} ) # THEN mock_model_deploy.assert_called_once_with( initial_instance_count=1, - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) @mock.patch( @@ -1844,7 +1911,7 @@ def test_model_set_deployment_config_and_deploy_for_gated_draft_model_no_model_a ) mock_model_deploy.return_value = default_predictor - model_id = "pytorch-eqa-bert-base-cased" + model_id = "pytorch-ic-mobilenet-v2" mock_session.return_value = sagemaker_session @@ -1856,6 +1923,7 @@ def test_model_set_deployment_config_and_deploy_for_gated_draft_model_no_model_a with self.assertRaises(ValueError): model.deploy() + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor._get_manifest") @mock.patch( "sagemaker.jumpstart.factory.model.get_default_jumpstart_session_with_user_agent_suffix" @@ -1871,7 +1939,11 @@ def test_model_deployment_config_additional_model_data_source( mock_get_model_specs: mock.Mock, mock_session: mock.Mock, mock_get_manifest: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + + mock_sagemaker_timestamp.return_value = "8675309" + mock_session.return_value = sagemaker_session mock_get_model_specs.side_effect = get_prototype_spec_with_configs mock_get_manifest.side_effect = ( @@ -1879,22 +1951,32 @@ def test_model_deployment_config_additional_model_data_source( ) mock_model_deploy.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" model = JumpStartModel(model_id=model_id, config_name="gpu-accelerated") mock_model_init.assert_called_once_with( - image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/" - "pytorch-hosting-neuronx:1.13.1-neuronx-py310-sdk2.14.1-ubuntu20.04", - model_data="s3://jumpstart-cache-prod-us-west-2/pytorch-infer/" - "infer-pytorch-eqa-bert-base-cased.tar.gz", - source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" - "pytorch/inference/eqa/v1.0.0/sourcedir.tar.gz", - entry_point="inference.py", + image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.10.0-cpu-py38", + model_data={ + "S3DataSource": { + "S3Uri": "s3://jumpstart-cache-prod-us-west-2/pytorch-ic" + "/pytorch-ic-mobilenet-v2/artifacts/inference-prepack/v1.0.0/", + "S3DataType": "S3Prefix", + "CompressionType": "None", + } + }, + env={ + "SAGEMAKER_PROGRAM": "inference.py", + "ENDPOINT_SERVER_TIMEOUT": "3600", + "MODEL_CACHE_ROOT": "/opt/ml/model", + "SAGEMAKER_ENV": "1", + "SAGEMAKER_MODEL_SERVER_WORKERS": "1", + }, predictor_cls=Predictor, role=execution_role, sagemaker_session=sagemaker_session, - enable_network_isolation=False, + enable_network_isolation=True, + name="pt-ic-mobilenet-v2-8675309", additional_model_data_sources=[ { "ChannelName": "draft_model_name", @@ -1913,14 +1995,15 @@ def test_model_deployment_config_additional_model_data_source( mock_model_deploy.assert_called_once_with( initial_instance_count=1, - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, {"Key": JumpStartTag.INFERENCE_CONFIG_NAME, "Value": "gpu-accelerated"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) # TODO: Commenting out this test due to flakiness. Need to mock the session @@ -1992,6 +2075,7 @@ def test_model_deployment_config_additional_model_data_source( # endpoint_logging=False, # ) + @mock.patch("sagemaker.utils.sagemaker_timestamp") @mock.patch( "sagemaker.jumpstart.model.get_jumpstart_configs", side_effect=lambda *args, **kwargs: {} ) @@ -2007,14 +2091,17 @@ def test_model_set_deployment_config_incompatible_instance_type_or_name( mock_session: mock.Mock, mock_get_manifest: mock.Mock, mock_get_jumpstart_configs: mock.Mock, + mock_sagemaker_timestamp: mock.Mock, ): + mock_sagemaker_timestamp.return_value = "8675309" + mock_get_model_specs.side_effect = get_prototype_model_spec mock_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) ) mock_model_deploy.return_value = default_predictor - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_session.return_value = sagemaker_session @@ -2026,13 +2113,14 @@ def test_model_set_deployment_config_incompatible_instance_type_or_name( mock_model_deploy.assert_called_once_with( initial_instance_count=1, - instance_type="ml.p2.xlarge", + instance_type="ml.m5.large", tags=[ - {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-eqa-bert-base-cased"}, - {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"}, + {"Key": JumpStartTag.MODEL_ID, "Value": "pytorch-ic-mobilenet-v2"}, + {"Key": JumpStartTag.MODEL_VERSION, "Value": "3.0.6"}, ], wait=True, endpoint_logging=False, + endpoint_name="pt-ic-mobilenet-v2-8675309", ) mock_get_model_specs.reset_mock() @@ -2059,7 +2147,7 @@ def test_model_list_deployment_configs( mock_verify_model_region_and_return_specs: mock.Mock, mock_get_init_kwargs: mock.Mock, ): - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_get_init_kwargs.side_effect = lambda *args, **kwargs: get_mock_init_kwargs(model_id) mock_verify_model_region_and_return_specs.side_effect = ( @@ -2094,7 +2182,7 @@ def test_model_list_deployment_configs_empty( mock_get_manifest: mock.Mock, mock_verify_model_region_and_return_specs: mock.Mock, ): - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_verify_model_region_and_return_specs.side_effect = ( lambda *args, **kwargs: get_special_model_spec(model_id="gemma-model") @@ -2130,7 +2218,7 @@ def test_model_retrieve_deployment_config( mock_verify_model_region_and_return_specs: mock.Mock, mock_get_init_kwargs: mock.Mock, ): - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_verify_model_region_and_return_specs.side_effect = ( lambda *args, **kwargs: get_base_spec_with_prototype_configs() @@ -2179,7 +2267,7 @@ def test_model_display_benchmark_metrics( mock_verify_model_region_and_return_specs: mock.Mock, mock_get_init_kwargs: mock.Mock, ): - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_get_init_kwargs.side_effect = lambda *args, **kwargs: get_mock_init_kwargs(model_id) mock_verify_model_region_and_return_specs.side_effect = ( @@ -2217,7 +2305,7 @@ def test_model_benchmark_metrics( mock_verify_model_region_and_return_specs: mock.Mock, mock_get_init_kwargs: mock.Mock, ): - model_id, _ = "pytorch-eqa-bert-base-cased", "*" + model_id, _ = "pytorch-ic-mobilenet-v2", "*" mock_get_init_kwargs.side_effect = lambda *args, **kwargs: get_mock_init_kwargs(model_id) mock_verify_model_region_and_return_specs.side_effect = ( diff --git a/tests/unit/sagemaker/jumpstart/test_artifacts.py b/tests/unit/sagemaker/jumpstart/test_artifacts.py index 3d9b5cef6a..e687a1c4ac 100644 --- a/tests/unit/sagemaker/jumpstart/test_artifacts.py +++ b/tests/unit/sagemaker/jumpstart/test_artifacts.py @@ -34,7 +34,7 @@ from sagemaker.jumpstart.artifacts.model_uris import _retrieve_model_uri from sagemaker.jumpstart.enums import JumpStartScriptScope, JumpStartModelType -from tests.unit.sagemaker.jumpstart.utils import get_spec_from_base_spec, get_special_model_spec +from tests.unit.sagemaker.jumpstart.utils import get_special_model_spec from tests.unit.sagemaker.workflow.conftest import mock_client @@ -220,12 +220,12 @@ def test_retrieve_training_artifact_key(self): @patch("sagemaker.jumpstart.accessors.JumpStartModelsAccessor.get_model_specs") class RetrieveKwargsTest(unittest.TestCase): - model_id, model_version = "pytorch-eqa-bert-base-cased", "*" + model_id, model_version = "variant-model", "*" region = "us-west-2" def test_model_kwargs(self, patched_get_model_specs): - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_model_init_kwargs( region=self.region, @@ -242,7 +242,7 @@ def test_model_kwargs(self, patched_get_model_specs): def test_estimator_kwargs(self, patched_volume_size_supported, patched_get_model_specs): patched_volume_size_supported.return_value = False - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_estimator_init_kwargs( region=self.region, @@ -262,7 +262,7 @@ def test_estimator_kwargs_with_volume_size( ): patched_volume_size_supported.return_value = True - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_estimator_init_kwargs( region=self.region, @@ -282,7 +282,7 @@ def test_model_deploy_kwargs(self, patched_volume_size_supported, patched_get_mo patched_volume_size_supported.return_value = False - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_model_deploy_kwargs( region=self.region, @@ -300,7 +300,7 @@ def test_model_deploy_kwargs_with_volume_size( patched_volume_size_supported.return_value = True - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_model_deploy_kwargs( region=self.region, @@ -316,7 +316,7 @@ def test_model_deploy_kwargs_with_volume_size( def test_estimator_fit_kwargs(self, patched_get_model_specs): - patched_get_model_specs.side_effect = get_spec_from_base_spec + patched_get_model_specs.side_effect = get_special_model_spec kwargs = artifacts._retrieve_estimator_fit_kwargs( region=self.region, diff --git a/tests/unit/sagemaker/jumpstart/test_notebook_utils.py b/tests/unit/sagemaker/jumpstart/test_notebook_utils.py index 66e5777a7b..b1932b4ffc 100644 --- a/tests/unit/sagemaker/jumpstart/test_notebook_utils.py +++ b/tests/unit/sagemaker/jumpstart/test_notebook_utils.py @@ -48,7 +48,7 @@ def test_list_jumpstart_scripts( ) patched_generate_jumpstart_models.side_effect = _generate_jumpstart_model_versions patched_read_s3_file.side_effect = lambda *args, **kwargs: json.dumps( - get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased").to_json() + get_prototype_model_spec(None, "pytorch-ic-mobilenet-v2").to_json() ) assert list_jumpstart_scripts() == sorted(["inference", "training"]) @@ -109,7 +109,6 @@ def test_list_jumpstart_tasks( assert list_jumpstart_tasks() == sorted( [ "classification", - "eqa", "ic", "semseg", "spc", @@ -183,7 +182,6 @@ def test_list_jumpstart_frameworks( "huggingface", "lightgbm", "mxnet", - "pytorch", "sklearn", "xgboost", ] @@ -220,7 +218,7 @@ def test_list_jumpstart_models_simple_case( ("huggingface-spc-bert-base-cased", "1.0.0"), ("lightgbm-classification-model", "1.0.0"), ("mxnet-semseg-fcn-resnet50-ade", "1.0.0"), - ("pytorch-eqa-bert-base-cased", "1.0.0"), + ("pytorch-ic-mobilenet-v2", "1.0.0"), ("sklearn-classification-linear", "1.0.0"), ("tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "1.0.0"), ("xgboost-classification-model", "1.0.0"), @@ -236,7 +234,7 @@ def test_list_jumpstart_models_script_filter( self, patched_read_s3_file: Mock, patched_get_manifest: Mock ): patched_read_s3_file.side_effect = lambda *args, **kwargs: json.dumps( - get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased").to_json() + get_prototype_model_spec(None, "pytorch-ic-mobilenet-v2").to_json() ) patched_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region) @@ -269,7 +267,7 @@ def test_list_jumpstart_models_script_filter( ("huggingface-spc-bert-base-cased", "1.0.0"), ("lightgbm-classification-model", "1.0.0"), ("mxnet-semseg-fcn-resnet50-ade", "1.0.0"), - ("pytorch-eqa-bert-base-cased", "1.0.0"), + ("pytorch-ic-mobilenet-v2", "1.0.0"), ("sklearn-classification-linear", "1.0.0"), ("tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "1.0.0"), ("xgboost-classification-model", "1.0.0"), @@ -326,7 +324,7 @@ def test_list_jumpstart_models_task_filter( ("huggingface-spc-bert-base-cased", "1.0.0"), ("lightgbm-classification-model", "1.0.0"), ("mxnet-semseg-fcn-resnet50-ade", "1.0.0"), - ("pytorch-eqa-bert-base-cased", "1.0.0"), + ("pytorch-ic-mobilenet-v2", "1.0.0"), ("sklearn-classification-linear", "1.0.0"), ("tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "1.0.0"), ("xgboost-classification-model", "1.0.0"), @@ -349,7 +347,7 @@ def test_list_jumpstart_models_framework_filter( self, patched_read_s3_file: Mock, patched_get_manifest: Mock ): patched_read_s3_file.side_effect = lambda *args, **kwargs: json.dumps( - get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased").to_json() + get_prototype_model_spec(None, "pytorch-ic-mobilenet-v2").to_json() ) patched_get_manifest.side_effect = lambda region, *args, **kwargs: get_prototype_manifest( region @@ -387,7 +385,7 @@ def test_list_jumpstart_models_framework_filter( ("huggingface-spc-bert-base-cased", "1.0.0"), ("lightgbm-classification-model", "1.0.0"), ("mxnet-semseg-fcn-resnet50-ade", "1.0.0"), - ("pytorch-eqa-bert-base-cased", "1.0.0"), + ("pytorch-ic-mobilenet-v2", "1.0.0"), ("sklearn-classification-linear", "1.0.0"), ("xgboost-classification-model", "1.0.0"), ] @@ -481,10 +479,10 @@ def get_manifest_more_versions(region: str = JUMPSTART_DEFAULT_REGION_NAME): ("mxnet-semseg-fcn-resnet50-ade", "2.5.1"), ("mxnet-semseg-fcn-resnet50-ade", "1.300.0"), ("mxnet-semseg-fcn-resnet50-ade", "1.4.0"), - ("pytorch-eqa-bert-base-cased", "2.400.0"), - ("pytorch-eqa-bert-base-cased", "2.5.1"), - ("pytorch-eqa-bert-base-cased", "1.300.0"), - ("pytorch-eqa-bert-base-cased", "1.4.0"), + ("pytorch-ic-mobilenet-v2", "2.400.0"), + ("pytorch-ic-mobilenet-v2", "2.5.1"), + ("pytorch-ic-mobilenet-v2", "1.300.0"), + ("pytorch-ic-mobilenet-v2", "1.4.0"), ("sklearn-classification-linear", "2.400.0"), ("sklearn-classification-linear", "2.5.1"), ("sklearn-classification-linear", "1.300.0"), @@ -510,7 +508,7 @@ def get_manifest_more_versions(region: str = JUMPSTART_DEFAULT_REGION_NAME): ("huggingface-spc-bert-base-cased", "2.400.0"), ("lightgbm-classification-model", "2.400.0"), ("mxnet-semseg-fcn-resnet50-ade", "2.400.0"), - ("pytorch-eqa-bert-base-cased", "2.400.0"), + ("pytorch-ic-mobilenet-v2", "2.400.0"), ("sklearn-classification-linear", "2.400.0"), ("tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "2.400.0"), ("xgboost-classification-model", "2.400.0"), @@ -536,12 +534,12 @@ def test_list_jumpstart_models_vulnerable_models( ) def vulnerable_inference_model_spec(bucket, key, *args, **kwargs) -> str: - spec = get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased") + spec = get_prototype_model_spec(None, "catboost-classification-model") spec.inference_vulnerable = True return json.dumps(spec.to_json()) def vulnerable_training_model_spec(bucket, key, *args, **kwargs): - spec = get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased") + spec = get_prototype_model_spec(None, "catboost-classification-model") spec.training_vulnerable = True return json.dumps(spec.to_json()) @@ -596,7 +594,7 @@ def test_list_jumpstart_models_deprecated_models( ) def deprecated_model_spec(bucket, key, *args, **kwargs) -> str: - spec = get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased") + spec = get_prototype_model_spec(None, "pytorch-ic-mobilenet-v2") spec.deprecated = True return json.dumps(spec.to_json()) @@ -634,7 +632,7 @@ def test_list_jumpstart_models_no_versions( "huggingface-spc-bert-base-cased", "lightgbm-classification-model", "mxnet-semseg-fcn-resnet50-ade", - "pytorch-eqa-bert-base-cased", + "pytorch-ic-mobilenet-v2", "sklearn-classification-linear", "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "xgboost-classification-model", @@ -668,7 +666,7 @@ def test_list_jumpstart_proprietary_models( "huggingface-spc-bert-base-cased", "lightgbm-classification-model", "mxnet-semseg-fcn-resnet50-ade", - "pytorch-eqa-bert-base-cased", + "pytorch-ic-mobilenet-v2", "sklearn-classification-linear", "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "xgboost-classification-model", @@ -690,7 +688,7 @@ def test_list_jumpstart_models_complex_queries( patched_get_manifest: Mock, ): patched_read_s3_file.side_effect = lambda *args, **kwargs: json.dumps( - get_prototype_model_spec(None, "pytorch-eqa-bert-base-cased").to_json() + get_prototype_model_spec(None, "pytorch-ic-mobilenet-v2").to_json() ) patched_get_manifest.side_effect = ( lambda region, model_type, *args, **kwargs: get_prototype_manifest(region, model_type) @@ -707,7 +705,7 @@ def test_list_jumpstart_models_complex_queries( "false", "unknown", ) - ) == ["tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1"] + ) == ["pytorch-ic-mobilenet-v2", "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1"] assert list_jumpstart_models( Or( @@ -716,7 +714,7 @@ def test_list_jumpstart_models_complex_queries( "framework==tensorflow", Identity( And( - And("incremental_training_supported==falSE"), + And("incremental_training_supported==true"), "true", Or("unknown", "version equals 1.0.0"), ) @@ -763,15 +761,15 @@ def test_get_model_url( region = "us-west-2" mock_session = Mock(s3_client=mock_client, boto_region_name=region) - model_id, version = "xgboost-classification-model", "1.0.0" - assert "https://xgboost.readthedocs.io/en/latest/" == get_model_url(model_id, version) + model_id, version = "xgboost-classification-model", "*" + assert "https://xgboost.readthedocs.io/en/release_1.7.0/" == get_model_url(model_id, version) model_id, version = "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "1.0.0" assert "https://tfhub.dev/google/bit/m-r101x1/ilsvrc2012_classification/1" == get_model_url( model_id, version ) - model_id, version = "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "1.0.0" + model_id, version = "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "*" patched_get_model_specs.reset_mock() patched_get_model_specs.side_effect = lambda *largs, **kwargs: get_prototype_model_spec( diff --git a/tests/unit/sagemaker/jumpstart/test_types.py b/tests/unit/sagemaker/jumpstart/test_types.py index 884639b5d6..3efa8c8c81 100644 --- a/tests/unit/sagemaker/jumpstart/test_types.py +++ b/tests/unit/sagemaker/jumpstart/test_types.py @@ -344,65 +344,86 @@ def test_jumpstart_model_specs(): specs1 = JumpStartModelSpecs(BASE_SPEC) assert specs1.model_id == "pytorch-ic-mobilenet-v2" - assert specs1.version == "1.0.0" - assert specs1.min_sdk_version == "2.49.0" + assert specs1.version == "3.0.6" + assert specs1.min_sdk_version == "2.189.0" assert specs1.training_supported assert specs1.incremental_training_supported assert specs1.hosting_ecr_specs == JumpStartECRSpecs( { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", } ) assert specs1.training_ecr_specs == JumpStartECRSpecs( { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", } ) - assert specs1.hosting_artifact_key == "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz" - assert specs1.training_artifact_key == "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz" + assert ( + specs1.hosting_artifact_key + == "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference/v2.0.0/" + ) + assert ( + specs1.training_artifact_key + == "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz" + ) assert ( specs1.hosting_script_key - == "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz" ) assert ( specs1.training_script_key - == "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz" ) assert specs1.hyperparameters == [ + JumpStartHyperparameter( + { + "name": "train_only_top_layer", + "type": "text", + "options": ["True", "False"], + "default": "True", + "scope": "algorithm", + } + ), JumpStartHyperparameter( { "name": "epochs", "type": "int", - # "_is_hub_content": False, - "default": 3, + "default": 5, + "scope": "algorithm", "min": 1, "max": 1000, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "adam-learning-rate", + "name": "learning_rate", "type": "float", - # "_is_hub_content": False, - "default": 0.05, + "default": 0.001, + "scope": "algorithm", "min": 1e-08, "max": 1, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "batch-size", + "name": "batch_size", "type": "int", - # "_is_hub_content": False, "default": 4, + "scope": "algorithm", "min": 1, "max": 1024, + } + ), + JumpStartHyperparameter( + { + "name": "reinitialize_top_layer", + "type": "text", + "options": ["Auto", "True", "False"], + "default": "Auto", "scope": "algorithm", } ), @@ -410,7 +431,6 @@ def test_jumpstart_model_specs(): { "name": "sagemaker_submit_directory", "type": "text", - # "_is_hub_content": False, "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", } @@ -419,7 +439,6 @@ def test_jumpstart_model_specs(): { "name": "sagemaker_program", "type": "text", - # "_is_hub_content": False, "default": "transfer_learning.py", "scope": "container", } @@ -428,13 +447,13 @@ def test_jumpstart_model_specs(): { "name": "sagemaker_container_log_level", "type": "text", - # "_is_hub_content": False, "default": "20", "scope": "container", } ), ] + print(specs1.to_json()) assert specs1.to_json() == BASE_SPEC BASE_SPEC_COPY = copy.deepcopy(BASE_SPEC) @@ -993,8 +1012,8 @@ def test_inference_configs_parsing(): # Non-overrided fields in top config assert specs1.model_id == "pytorch-ic-mobilenet-v2" - assert specs1.version == "1.0.0" - assert specs1.min_sdk_version == "2.49.0" + assert specs1.version == "3.0.6" + assert specs1.min_sdk_version == "2.189.0" assert specs1.training_supported assert specs1.incremental_training_supported assert specs1.hosting_ecr_specs == JumpStartECRSpecs( @@ -1007,51 +1026,72 @@ def test_inference_configs_parsing(): assert specs1.training_ecr_specs == JumpStartECRSpecs( { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", } ) assert ( specs1.hosting_artifact_key == "artifacts/meta-textgeneration-llama-2-7b/neuron-inference/model/" ) - assert specs1.training_artifact_key == "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz" + assert ( + specs1.training_artifact_key + == "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz" + ) assert ( specs1.hosting_script_key - == "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz" ) assert ( specs1.training_script_key - == "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz" ) assert specs1.hyperparameters == [ + JumpStartHyperparameter( + { + "name": "train_only_top_layer", + "type": "text", + "options": ["True", "False"], + "default": "True", + "scope": "algorithm", + } + ), JumpStartHyperparameter( { "name": "epochs", "type": "int", - "default": 3, + "default": 5, + "scope": "algorithm", "min": 1, "max": 1000, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "adam-learning-rate", + "name": "learning_rate", "type": "float", - "default": 0.05, + "default": 0.001, + "scope": "algorithm", "min": 1e-08, "max": 1, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "batch-size", + "name": "batch_size", "type": "int", "default": 4, + "scope": "algorithm", "min": 1, "max": 1024, + } + ), + JumpStartHyperparameter( + { + "name": "reinitialize_top_layer", + "type": "text", + "options": ["Auto", "True", "False"], + "default": "Auto", "scope": "algorithm", } ), @@ -1255,62 +1295,86 @@ def test_training_configs_parsing(): # Non-overrided fields in top config # By default training config is not applied to model spec assert specs1.model_id == "pytorch-ic-mobilenet-v2" - assert specs1.version == "1.0.0" - assert specs1.min_sdk_version == "2.49.0" + assert specs1.version == "3.0.6" + assert specs1.min_sdk_version == "2.189.0" assert specs1.training_supported assert specs1.incremental_training_supported assert specs1.hosting_ecr_specs == JumpStartECRSpecs( { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", } ) assert specs1.training_ecr_specs == JumpStartECRSpecs( { "framework": "pytorch", - "framework_version": "1.5.0", - "py_version": "py3", + "framework_version": "1.10.0", + "py_version": "py38", } ) - assert specs1.hosting_artifact_key == "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz" - assert specs1.training_artifact_key == "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz" + assert ( + specs1.hosting_artifact_key + == "pytorch-ic/pytorch-ic-mobilenet-v2/artifacts/inference/v2.0.0/" + ) + assert ( + specs1.training_artifact_key + == "pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz" + ) assert ( specs1.hosting_script_key - == "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz" ) assert ( specs1.training_script_key - == "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz" + == "source-directory-tarballs/pytorch/transfer_learning/ic/v2.3.0/sourcedir.tar.gz" ) assert specs1.hyperparameters == [ + JumpStartHyperparameter( + { + "name": "train_only_top_layer", + "type": "text", + "options": ["True", "False"], + "default": "True", + "scope": "algorithm", + } + ), JumpStartHyperparameter( { "name": "epochs", "type": "int", - "default": 3, + "default": 5, + "scope": "algorithm", "min": 1, "max": 1000, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "adam-learning-rate", + "name": "learning_rate", "type": "float", - "default": 0.05, + "default": 0.001, + "scope": "algorithm", "min": 1e-08, "max": 1, - "scope": "algorithm", } ), JumpStartHyperparameter( { - "name": "batch-size", + "name": "batch_size", "type": "int", "default": 4, + "scope": "algorithm", "min": 1, "max": 1024, + } + ), + JumpStartHyperparameter( + { + "name": "reinitialize_top_layer", + "type": "text", + "options": ["Auto", "True", "False"], + "default": "Auto", "scope": "algorithm", } ), @@ -1477,11 +1541,9 @@ def test_set_training_config(): specs1 = JumpStartModelSpecs(spec) assert specs1.supported_training_instance_types == [ - "ml.p3.2xlarge", - "ml.p2.xlarge", - "ml.g4dn.2xlarge", "ml.m5.xlarge", "ml.c5.2xlarge", + "ml.m4.xlarge", ] specs1.set_config("gpu-training-budget", scope=JumpStartScriptScope.TRAINING) diff --git a/tests/unit/sagemaker/jumpstart/test_utils.py b/tests/unit/sagemaker/jumpstart/test_utils.py index d228b4450e..7cf8fdc9b6 100644 --- a/tests/unit/sagemaker/jumpstart/test_utils.py +++ b/tests/unit/sagemaker/jumpstart/test_utils.py @@ -1364,7 +1364,7 @@ def test_validate_model_id_and_get_type_invalid( ) assert ( - utils.validate_model_id_and_get_type("pytorch-eqa-bert-base-cased") + utils.validate_model_id_and_get_type("pytorch-ic-mobilenet-v2") == JumpStartModelType.OPEN_WEIGHTS ) mock_get_manifest.assert_called_with( diff --git a/tests/unit/sagemaker/model_uris/jumpstart/test_common.py b/tests/unit/sagemaker/model_uris/jumpstart/test_common.py index e71207d439..8593c599fe 100644 --- a/tests/unit/sagemaker/model_uris/jumpstart/test_common.py +++ b/tests/unit/sagemaker/model_uris/jumpstart/test_common.py @@ -184,4 +184,7 @@ def test_jumpstart_artifact_bucket_override( model_id="pytorch-ic-mobilenet-v2", model_version="*", ) - assert uri == "s3://some-cool-bucket-name/pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz" + assert ( + uri + == "s3://some-cool-bucket-name/pytorch-training/v2.0.0/train-pytorch-ic-mobilenet-v2.tar.gz" + ) diff --git a/tests/unit/sagemaker/script_uris/jumpstart/test_common.py b/tests/unit/sagemaker/script_uris/jumpstart/test_common.py index b67f238cac..6c4d6b688f 100644 --- a/tests/unit/sagemaker/script_uris/jumpstart/test_common.py +++ b/tests/unit/sagemaker/script_uris/jumpstart/test_common.py @@ -185,6 +185,6 @@ def test_jumpstart_artifact_bucket_override( model_version="*", ) assert ( - uri - == "s3://some-cool-bucket-name/source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz" + uri == "s3://some-cool-bucket-name/source-directory-tarballs/pytorch/" + "transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz" ) diff --git a/tests/unit/sagemaker/script_uris/jumpstart/test_pytorch.py b/tests/unit/sagemaker/script_uris/jumpstart/test_pytorch.py index d62db7a785..80f2449901 100644 --- a/tests/unit/sagemaker/script_uris/jumpstart/test_pytorch.py +++ b/tests/unit/sagemaker/script_uris/jumpstart/test_pytorch.py @@ -29,22 +29,22 @@ def test_jumpstart_pytorch_script_uri(patched_get_model_specs): uri = script_uris.retrieve( region="us-west-2", script_scope="inference", - model_id="pytorch-eqa-bert-base-cased", + model_id="pytorch-ic-mobilenet-v2", model_version="*", ) assert ( - uri == "s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/" - "inference/eqa/v1.0.0/sourcedir.tar.gz" + uri + == "s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/inference/ic/v2.0.0/sourcedir.tar.gz" ) # training uri = script_uris.retrieve( region="us-west-2", script_scope="training", - model_id="pytorch-eqa-bert-base-cased", + model_id="pytorch-ic-mobilenet-v2", model_version="*", ) assert ( - uri == "s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/" - "transfer_learning/eqa/v1.0.0/sourcedir.tar.gz" + uri == "s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/" + "pytorch/transfer_learning/ic/prepack/v1.1.0/sourcedir.tar.gz" )