MLOS
MLOS copied to clipboard
Multi-objective optimization configs no longer allow overrides via globals
trafficstars
Prior to #725 we could specify something like this in a reusable optimizer config:
// MLOS Core optimizer
{
"class": "mlos_bench.optimizers.MlosCoreOptimizer",
// Note: these variables can be overridden by the experiment global config variables.
"config": {
// Override the default backend optimizer choice:
// "optimizer_type": "FLAML",
// "optimizer_type": "SMAC",
// Optionally reduce the high dimension search space using LlamaTune.
// "space_adapter_type": "LLAMATUNE",
// "space_adapter_type": null,
"optimization_target": "99th Percentile Latency (microseconds)",
"optimization_direction": "min",
"max_suggestions": 100
}
}
and then override it in the --globals like so:
{
"optimization_target": "Throughput",
"optimization_direction": "max"
}
Now, optimization targets are specified like so:
"optimization_targets": {
"99th Percentile Latency (microseconds)": "min",
// ...
}
That makes it harder to overwrite them with globals and leads to the need to specify additional config files rather than keeping them in experiment files. Do we have a good solution for this?