Skip to content

Commit 543de9d

Browse files
author
AWS
committed
Amazon SageMaker Service Update: Amazon SageMaker Automatic Model Tuning now supports specifying Hyperband strategy for tuning jobs, which uses a multi-fidelity based tuning strategy to stop underperforming hyperparameter configurations early.
1 parent 2ac6f7b commit 543de9d

File tree

2 files changed

+53
-10
lines changed

2 files changed

+53
-10
lines changed
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 Automatic Model Tuning now supports specifying Hyperband strategy for tuning jobs, which uses a multi-fidelity based tuning strategy to stop underperforming hyperparameter configurations early."
6+
}

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

+47-10
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
{"shape":"ResourceLimitExceeded"},
9898
{"shape":"ResourceInUse"}
9999
],
100-
"documentation":"<p>Creates a running app for the specified UserProfile. Supported apps are <code>JupyterServer</code> and <code>KernelGateway</code>. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.</p>"
100+
"documentation":"<p>Creates a running app for the specified UserProfile. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.</p>"
101101
},
102102
"CreateAppImageConfig":{
103103
"name":"CreateAppImageConfig",
@@ -5903,7 +5903,7 @@
59035903
},
59045904
"AppType":{
59055905
"shape":"AppType",
5906-
"documentation":"<p>The type of app. Supported apps are <code>JupyterServer</code> and <code>KernelGateway</code>. <code>TensorBoard</code> is not supported.</p>"
5906+
"documentation":"<p>The type of app.</p>"
59075907
},
59085908
"AppName":{
59095909
"shape":"AppName",
@@ -12844,7 +12844,7 @@
1284412844
},
1284512845
"ExecutionRoleIdentityConfig":{
1284612846
"shape":"ExecutionRoleIdentityConfig",
12847-
"documentation":"<p>The configuration for attaching a SageMaker user profile name to the execution role as a <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html\"> <code>sts:SourceIdentity</code> key</a>.</p>"
12847+
"documentation":"<p>The configuration for attaching a SageMaker user profile name to the execution role as a <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html\">sts:SourceIdentity key</a>.</p>"
1284812848
}
1284912849
},
1285012850
"documentation":"<p>A collection of settings that apply to the <code>SageMaker Domain</code>. These settings are specified through the <code>CreateDomain</code> API call.</p>"
@@ -12858,7 +12858,7 @@
1285812858
},
1285912859
"ExecutionRoleIdentityConfig":{
1286012860
"shape":"ExecutionRoleIdentityConfig",
12861-
"documentation":"<p>The configuration for attaching a SageMaker user profile name to the execution role as a <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html\"> <code>sts:SourceIdentity</code> key</a>. This configuration can only be modified if there are no apps in the <code>InService</code> or <code>Pending</code> state.</p>"
12861+
"documentation":"<p>The configuration for attaching a SageMaker user profile name to the execution role as a <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html\">sts:SourceIdentity key</a>. This configuration can only be modified if there are no apps in the <code>InService</code> or <code>Pending</code> state.</p>"
1286212862
}
1286312863
},
1286412864
"documentation":"<p>A collection of <code>Domain</code> configuration settings to update.</p>"
@@ -14799,7 +14799,7 @@
1479914799
},
1480014800
"MaxConcurrentTaskCount":{
1480114801
"shape":"MaxConcurrentTaskCount",
14802-
"documentation":"<p>Defines the maximum number of data objects that can be labeled by human workers at the same time. Also referred to as batch size. Each object may have more than one worker at one time. The default value is 1000 objects.</p>"
14802+
"documentation":"<p>Defines the maximum number of data objects that can be labeled by human workers at the same time. Also referred to as batch size. Each object may have more than one worker at one time. The default value is 1000 objects. To increase the maximum value to 5000 objects, contact Amazon Web Services Support.</p>"
1480314803
},
1480414804
"AnnotationConsolidationConfig":{
1480514805
"shape":"AnnotationConsolidationConfig",
@@ -15130,7 +15130,11 @@
1513015130
"members":{
1513115131
"Strategy":{
1513215132
"shape":"HyperParameterTuningJobStrategyType",
15133-
"documentation":"<p>Specifies how hyperparameter tuning chooses the combinations of hyperparameter values to use for the training job it launches. To use the Bayesian search strategy, set this to <code>Bayesian</code>. To randomly search, set it to <code>Random</code>. For information about search strategies, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html\">How Hyperparameter Tuning Works</a>.</p>"
15133+
"documentation":"<p>Specifies how hyperparameter tuning chooses the combinations of hyperparameter values to use for the training job it launches. For information about search strategies, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html\">How Hyperparameter Tuning Works</a>.</p>"
15134+
},
15135+
"StrategyConfig":{
15136+
"shape":"HyperParameterTuningJobStrategyConfig",
15137+
"documentation":"<p>The configuration for the <code>Hyperband</code> optimization strategy. This parameter should be provided only if <code>Hyperband</code> is selected as the strategy for <code>HyperParameterTuningJobConfig</code>.</p>"
1513415138
},
1513515139
"HyperParameterTuningJobObjective":{
1513615140
"shape":"HyperParameterTuningJobObjective",
@@ -15146,7 +15150,7 @@
1514615150
},
1514715151
"TrainingJobEarlyStoppingType":{
1514815152
"shape":"TrainingJobEarlyStoppingType",
15149-
"documentation":"<p>Specifies whether to use early stopping for training jobs launched by the hyperparameter tuning job. This can be one of the following values (the default value is <code>OFF</code>):</p> <dl> <dt>OFF</dt> <dd> <p>Training jobs launched by the hyperparameter tuning job do not use early stopping.</p> </dd> <dt>AUTO</dt> <dd> <p>SageMaker stops training jobs launched by the hyperparameter tuning job when they are unlikely to perform better than previously completed training jobs. For more information, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-early-stopping.html\">Stop Training Jobs Early</a>.</p> </dd> </dl>"
15153+
"documentation":"<p>Specifies whether to use early stopping for training jobs launched by the hyperparameter tuning job. Because the <code>Hyperband</code> strategy has its own advanced internal early stopping mechanism, <code>TrainingJobEarlyStoppingType</code> must be <code>OFF</code> to use <code>Hyperband</code>. This parameter can take on one of the following values (the default value is <code>OFF</code>):</p> <dl> <dt>OFF</dt> <dd> <p>Training jobs launched by the hyperparameter tuning job do not use early stopping.</p> </dd> <dt>AUTO</dt> <dd> <p>SageMaker stops training jobs launched by the hyperparameter tuning job when they are unlikely to perform better than previously completed training jobs. For more information, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-early-stopping.html\">Stop Training Jobs Early</a>.</p> </dd> </dl>"
1515015154
},
1515115155
"TuningJobCompletionCriteria":{
1515215156
"shape":"TuningJobCompletionCriteria",
@@ -15257,12 +15261,23 @@
1525715261
"Stopping"
1525815262
]
1525915263
},
15264+
"HyperParameterTuningJobStrategyConfig":{
15265+
"type":"structure",
15266+
"members":{
15267+
"HyperbandStrategyConfig":{
15268+
"shape":"HyperbandStrategyConfig",
15269+
"documentation":"<p>The configuration for the object that specifies the <code>Hyperband</code> strategy. This parameter is only supported for the <code>Hyperband</code> selection for <code>Strategy</code> within the <code>HyperParameterTuningJobConfig</code> API.</p>"
15270+
}
15271+
},
15272+
"documentation":"<p>The configuration for a training job launched by a hyperparameter tuning job. Choose <code>Bayesian</code> for Bayesian optimization, and <code>Random</code> for random search optimization. For more advanced use cases, use <code>Hyperband</code>, which evaluates objective metrics for training jobs after every epoch. For more information about strategies, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html\">How Hyperparameter Tuning Works</a>.</p>"
15273+
},
1526015274
"HyperParameterTuningJobStrategyType":{
1526115275
"type":"string",
1526215276
"documentation":"<p>The strategy hyperparameter tuning uses to find the best combination of hyperparameters for your model. Currently, the only supported value is <code>Bayesian</code>.</p>",
1526315277
"enum":[
1526415278
"Bayesian",
15265-
"Random"
15279+
"Random",
15280+
"Hyperband"
1526615281
]
1526715282
},
1526815283
"HyperParameterTuningJobSummaries":{
@@ -15295,7 +15310,7 @@
1529515310
},
1529615311
"Strategy":{
1529715312
"shape":"HyperParameterTuningJobStrategyType",
15298-
"documentation":"<p>Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to use for each iteration. Currently, the only valid value is Bayesian.</p>"
15313+
"documentation":"<p>Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to evaluate at each iteration.</p>"
1529915314
},
1530015315
"CreationTime":{
1530115316
"shape":"Timestamp",
@@ -15391,6 +15406,28 @@
1539115406
"max":100,
1539215407
"min":0
1539315408
},
15409+
"HyperbandStrategyConfig":{
15410+
"type":"structure",
15411+
"members":{
15412+
"MinResource":{
15413+
"shape":"HyperbandStrategyMinResource",
15414+
"documentation":"<p>The minimum number of resources (such as epochs) that can be used by a training job launched by a hyperparameter tuning job. If the value for <code>MinResource</code> has not been reached, the training job will not be stopped by <code>Hyperband</code>.</p>"
15415+
},
15416+
"MaxResource":{
15417+
"shape":"HyperbandStrategyMaxResource",
15418+
"documentation":"<p>The maximum number of resources (such as epochs) that can be used by a training job launched by a hyperparameter tuning job. Once a job reaches the <code>MaxResource</code> value, it is stopped. If a value for <code>MaxResource</code> is not provided, and <code>Hyperband</code> is selected as the hyperparameter tuning strategy, <code>HyperbandTrainingJ</code> attempts to infer <code>MaxResource</code> from the following keys (if present) in <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html#sagemaker-Type-HyperParameterTrainingJobDefinition-StaticHyperParameters\">StaticsHyperParameters</a>:</p> <ul> <li> <p> <code>epochs</code> </p> </li> <li> <p> <code>numepochs</code> </p> </li> <li> <p> <code>n-epochs</code> </p> </li> <li> <p> <code>n_epochs</code> </p> </li> <li> <p> <code>num_epochs</code> </p> </li> </ul> <p>If <code>HyperbandStrategyConfig</code> is unable to infer a value for <code>MaxResource</code>, it generates a validation error. The maximum value is 20,000 epochs. All metrics that correspond to an objective metric are used to derive <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-early-stopping.html\">early stopping decisions</a>. For <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-training.html\">distributive</a> training jobs, ensure that duplicate metrics are not printed in the logs across the individual nodes in a training job. If multiple nodes are publishing duplicate or incorrect metrics, training jobs may make an incorrect stopping decision and stop the job prematurely. </p>"
15419+
}
15420+
},
15421+
"documentation":"<p>The configuration for <code>Hyperband</code>, a multi-fidelity based hyperparameter tuning strategy. <code>Hyperband</code> uses the final and intermediate results of a training job to dynamically allocate resources to utilized hyperparameter configurations while automatically stopping under-performing configurations. This parameter should be provided only if <code>Hyperband</code> is selected as the <code>StrategyConfig</code> under the <code>HyperParameterTuningJobConfig</code> API.</p>"
15422+
},
15423+
"HyperbandStrategyMaxResource":{
15424+
"type":"integer",
15425+
"min":1
15426+
},
15427+
"HyperbandStrategyMinResource":{
15428+
"type":"integer",
15429+
"min":1
15430+
},
1539415431
"IdempotencyToken":{
1539515432
"type":"string",
1539615433
"max":128,
@@ -19641,7 +19678,7 @@
1964119678
},
1964219679
"MaxConcurrentTaskCount":{
1964319680
"type":"integer",
19644-
"max":1000,
19681+
"max":5000,
1964519682
"min":1
1964619683
},
1964719684
"MaxConcurrentTransforms":{

0 commit comments

Comments
 (0)