algorithmic-efficiency icon indicating copy to clipboard operation
algorithmic-efficiency copied to clipboard

Allow self-tuning submissions to specify `dropout_rate` and `aux_dropout_rate`

Open Niccolo-Ajroldi opened this issue 8 months ago • 2 comments

Original issue

Self-tuning submissions use default values for dropout_rate and aux_dropout_rate (see #753). We want to allow them to specify custom values for these hyperparameters.

Solution

Allow self-tuning submission to provide a JSON file specifying values for these hyperparameters. The JSON file should look like this:

{
    "dropout_rate": 0.1,
    "aux_dropout_rate": 0.2,
}

This is passed to submission_runner.py through --tuning_search_space.

We read from such JSON file, and check that:

  1. it specifies a value only for the allowed hyperparameters, and that
  2. it specifies one single value for each of them.

We then proceed to call train_once with the correspondent fixed hyperparameters.

Discussion

I think this solution is pretty clean, I am just dubious about passing the JSON file path trough tuning_search_space., as this might create some confusion. Perhaps we shall change the name of this flag, or we can add a different flag?

Fix #753

Niccolo-Ajroldi avatar Mar 12 '25 17:03 Niccolo-Ajroldi

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

github-actions[bot] avatar Mar 12 '25 17:03 github-actions[bot]

I agree with you, I think we should add an additional flag that is optional for self-tuning and disallowed for external-tuning ruleset (so raise an error if the value of the flag is not none for external-tuning). Perhaps we can call this flag self_tuning_init_hyperparemeters_config? Maybe that is a bit long, do you have any suggestions for names?

priyakasimbeg avatar Mar 13 '25 16:03 priyakasimbeg

Underlying issues addressed in of https://github.com/mlcommons/algorithmic-efficiency/pull/875

priyakasimbeg avatar Jun 26 '25 19:06 priyakasimbeg