Skip to content

aws.sagemaker.describe_inference_recommendations_job

Example SQL Queries

SELECT * FROM
aws.sagemaker.describe_inference_recommendations_job
WHERE
"job_name" = 'VALUE';

Description

Provides the results of the Inference Recommender job. One or more recommendation jobs are returned.

Table Definition

Column NameColumn Data Type
job_name Required Input Column

The name of the job. The name must be unique within an Amazon Web Services Region in the Amazon Web Services account.

VARCHAR
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

completion_time

A timestamp that shows when the job completed.

TIMESTAMP_S
creation_time

A timestamp that shows when the job was created.

TIMESTAMP_S
endpoint_performances

The performance results from running an Inference Recommender job on an existing endpoint.

STRUCT(
"metrics" STRUCT(
"max_invocations" BIGINT,
"model_latency" BIGINT
),
"endpoint_info" STRUCT(
"endpoint_name" VARCHAR
)
)[]
Show child fields
endpoint_performances[]
Show child fields
endpoint_performances[].endpoint_info

Details about a customer endpoint that was compared in an Inference Recommender job.

Show child fields
endpoint_performances[].endpoint_info.endpoint_name

The name of a customer's endpoint.

endpoint_performances[].metrics

The metrics for an existing endpoint.

Show child fields
endpoint_performances[].metrics.max_invocations

The expected maximum number of requests per minute for the instance.

endpoint_performances[].metrics.model_latency

The expected model latency at maximum invocations per minute for the instance.

failure_reason

If the job fails, provides information why the job failed.

VARCHAR
inference_recommendations

The recommendations made by Inference Recommender.

STRUCT(
"recommendation_id" VARCHAR,
"metrics" STRUCT(
"cost_per_hour" DOUBLE,
"cost_per_inference" DOUBLE,
"max_invocations" BIGINT,
"model_latency" BIGINT,
"cpu_utilization" DOUBLE,
"memory_utilization" DOUBLE,
"model_setup_time" BIGINT
),
"endpoint_configuration" STRUCT(
"endpoint_name" VARCHAR,
"variant_name" VARCHAR,
"instance_type" VARCHAR,
"initial_instance_count" BIGINT,
"serverless_config" STRUCT(
"memory_size_in_mb" BIGINT,
"max_concurrency" BIGINT,
"provisioned_concurrency" BIGINT
)
),
"model_configuration" STRUCT(
"inference_specification_name" VARCHAR,
"environment_parameters" STRUCT(
"key" VARCHAR,
"value_type" VARCHAR,
"value" VARCHAR
)[],
"compilation_job_name" VARCHAR
),
"invocation_end_time" TIMESTAMP_S,
"invocation_start_time" TIMESTAMP_S
)[]
Show child fields
inference_recommendations[]
Show child fields
inference_recommendations[].endpoint_configuration

Defines the endpoint configuration parameters.

Show child fields
inference_recommendations[].endpoint_configuration.endpoint_name

The name of the endpoint made during a recommendation job.

inference_recommendations[].endpoint_configuration.initial_instance_count

The number of instances recommended to launch initially.

inference_recommendations[].endpoint_configuration.instance_type

The instance type recommended by Amazon SageMaker Inference Recommender.

inference_recommendations[].endpoint_configuration.serverless_config

Specifies the serverless configuration for an endpoint variant.

Show child fields
inference_recommendations[].endpoint_configuration.serverless_config.max_concurrency

The maximum number of concurrent invocations your serverless endpoint can process.

inference_recommendations[].endpoint_configuration.serverless_config.memory_size_in_mb

The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.

inference_recommendations[].endpoint_configuration.serverless_config.provisioned_concurrency

The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to MaxConcurrency.

This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see CreateInferenceRecommendationsJobs.

inference_recommendations[].endpoint_configuration.variant_name

The name of the production variant (deployed model) made during a recommendation job.

inference_recommendations[].invocation_end_time

A timestamp that shows when the benchmark completed.

inference_recommendations[].invocation_start_time

A timestamp that shows when the benchmark started.

inference_recommendations[].metrics

The metrics used to decide what recommendation to make.

Show child fields
inference_recommendations[].metrics.cost_per_hour

Defines the cost per hour for the instance.

inference_recommendations[].metrics.cost_per_inference

Defines the cost per inference for the instance .

inference_recommendations[].metrics.cpu_utilization

The expected CPU utilization at maximum invocations per minute for the instance.

NaN indicates that the value is not available.

inference_recommendations[].metrics.max_invocations

The expected maximum number of requests per minute for the instance.

inference_recommendations[].metrics.memory_utilization

The expected memory utilization at maximum invocations per minute for the instance.

NaN indicates that the value is not available.

inference_recommendations[].metrics.model_latency

The expected model latency at maximum invocation per minute for the instance.

inference_recommendations[].metrics.model_setup_time

