Comment on page
Optimize step
An optimize step generates optimized configurations according to the defined optimization strategy. During this step, Akamas AI is used to generate such optimized configurations.
The optimize step has the following structure:
Field | Type | Value restrictions | Is required | Default value | Description |
---|---|---|---|---|---|
type | string | optimize | yes | | The type of the step, in this case, optimize |
name | string | | yes | | The name of the step |
runOnFailure | boolean | true
false | no | false | The execution policy of the step:
|
numberOfExperiments | integer | numberOfExperiments > 0 andnumberOfExperiments >= numberOfInitExperiments | yes | | The number of experiments to execute - see below |
numberOfTrials | integer | numberOfTrials > 0 | no | 1 | The number of trials to execute for each experiment |
numberOfInitExperiments | integer | numberOfInitExperiments < numberOfExperiments | no | 10 | The number of initialization experiment to execute - see below. |
maxFailedExperiments | integer | maxFailedExperiments > 1 | no | 30 | The number of experiment failures (as either workflow errors or constraint violations) to accept before the step is marked as failed |
optimizer | string | AKAMAS
SOBOL
RANDOM | no | AKAMAS | The type of optimizer to use to generate the configuration of the experiments - see below |
doNotRenderParameters | string | | no | | |
renderParameters | string | | no | |
The
optimizer
field allows selecting the desired optimizer:AKAMAS
identifies the standard AI optimizer used by AkamasRANDOM
identifies an optimization that generates configurations using random numbers
Notice that SOBOL and RANDOM optimizers do not perform initialization experiments, hence the field
numberOfInitExperiments
is ignored.The optimize step is fault-tolerant and tries to relaunch experiments on failure. Nevertheless, the step imposes a limit on the number of failed experiments: if too many experiments fail, then the entire step fails too. By default, at most 30 experiments can fail while Akamas is optimizing systems. An experiment is considered failed when it either failed to run (i.e., there is an error in the workflow) or violated some constraint.
The optimize step launches some initialization experiments (by default 10) that do not apply the AI optimizer and are used to find good configurations. By default, the step performs 10 initialization experiments.
Initialization experiments take into account bootstrapped experiments, experiments executed in preset steps, and baseline experiments.
The following snippet shows an optimization step that runs 50 experiments using the SOBOL optimizer:
1
name: "my_optimize" # name of the step
2
type: "optimize" # type of the step (optimize)
3
optimizer: "SOBOL"
4
numberOfExperiments: 50 # amount of experiments to execute
5
numberOfTrials: 2 # amount of trials for each experiment
Last modified 4mo ago