Skip to content

Re-implementing ALEBO in BOTorch  #690

@shaheenahmedc

Description

@shaheenahmedc

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:

  1. Have I re-implemented ALEBO correctly in BOTorch, in the above notebook?
  2. Can you see why I may not be getting the same performance as ALEBO in AX?
  3. Is there any reason I'm running out of memory sooner than the AX implementation?
  4. Have I used the ALEBOInitializer , ALEBOGP, get_fitted_model, alebo_acqf_optimizer from the ALEBO AX code correctly?
  5. Are there any other parts of the ALEBO AX code which you think could help in this BOTorch re-implementation?
  6. 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?
  7. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions