-
Notifications
You must be signed in to change notification settings - Fork 457
Description
Hi All,
Recently, I've been trying to re-implement ALEBO in BOTorch, to give me greater control over each step in the BO loop.
I now have a working prototype (after following the BOTorch tutorials), but I can't seem to get comparable performance to the ALEBO implementation in AX.
Here is a link to my implementation:
https://github.com/shaheenahmedc/ALEBO_BOTorch/blob/main/ALEBO%20re-implementation%20-%20BOTorch%20.ipynb
I'm testing performance on the Branin_100 function, which I've inherited from botorch.test_functions.synthetic.SyntheticTestFunction. Details are in the attached notebook.
While ALEBO can reach values of ~ 2 on Branin_100 in around 20 sample points (5 random, 15 sequential), my implementation usually only reaches values of 40 or so, for the same number of iterations.
Also, I run into memory issues sooner with my implementation. At 70 sample points (50 random, 20 sequential), the ALEBO AX implementation works great, with no memory issues, but my implementation asks for too much memory, and breaks (around the alebo_acqf_optimizer usually, if not always).
My questions are:
- Have I re-implemented ALEBO correctly in BOTorch, in the above notebook?
- Can you see why I may not be getting the same performance as ALEBO in AX?
- Is there any reason I'm running out of memory sooner than the AX implementation?
- Have I used the
ALEBOInitializer,ALEBOGP,get_fitted_model,alebo_acqf_optimizerfrom the ALEBO AX code correctly? - Are there any other parts of the ALEBO AX code which you think could help in this BOTorch re-implementation?
- I can sometimes get Cholesky errors. I tried increasing the noise to 1, which seems to catch most of them. Can you see any reason why my implementation might be causing these?
- Do I need to normalise the outputs, as done in the notebook?
Perhaps the notebook can help others who are looking to implement embedding methods for HDBO in BOTorch. Keen to get feedback on this if so.
System Information:
BOTorch = 0.3.3
GPyTorch = 1.3.1
Torch = 1.7.1
Windows 10
Best wishes,
Shaheen