-
Notifications
You must be signed in to change notification settings - Fork 406
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add TopK downselection for initial batch generation. #2636
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
couple of small nits, o/w this looks great.
@Balandat has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Other initializers use Boltzmann sampling through |
That would make sense, I'd be interested in seeing a benchmark how that affects performance of SEBO |
I would be entirely happy to not merge this if it will end up as dead code if theres a decision to swap the ic default for SEBO to use Boltzmann sampling. The motivation here was that I want to use the polytope sampling from botorch such that I can add inequality constraints to SEBO, adding a bunch of switching logic is bad in terms of maintenance there so the minimal change to keep the same behavior for how it's currently setup is to add this here. The longer term idea for the cleanest way to do it I had was based on this #2610 where SEBO default could just pass the |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2636 +/- ##
==========================================
- Coverage 99.98% 99.97% -0.02%
==========================================
Files 196 196
Lines 17365 17382 +17
==========================================
+ Hits 17363 17377 +14
- Misses 2 5 +3 ☔ View full report in Codecov by Sentry. |
Motivation
In order to get facebook/Ax#2938 over the line with initial candidate generation that obey the constraints we want to use the existing tooling within
botorch
. The hard coded logic currently in Ax uses topk to downselect the sobol samples. To make a change there that will not impact existing users we then need to implement topk downselection inbotorch
.Test Plan
TODO:
Related PRs
facebook/Ax#2938. (#2610 was initially intended to play part of this solution but then I realized that the pattern I wanted to use was conflating repeats and the batch dimension.)