Skip to content

Commit 3f42a94

Browse files
author
AWS
committed
Amazon SageMaker Service Update: Amazon SageMaker now supports Asynchronous Inference endpoints. Adds PlatformIdentifier field that allows Notebook Instance creation with different platform selections. Increases the maximum number of containers in multi-container endpoints to 15. Adds more instance types to InstanceType field.
1 parent 2488ddb commit 3f42a94

File tree

2 files changed

+128
-7
lines changed

2 files changed

+128
-7
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon SageMaker Service",
4+
"contributor": "",
5+
"description": "Amazon SageMaker now supports Asynchronous Inference endpoints. Adds PlatformIdentifier field that allows Notebook Instance creation with different platform selections. Increases the maximum number of containers in multi-container endpoints to 15. Adds more instance types to InstanceType field."
6+
}

services/sagemaker/src/main/resources/codegen-resources/service-2.json

Lines changed: 122 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3602,6 +3602,64 @@
36023602
},
36033603
"documentation":"<p>Lists a summary of the properties of an association. An association is an entity that links other lineage or experiment entities. An example would be an association between a training job and a model.</p>"
36043604
},
3605+
"AsyncInferenceClientConfig":{
3606+
"type":"structure",
3607+
"members":{
3608+
"MaxConcurrentInvocationsPerInstance":{
3609+
"shape":"MaxConcurrentInvocationsPerInstance",
3610+
"documentation":"<p>The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, Amazon SageMaker will choose an optimal value for you.</p>"
3611+
}
3612+
},
3613+
"documentation":"<p>Configures the behavior of the client used by Amazon SageMaker to interact with the model container during asynchronous inference.</p>"
3614+
},
3615+
"AsyncInferenceConfig":{
3616+
"type":"structure",
3617+
"required":["OutputConfig"],
3618+
"members":{
3619+
"ClientConfig":{
3620+
"shape":"AsyncInferenceClientConfig",
3621+
"documentation":"<p>Configures the behavior of the client used by Amazon SageMaker to interact with the model container during asynchronous inference.</p>"
3622+
},
3623+
"OutputConfig":{
3624+
"shape":"AsyncInferenceOutputConfig",
3625+
"documentation":"<p>Specifies the configuration for asynchronous inference invocation outputs.</p>"
3626+
}
3627+
},
3628+
"documentation":"<p>Specifies configuration for how an endpoint performs asynchronous inference.</p>"
3629+
},
3630+
"AsyncInferenceNotificationConfig":{
3631+
"type":"structure",
3632+
"members":{
3633+
"SuccessTopic":{
3634+
"shape":"SnsTopicArn",
3635+
"documentation":"<p>Amazon SNS topic to post a notification to when inference completes successfully. If no topic is provided, no notification is sent on success.</p>"
3636+
},
3637+
"ErrorTopic":{
3638+
"shape":"SnsTopicArn",
3639+
"documentation":"<p>Amazon SNS topic to post a notification to when inference fails. If no topic is provided, no notification is sent on failure.</p>"
3640+
}
3641+
},
3642+
"documentation":"<p>Specifies the configuration for notifications of inference results for asynchronous inference.</p>"
3643+
},
3644+
"AsyncInferenceOutputConfig":{
3645+
"type":"structure",
3646+
"required":["S3OutputPath"],
3647+
"members":{
3648+
"KmsKeyId":{
3649+
"shape":"KmsKeyId",
3650+
"documentation":"<p>The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.</p> <p/>"
3651+
},
3652+
"S3OutputPath":{
3653+
"shape":"DestinationS3Uri",
3654+
"documentation":"<p>The Amazon S3 location to upload inference responses to.</p>"
3655+
},
3656+
"NotificationConfig":{
3657+
"shape":"AsyncInferenceNotificationConfig",
3658+
"documentation":"<p>Specifies the configuration for notifications of inference results for asynchronous inference.</p>"
3659+
}
3660+
},
3661+
"documentation":"<p>Specifies the configuration for asynchronous inference invocation outputs.</p>"
3662+
},
36053663
"AthenaCatalog":{
36063664
"type":"string",
36073665
"documentation":"<p>The name of the data catalog used in Athena query execution.</p>",
@@ -4891,7 +4949,7 @@
48914949
"ContainerDefinitionList":{
48924950
"type":"list",
48934951
"member":{"shape":"ContainerDefinition"},
4894-
"max":5
4952+
"max":15
48954953
},
48964954
"ContainerEntrypoint":{
48974955
"type":"list",
@@ -5664,6 +5722,10 @@
56645722
"KmsKeyId":{
56655723
"shape":"KmsKeyId",
56665724
"documentation":"<p>The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.</p> <p>The KmsKeyId can be any of the following formats: </p> <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li> <li> <p>Key ARN: <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li> <li> <p>Alias name: <code>alias/ExampleAlias</code> </p> </li> <li> <p>Alias name ARN: <code>arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias</code> </p> </li> </ul> <p>The KMS key policy must grant permission to the IAM role that you specify in your <code>CreateEndpoint</code>, <code>UpdateEndpoint</code> requests. For more information, refer to the Amazon Web Services Key Management Service section<a href=\"https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html\"> Using Key Policies in Amazon Web Services KMS </a> </p> <note> <p>Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a <code>KmsKeyId</code> when using an instance type with local storage. If any of the models that you specify in the <code>ProductionVariants</code> parameter use nitro-based instances with local storage, do not specify a value for the <code>KmsKeyId</code> parameter. If you specify a value for <code>KmsKeyId</code> when using any nitro-based instances with local storage, the call to <code>CreateEndpointConfig</code> fails.</p> <p>For a list of instance types that support local instance storage, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes\">Instance Store Volumes</a>.</p> <p>For more information about local instance storage encryption, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html\">SSD Instance Store Volumes</a>.</p> </note>"
5725+
},
5726+
"AsyncInferenceConfig":{
5727+
"shape":"AsyncInferenceConfig",
5728+
"documentation":"<p>Specifies configuration for how an endpoint performs asynchronous inference. This is a required field in order for your Endpoint to be invoked using <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html\"> <code>InvokeEndpointAsync</code> </a>.</p>"
56675729
}
56685730
}
56695731
},
@@ -6445,6 +6507,10 @@
64456507
"RootAccess":{
64466508
"shape":"RootAccess",
64476509
"documentation":"<p>Whether root access is enabled or disabled for users of the notebook instance. The default value is <code>Enabled</code>.</p> <note> <p>Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.</p> </note>"
6510+
},
6511+
"PlatformIdentifier":{
6512+
"shape":"PlatformIdentifier",
6513+
"documentation":"<p>The platform identifier of the notebook instance runtime environment.</p>"
64486514
}
64496515
}
64506516
},
@@ -8995,6 +9061,10 @@
89959061
"CreationTime":{
89969062
"shape":"Timestamp",
89979063
"documentation":"<p>A timestamp that shows when the endpoint configuration was created.</p>"
9064+
},
9065+
"AsyncInferenceConfig":{
9066+
"shape":"AsyncInferenceConfig",
9067+
"documentation":"<p>Returns the description of an endpoint configuration created using the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html\"> <code>CreateEndpointConfig</code> </a> API.</p>"
89989068
}
89999069
}
90009070
},
@@ -9055,6 +9125,10 @@
90559125
"LastDeploymentConfig":{
90569126
"shape":"DeploymentConfig",
90579127
"documentation":"<p>The most recent deployment configuration for the endpoint.</p>"
9128+
},
9129+
"AsyncInferenceConfig":{
9130+
"shape":"AsyncInferenceConfig",
9131+
"documentation":"<p>Returns the description of an endpoint configuration created using the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html\"> <code>CreateEndpointConfig</code> </a> API.</p>"
90589132
}
90599133
}
90609134
},
@@ -10148,6 +10222,10 @@
1014810222
"RootAccess":{
1014910223
"shape":"RootAccess",
1015010224
"documentation":"<p>Whether root access is enabled or disabled for users of the notebook instance.</p> <note> <p>Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.</p> </note>"
10225+
},
10226+
"PlatformIdentifier":{
10227+
"shape":"PlatformIdentifier",
10228+
"documentation":"<p>The platform identifier of the notebook instance runtime environment.</p>"
1015110229
}
1015210230
}
1015310231
},
@@ -13468,6 +13546,10 @@
1346813546
},
1346913547
"documentation":"<p>Defines how to perform inference generation after a training job is run.</p>"
1347013548
},
13549+
"InitialTaskCount":{
13550+
"type":"integer",
13551+
"min":1
13552+
},
1347113553
"InputConfig":{
1347213554
"type":"structure",
1347313555
"required":[
@@ -13534,6 +13616,14 @@
1353413616
"ml.m5.4xlarge",
1353513617
"ml.m5.12xlarge",
1353613618
"ml.m5.24xlarge",
13619+
"ml.m5d.large",
13620+
"ml.m5d.xlarge",
13621+
"ml.m5d.2xlarge",
13622+
"ml.m5d.4xlarge",
13623+
"ml.m5d.8xlarge",
13624+
"ml.m5d.12xlarge",
13625+
"ml.m5d.16xlarge",
13626+
"ml.m5d.24xlarge",
1353713627
"ml.c4.xlarge",
1353813628
"ml.c4.2xlarge",
1353913629
"ml.c4.4xlarge",
@@ -13553,7 +13643,22 @@
1355313643
"ml.p2.16xlarge",
1355413644
"ml.p3.2xlarge",
1355513645
"ml.p3.8xlarge",
13556-
"ml.p3.16xlarge"
13646+
"ml.p3.16xlarge",
13647+
"ml.p3dn.24xlarge",
13648+
"ml.g4dn.xlarge",
13649+
"ml.g4dn.2xlarge",
13650+
"ml.g4dn.4xlarge",
13651+
"ml.g4dn.8xlarge",
13652+
"ml.g4dn.12xlarge",
13653+
"ml.g4dn.16xlarge",
13654+
"ml.r5.large",
13655+
"ml.r5.xlarge",
13656+
"ml.r5.2xlarge",
13657+
"ml.r5.4xlarge",
13658+
"ml.r5.8xlarge",
13659+
"ml.r5.12xlarge",
13660+
"ml.r5.16xlarge",
13661+
"ml.r5.24xlarge"
1355713662
]
1355813663
},
1355913664
"Integer":{"type":"integer"},
@@ -16830,6 +16935,11 @@
1683016935
"type":"integer",
1683116936
"min":1
1683216937
},
16938+
"MaxConcurrentInvocationsPerInstance":{
16939+
"type":"integer",
16940+
"max":1000,
16941+
"min":1
16942+
},
1683316943
"MaxConcurrentTaskCount":{
1683416944
"type":"integer",
1683516945
"max":1000,
@@ -17368,7 +17478,7 @@
1736817478
"ModelPackageContainerDefinitionList":{
1736917479
"type":"list",
1737017480
"member":{"shape":"ModelPackageContainerDefinition"},
17371-
"max":5,
17481+
"max":15,
1737217482
"min":1
1737317483
},
1737417484
"ModelPackageGroup":{
@@ -18611,10 +18721,10 @@
1861118721
"members":{
1861218722
"NotificationTopicArn":{
1861318723
"shape":"NotificationTopicArn",
18614-
"documentation":"<p>The ARN for the SNS topic to which notifications should be published.</p>"
18724+
"documentation":"<p>The ARN for the Amazon SNS topic to which notifications should be published.</p>"
1861518725
}
1861618726
},
18617-
"documentation":"<p>Configures SNS notifications of available or expiring work items for work teams.</p>"
18727+
"documentation":"<p>Configures Amazon SNS notifications of available or expiring work items for work teams.</p>"
1861818728
},
1861918729
"NotificationTopicArn":{
1862018730
"type":"string",
@@ -19372,6 +19482,11 @@
1937219482
"max":100,
1937319483
"min":0
1937419484
},
19485+
"PlatformIdentifier":{
19486+
"type":"string",
19487+
"max":15,
19488+
"pattern":"^(notebook-al1-v1|notebook-al2-v1)$"
19489+
},
1937519490
"PolicyString":{
1937619491
"type":"string",
1937719492
"max":20480,
@@ -19880,7 +19995,7 @@
1988019995
"documentation":"<p>The name of the model that you want to host. This is the name that you specified when creating the model.</p>"
1988119996
},
1988219997
"InitialInstanceCount":{
19883-
"shape":"TaskCount",
19998+
"shape":"InitialTaskCount",
1988419999
"documentation":"<p>Number of instances to launch initially.</p>"
1988520000
},
1988620001
"InstanceType":{
@@ -21792,7 +21907,7 @@
2179221907
},
2179321908
"TaskCount":{
2179421909
"type":"integer",
21795-
"min":1
21910+
"min":0
2179621911
},
2179721912
"TaskDescription":{
2179821913
"type":"string",

0 commit comments

Comments
 (0)