The time it takes to launch new compute resources for a serverless endpoint. The time can vary depending on the model size, how long it takes to download the model, and the start-up time of the container.

NaN indicates that the value is not available.

inference_recommendations[].model_configuration

Defines the model configuration.

Show child fields
inference_recommendations[].model_configuration.compilation_job_name

The name of the compilation job used to create the recommended model artifacts.

inference_recommendations[].model_configuration.environment_parameters[]
Show child fields
inference_recommendations[].model_configuration.environment_parameters[].key

The environment key suggested by the Amazon SageMaker Inference Recommender.

inference_recommendations[].model_configuration.environment_parameters[].value

The value suggested by the Amazon SageMaker Inference Recommender.

inference_recommendations[].model_configuration.environment_parameters[].value_type

The value type suggested by the Amazon SageMaker Inference Recommender.

inference_recommendations[].model_configuration.inference_specification_name

The inference specification name in the model package version.

inference_recommendations[].recommendation_id

The recommendation ID which uniquely identifies each recommendation.

input_config

Returns information about the versioned model package Amazon Resource Name (ARN), the traffic pattern, and endpoint configurations you provided when you initiated the job.

STRUCT(
"model_package_version_arn" VARCHAR,
"model_name" VARCHAR,
"job_duration_in_seconds" BIGINT,
"traffic_pattern" STRUCT(
"traffic_type" VARCHAR,
"phases" STRUCT(
"initial_number_of_users" BIGINT,
"spawn_rate" BIGINT,
"duration_in_seconds" BIGINT
)[],
"stairs" STRUCT(
"duration_in_seconds" BIGINT,
"number_of_steps" BIGINT,
"users_per_step" BIGINT
)
),
"resource_limit" STRUCT(
"max_number_of_tests" BIGINT,
"max_parallel_of_tests" BIGINT
),
"endpoint_configurations" STRUCT(
"instance_type" VARCHAR,
"serverless_config" STRUCT(
"memory_size_in_mb" BIGINT,
"max_concurrency" BIGINT,
"provisioned_concurrency" BIGINT
),
"inference_specification_name" VARCHAR,
"environment_parameter_ranges" STRUCT(
"categorical_parameter_ranges" STRUCT(
"name" VARCHAR,
"value" VARCHAR[]
)[]
)
)[],
"volume_kms_key_id" VARCHAR,
"container_config" STRUCT(
"domain" VARCHAR,
"task" VARCHAR,
"framework" VARCHAR,
"framework_version" VARCHAR,
"payload_config" STRUCT(
"sample_payload_url" VARCHAR,
"supported_content_types" VARCHAR[]
),
"nearest_model_name" VARCHAR,
"supported_instance_types" VARCHAR[],
"supported_endpoint_type" VARCHAR,
"data_input_config" VARCHAR,
"supported_response_mime_types" VARCHAR[]
),
"endpoints" STRUCT(
"endpoint_name" VARCHAR
)[],
"vpc_config" STRUCT(
"security_group_ids" VARCHAR[],
"subnets" VARCHAR[]
)
)
Show child fields
input_config.container_config

Specifies mandatory fields for running an Inference Recommender job. The fields specified in ContainerConfig override the corresponding fields in the model package.

Show child fields
input_config.container_config.data_input_config

Specifies the name and shape of the expected data inputs for your trained model with a JSON dictionary form. This field is used for optimizing your model using SageMaker Neo. For more information, see DataInputConfig.

input_config.container_config.domain

The machine learning domain of the model and its components.

Valid Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | MACHINE_LEARNING

input_config.container_config.framework

The machine learning framework of the container image.

Valid Values: TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

input_config.container_config.framework_version

The framework version of the container image.

input_config.container_config.nearest_model_name

The name of a pre-trained machine learning model benchmarked by Amazon SageMaker Inference Recommender that matches your model.

Valid Values: efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased | xceptionV1-keras | resnet50 | retinanet

input_config.container_config.payload_config

Specifies the SamplePayloadUrl and all other sample payload-related fields.

Show child fields
input_config.container_config.payload_config.sample_payload_url

The Amazon Simple Storage Service (Amazon S3) path where the sample payload is stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

input_config.container_config.payload_config.supported_content_types[]
input_config.container_config.supported_endpoint_type

The endpoint type to receive recommendations for. By default this is null, and the results of the inference recommendation job return a combined list of both real-time and serverless benchmarks. By specifying a value for this field, you can receive a longer list of benchmarks for the desired endpoint type.

input_config.container_config.supported_instance_types[]
input_config.container_config.supported_response_mime_types[]
input_config.container_config.task

The machine learning task that the model accomplishes.

Valid Values: IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

input_config.endpoint_configurations[]
Show child fields
input_config.endpoint_configurations[].environment_parameter_ranges

The parameter you want to benchmark against.

Show child fields
input_config.endpoint_configurations[].environment_parameter_ranges.categorical_parameter_ranges[]
Show child fields
input_config.endpoint_configurations[].environment_parameter_ranges.categorical_parameter_ranges[].name

