Hi everybody,
I tried to run Ax for my use case. I have 128 hyperparameters. Unfortunately, sampling new configurations takes a very long time. Here, I did a quick breakdown of what costs how much time:
sobol = Models.SOBOL(exp.search_space)
for i in range(5):
exp.new_trial(generator_run=sobol.gen(1))
=> 0.23s
eval_data = exp.eval()
=> 1.46s
gpei = Models.GPEI(experiment=exp, data=eval_data)
=> 0.26s
batch = exp.new_trial(generator_run=gpei.gen(1))
=> 390.18s
I would be happy if any of you had some hints on how to speed up the sampling. Is there a better model or sampling strategy to speed things up here?
Thank you for your help.
Best regards,
Felix
Hi @felixhandte ! 128 hyperparameters is a lot -- way more than our standard GPEI algorithm can handle comfortably. cc @bletham , @Balandat , who might be able to discuss alternate approaches with you.
Hi @ldworkin,
thank you for your quick response! I would appreciate any ideas on alternative approaches :)
Best regards,
Felix
Yeah d=128 is much too high for usual BayesOpt. I see three possible options:
Re TurBO, we have #474 open - though we haven't found the time to work on this much recently.
Thank you for your advice. As I have quite some categorical hyperparameters, I will check out TurBO first :)
Most helpful comment
Re TurBO, we have #474 open - though we haven't found the time to work on this much recently.