Skip to content

Commit

Permalink
Amazon SageMaker Service Update: This feature allows customer to spec…
Browse files Browse the repository at this point in the history
…ify the environment variables in their CreateTrainingJob requests.
  • Loading branch information
AWS committed Mar 25, 2021
1 parent 8211351 commit 207c8f6
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"type": "feature",
"category": "Amazon SageMaker Service",
"contributor": "",
"description": "This feature allows customer to specify the environment variables in their CreateTrainingJob requests."
}
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@
{"shape":"ResourceLimitExceeded"},
{"shape":"ResourceNotFound"}
],
"documentation":"<p>Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify. </p> <p>If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than Amazon SageMaker, provided that you know how to use them for inference. </p> <p>In the request body, you provide the following: </p> <ul> <li> <p> <code>AlgorithmSpecification</code> - Identifies the training algorithm to use. </p> </li> <li> <p> <code>HyperParameters</code> - Specify these algorithm-specific parameters to enable the estimation of model parameters during training. Hyperparameters can be tuned to optimize this learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html\">Algorithms</a>. </p> </li> <li> <p> <code>InputDataConfig</code> - Describes the training dataset and the Amazon S3, EFS, or FSx location where it is stored.</p> </li> <li> <p> <code>OutputDataConfig</code> - Identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of model training. </p> <p/> </li> <li> <p> <code>ResourceConfig</code> - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance. </p> </li> <li> <p> <code>EnableManagedSpotTraining</code> - Optimize the cost of training machine learning models by up to 80% by using Amazon EC2 Spot instances. For more information, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/model-managed-spot-training.html\">Managed Spot Training</a>. </p> </li> <li> <p> <code>RoleArn</code> - The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training. </p> </li> <li> <p> <code>StoppingCondition</code> - To help cap training costs, use <code>MaxRuntimeInSeconds</code> to set a time limit for training. Use <code>MaxWaitTimeInSeconds</code> to specify how long you are willing to wait for a managed spot training job to complete. </p> </li> </ul> <p> For more information about Amazon SageMaker, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html\">How It Works</a>. </p>"
"documentation":"<p>Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify. </p> <p>If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than Amazon SageMaker, provided that you know how to use them for inference. </p> <p>In the request body, you provide the following: </p> <ul> <li> <p> <code>AlgorithmSpecification</code> - Identifies the training algorithm to use. </p> </li> <li> <p> <code>HyperParameters</code> - Specify these algorithm-specific parameters to enable the estimation of model parameters during training. Hyperparameters can be tuned to optimize this learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html\">Algorithms</a>. </p> </li> <li> <p> <code>InputDataConfig</code> - Describes the training dataset and the Amazon S3, EFS, or FSx location where it is stored.</p> </li> <li> <p> <code>OutputDataConfig</code> - Identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of model training. </p> <p/> </li> <li> <p> <code>ResourceConfig</code> - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance. </p> </li> <li> <p> <code>EnableManagedSpotTraining</code> - Optimize the cost of training machine learning models by up to 80% by using Amazon EC2 Spot instances. For more information, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/model-managed-spot-training.html\">Managed Spot Training</a>. </p> </li> <li> <p> <code>RoleArn</code> - The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training. </p> </li> <li> <p> <code>StoppingCondition</code> - To help cap training costs, use <code>MaxRuntimeInSeconds</code> to set a time limit for training. Use <code>MaxWaitTimeInSeconds</code> to specify how long you are willing to wait for a managed spot training job to complete. </p> </li> <li> <p> <code>Environment</code> - The environment variables to set in the Docker container.</p> </li> </ul> <p> For more information about Amazon SageMaker, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html\">How It Works</a>. </p>"
},
"CreateTransformJob":{
"name":"CreateTransformJob",
Expand Down Expand Up @@ -3880,7 +3880,10 @@
"Stopped",
"MaxAutoMLJobRuntimeReached",
"Stopping",
"CandidateDefinitionsGenerated"
"CandidateDefinitionsGenerated",
"GeneratingExplainabilityReport",
"Completed",
"ExplainabilityError"
]
},
"AutoMLJobStatus":{
Expand Down Expand Up @@ -5411,7 +5414,7 @@
},
"DefaultUserSettings":{
"shape":"UserSettings",
"documentation":"<p>The default user settings.</p>"
"documentation":"<p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html\">CreateUserProfile</a> API.</p> <p> <code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>"
},
"SubnetIds":{
"shape":"Subnets",
Expand All @@ -5423,7 +5426,7 @@
},
"Tags":{
"shape":"TagList",
"documentation":"<p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <a>Search</a> API.</p>"
"documentation":"<p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html\">Search</a> API.</p>"
},
"AppNetworkAccessType":{
"shape":"AppNetworkAccessType",
Expand Down Expand Up @@ -6630,6 +6633,10 @@
"ProfilerRuleConfigurations":{
"shape":"ProfilerRuleConfigurations",
"documentation":"<p>Configuration information for Debugger rules for profiling system and framework metrics.</p>"
},
"Environment":{
"shape":"TrainingEnvironmentMap",
"documentation":"<p>The environment variables to set in the Docker container.</p>"
}
}
},
Expand Down Expand Up @@ -8676,7 +8683,7 @@
},
"DefaultUserSettings":{
"shape":"UserSettings",
"documentation":"<p>Settings which are applied to all UserProfiles in this domain, if settings are not explicitly specified in a given UserProfile. </p>"
"documentation":"<p>Settings which are applied to UserProfiles in this domain if settings are not explicitly specified in a given UserProfile. </p>"
},
"AppNetworkAccessType":{
"shape":"AppNetworkAccessType",
Expand Down Expand Up @@ -10445,6 +10452,10 @@
"ProfilingStatus":{
"shape":"ProfilingStatus",
"documentation":"<p>Profiling status of a training job.</p>"
},
"Environment":{
"shape":"TrainingEnvironmentMap",
"documentation":"<p>The environment variables to set in the Docker container.</p>"
}
}
},
Expand Down Expand Up @@ -13585,7 +13596,7 @@
},
"SnsDataSource":{
"shape":"LabelingJobSnsDataSource",
"documentation":"<p>An Amazon SNS data source used for streaming labeling jobs.</p>"
"documentation":"<p>An Amazon SNS data source used for streaming labeling jobs. To learn more, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-send-data\">Send Data to a Streaming Labeling Job</a>. </p>"
}
},
"documentation":"<p>Provides information about the location of input data.</p> <p>You must specify at least one of the following: <code>S3DataSource</code> or <code>SnsDataSource</code>.</p> <p>Use <code>SnsDataSource</code> to specify an SNS input topic for a streaming labeling job. If you do not specify and SNS input topic ARN, Ground Truth will create a one-time labeling job.</p> <p>Use <code>S3DataSource</code> to specify an input manifest file for both streaming and one-time labeling jobs. Adding an <code>S3DataSource</code> is optional if you use <code>SnsDataSource</code> to create a streaming labeling job.</p>"
Expand Down Expand Up @@ -13675,11 +13686,11 @@
},
"KmsKeyId":{
"shape":"KmsKeyId",
"documentation":"<p>The AWS Key Management Service ID of the key used to encrypt the output data, if any.</p> <p>If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must include permissions to call <code>kms:Encrypt</code>. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS-managed keys for <code>LabelingJobOutputConfig</code>. If you use a bucket policy with an <code>s3:PutObject</code> permission that only allows objects with server-side encryption, set the condition key of <code>s3:x-amz-server-side-encryption</code> to <code>\"aws:kms\"</code>. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html\">KMS-Managed Encryption Keys</a> in the <i>Amazon Simple Storage Service Developer Guide.</i> </p> <p>The KMS key policy must grant permission to the IAM role that you specify in your <code>CreateLabelingJob</code> request. For more information, see <a href=\"http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html\">Using Key Policies in AWS KMS</a> in the <i>AWS Key Management Service Developer Guide</i>.</p>"
"documentation":"<p>The AWS Key Management Service ID of the key used to encrypt the output data, if any.</p> <p>If you provide your own KMS key ID, you must add the required permissions to your KMS key described in <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-permission.html#sms-security-kms-permissions\">Encrypt Output Data and Storage Volume with AWS KMS</a>.</p> <p>If you don't provide a KMS key ID, Amazon SageMaker uses the default AWS KMS key for Amazon S3 for your role's account to encrypt your output data.</p> <p>If you use a bucket policy with an <code>s3:PutObject</code> permission that only allows objects with server-side encryption, set the condition key of <code>s3:x-amz-server-side-encryption</code> to <code>\"aws:kms\"</code>. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html\">KMS-Managed Encryption Keys</a> in the <i>Amazon Simple Storage Service Developer Guide.</i> </p>"
},
"SnsTopicArn":{
"shape":"SnsTopicArn",
"documentation":"<p>An Amazon Simple Notification Service (Amazon SNS) output topic ARN.</p> <p>When workers complete labeling tasks, Ground Truth will send labeling task output data to the SNS output topic you specify here.</p> <p>You must provide a value for this parameter if you provide an Amazon SNS input topic in <code>SnsDataSource</code> in <code>InputConfig</code>.</p>"
"documentation":"<p>An Amazon Simple Notification Service (Amazon SNS) output topic ARN.</p> <p>If you provide an <code>SnsTopicArn</code> in <code>OutputConfig</code>, when workers complete labeling tasks, Ground Truth will send labeling task output data to the SNS output topic you specify here. </p> <p>To learn more, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-output-data\">Receive Output Data from a Streaming Labeling Job</a>. </p>"
}
},
"documentation":"<p>Output configuration information for a labeling job.</p>"
Expand All @@ -13689,10 +13700,10 @@
"members":{
"VolumeKmsKeyId":{
"shape":"KmsKeyId",
"documentation":"<p>The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training job. The <code>VolumeKmsKeyId</code> can be any of the following formats:</p> <ul> <li> <p>// KMS Key ID</p> <p> <code>\"1234abcd-12ab-34cd-56ef-1234567890ab\"</code> </p> </li> <li> <p>// Amazon Resource Name (ARN) of a KMS Key</p> <p> <code>\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"</code> </p> </li> </ul>"
"documentation":"<p>The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training and inference jobs used for automated data labeling. </p> <p>You can only specify a <code>VolumeKmsKeyId</code> when you create a labeling job with automated data labeling enabled using the API operation <code>CreateLabelingJob</code>. You cannot specify an AWS KMS customer managed CMK to encrypt the storage volume used for automated data labeling model training and inference when you create a labeling job using the console. To learn more, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security.html\">Output Data and Storage Volume Encryption</a>.</p> <p>The <code>VolumeKmsKeyId</code> can be any of the following formats:</p> <ul> <li> <p>KMS Key ID</p> <p> <code>\"1234abcd-12ab-34cd-56ef-1234567890ab\"</code> </p> </li> <li> <p>Amazon Resource Name (ARN) of a KMS Key</p> <p> <code>\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"</code> </p> </li> </ul>"
}
},
"documentation":"<p>Provides configuration information for labeling jobs.</p>"
"documentation":"<p>Configure encryption on the storage volume attached to the ML compute instance used to run automated data labeling model training and inference. </p>"
},
"LabelingJobS3DataSource":{
"type":"structure",
Expand All @@ -13711,7 +13722,7 @@
"members":{
"SnsTopicArn":{
"shape":"SnsTopicArn",
"documentation":"<p>The Amazon SNS input topic Amazon Resource Name (ARN). Specify the ARN of the input topic you will use to send new data objects to a streaming labeling job.</p> <p>If you specify an input topic for <code>SnsTopicArn</code> in <code>InputConfig</code>, you must specify a value for <code>SnsTopicArn</code> in <code>OutputConfig</code>.</p>"
"documentation":"<p>The Amazon SNS input topic Amazon Resource Name (ARN). Specify the ARN of the input topic you will use to send new data objects to a streaming labeling job.</p>"
}
},
"documentation":"<p>An Amazon SNS data source used for streaming labeling jobs.</p>"
Expand Down Expand Up @@ -20687,7 +20698,7 @@
"documentation":"<p>When <code>NotebookOutputOption</code> is <code>Allowed</code>, the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.</p>"
}
},
"documentation":"<p>Specifies options when sharing an Amazon SageMaker Studio notebook. These settings are specified as part of <code>DefaultUserSettings</code> when the <a>CreateDomain</a> API is called, and as part of <code>UserSettings</code> when the <a>CreateUserProfile</a> API is called.</p>"
"documentation":"<p>Specifies options for sharing SageMaker Studio notebooks. These settings are specified as part of <code>DefaultUserSettings</code> when the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html\">CreateDomain</a> API is called, and as part of <code>UserSettings</code> when the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html\">CreateUserProfile</a> API is called. When <code>SharingSettings</code> is not specified, notebook sharing isn't allowed.</p>"
},
"ShuffleConfig":{
"type":"structure",
Expand Down Expand Up @@ -21413,6 +21424,22 @@
"CANARY"
]
},
"TrainingEnvironmentKey":{
"type":"string",
"max":512,
"pattern":"[a-zA-Z_][a-zA-Z0-9_]*"
},
"TrainingEnvironmentMap":{
"type":"map",
"key":{"shape":"TrainingEnvironmentKey"},
"value":{"shape":"TrainingEnvironmentValue"},
"max":48
},
"TrainingEnvironmentValue":{
"type":"string",
"max":512,
"pattern":"[\\S\\s]*"
},
"TrainingInputMode":{
"type":"string",
"enum":[
Expand Down Expand Up @@ -21599,6 +21626,10 @@
"shape":"DebugRuleEvaluationStatuses",
"documentation":"<p>Information about the evaluation status of the rules for the training job.</p>"
},
"Environment":{
"shape":"TrainingEnvironmentMap",
"documentation":"<p>The environment variables to set in the Docker container.</p>"
},
"Tags":{
"shape":"TagList",
"documentation":"<p>An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html\">Tagging AWS Resources</a>.</p>"
Expand Down Expand Up @@ -23473,7 +23504,7 @@
},
"SharingSettings":{
"shape":"SharingSettings",
"documentation":"<p>The sharing settings.</p>"
"documentation":"<p>Specifies options for sharing SageMaker Studio notebooks.</p>"
},
"JupyterServerAppSettings":{
"shape":"JupyterServerAppSettings",
Expand All @@ -23488,7 +23519,7 @@
"documentation":"<p>The TensorBoard app settings.</p>"
}
},
"documentation":"<p>A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the <a>CreateUserProfile</a> API is called, and as <code>DefaultUserSettings</code> when the <a>CreateDomain</a> API is called.</p> <p> <code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>"
"documentation":"<p>A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html\">CreateUserProfile</a> API is called, and as <code>DefaultUserSettings</code> when the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html\">CreateDomain</a> API is called.</p> <p> <code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>"
},
"VariantName":{
"type":"string",
Expand Down

0 comments on commit 207c8f6

Please sign in to comment.