The Name of the environment variable.

input_config.endpoint_configurations[].environment_parameter_ranges.categorical_parameter_ranges[].value[]
input_config.endpoint_configurations[].inference_specification_name

The inference specification name in the model package version.

input_config.endpoint_configurations[].instance_type

The instance types to use for the load test.

input_config.endpoint_configurations[].serverless_config

Specifies the serverless configuration for an endpoint variant.

Show child fields
input_config.endpoint_configurations[].serverless_config.max_concurrency

The maximum number of concurrent invocations your serverless endpoint can process.

input_config.endpoint_configurations[].serverless_config.memory_size_in_mb

The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.

input_config.endpoint_configurations[].serverless_config.provisioned_concurrency

The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to MaxConcurrency.

This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see CreateInferenceRecommendationsJobs.

input_config.endpoints[]
Show child fields
input_config.endpoints[].endpoint_name

The name of a customer's endpoint.

input_config.job_duration_in_seconds

Specifies the maximum duration of the job, in seconds. The maximum value is 18,000 seconds.

input_config.model_name

The name of the created model.

input_config.model_package_version_arn

The Amazon Resource Name (ARN) of a versioned model package.

input_config.resource_limit

Defines the resource limit of the job.

Show child fields
input_config.resource_limit.max_number_of_tests

Defines the maximum number of load tests.

input_config.resource_limit.max_parallel_of_tests

Defines the maximum number of parallel load tests.

input_config.traffic_pattern

Specifies the traffic pattern of the job.

Show child fields
input_config.traffic_pattern.phases[]
Show child fields
input_config.traffic_pattern.phases[].duration_in_seconds

Specifies how long a traffic phase should be. For custom load tests, the value should be between 120 and 3600. This value should not exceed JobDurationInSeconds.

input_config.traffic_pattern.phases[].initial_number_of_users

Specifies how many concurrent users to start with. The value should be between 1 and 3.

input_config.traffic_pattern.phases[].spawn_rate

Specified how many new users to spawn in a minute.

input_config.traffic_pattern.stairs

Defines the stairs traffic pattern.

Show child fields
input_config.traffic_pattern.stairs.duration_in_seconds

Defines how long each traffic step should be.

input_config.traffic_pattern.stairs.number_of_steps

Specifies how many steps to perform during traffic.

input_config.traffic_pattern.stairs.users_per_step

Specifies how many new users to spawn in each step.

input_config.traffic_pattern.traffic_type

Defines the traffic patterns. Choose either PHASES or STAIRS.

input_config.volume_kms_key_id

The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint. This key will be passed to SageMaker Hosting for endpoint creation.

The SageMaker execution role must have kms:CreateGrant permission in order to encrypt data on the storage volume of the endpoints created for inference recommendation. The inference recommendation job will fail asynchronously during endpoint configuration creation if the role passed does not have kms:CreateGrant permission.

The KmsKeyId can be any of the following formats:

  • // KMS Key ID

    "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon Resource Name (ARN) of a KMS Key

    "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"

  • // KMS Key Alias

    "alias/ExampleAlias"

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"

For more information about key identifiers, see Key identifiers (KeyID) in the Amazon Web Services Key Management Service (Amazon Web Services KMS) documentation.

input_config.vpc_config

Inference Recommender provisions SageMaker endpoints with access to VPC in the inference recommendation job.

Show child fields
input_config.vpc_config.security_group_ids[]
input_config.vpc_config.subnets[]
job_arn

The Amazon Resource Name (ARN) of the job.

VARCHAR
job_description

The job description that you provided when you initiated the job.

VARCHAR
job_type

The job type that you provided when you initiated the job.

VARCHAR
last_modified_time

A timestamp that shows when the job was last modified.

TIMESTAMP_S
role_arn

The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role you provided when you initiated the job.

VARCHAR
status

The status of the job.

VARCHAR
stopping_conditions

The stopping conditions that you provided when you initiated the job.

STRUCT(
"max_invocations" BIGINT,
"model_latency_thresholds" STRUCT(
"percentile" VARCHAR,
"value_in_milliseconds" BIGINT
)[],
"flat_invocations" VARCHAR
)
Show child fields
stopping_conditions.flat_invocations

Stops a load test when the number of invocations (TPS) peaks and flattens, which means that the instance has reached capacity. The default value is Stop. If you want the load test to continue after invocations have flattened, set the value to Continue.

stopping_conditions.max_invocations

The maximum number of requests per minute expected for the endpoint.

stopping_conditions.model_latency_thresholds[]
Show child fields
stopping_conditions.model_latency_thresholds[].percentile

The model latency percentile threshold. Acceptable values are P95 and P99. For custom load tests, specify the value as P95.

stopping_conditions.model_latency_thresholds[].value_in_milliseconds

The model latency percentile value in milliseconds.