MLOS icon indicating copy to clipboard operation
MLOS copied to clipboard

Multi-objective optimization configs no longer allow overrides via globals

Open bpkroth opened this issue 1 year ago • 2 comments
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?

bpkroth avatar Aug 19 '24 19:08 bpkroth