Skip to content
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

Remove MultiFidelityAcquisition #2520

Closed
wants to merge 1 commit into from

Conversation

saitcakmak
Copy link
Contributor

Summary:
I believe this was originally designed based on the legacy MF models, but it appears to be incompatible with what MBM evolved to be. Here are a few reasons for removing it:

  • Some of kwargs that are produced by MultiFidelityAcquisition.compute_model_dependencies (e.g., cost_aware_utility) are not accepted by the MFKG input constructor.
  • The main kwargs that are needed by the MF acquisition functions (cost_aware_utility, project, expand) are readily constructed by the MF input constructors: https://github.com/pytorch/botorch/blob/main/botorch/acquisition/input_constructors.py#L1221
  • We strongly discourage subclassing MBM components and rather encourage expanding the base components to support new use cases. In this case, the MF input constructors seem to have replaced what MultiFidelityAcquisition originally aimed to do, while being compatible with the design philosophy.

Discovered while investigating #2514

Differential Revision: D58560934

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jun 13, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58560934

Summary:

I believe this was originally designed based on the legacy MF models, but it appears to be incompatible with what MBM evolved to be. Here are a few reasons for removing it:
- Some of kwargs that are produced by `MultiFidelityAcquisition.compute_model_dependencies` (e.g., `cost_aware_utility`) are not accepted by the MFKG input constructor.
- The main kwargs that are needed by the MF acquisition functions (`cost_aware_utility`, `project`, `expand`) are readily constructed by the MF input constructors: https://github.com/pytorch/botorch/blob/main/botorch/acquisition/input_constructors.py#L1221
- We strongly discourage subclassing MBM components  and rather encourage expanding the base components to support new use cases. In this case, the MF input constructors seem to have replaced what `MultiFidelityAcquisition` originally aimed to do, while being compatible with the design philosophy.

Discovered while investigating facebook#2514

Differential Revision: D58560934
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58560934

@codecov-commenter
Copy link

codecov-commenter commented Jun 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.20%. Comparing base (1139ea0) to head (e6b8731).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2520      +/-   ##
==========================================
- Coverage   95.21%   95.20%   -0.01%     
==========================================
  Files         485      483       -2     
  Lines       47238    47139      -99     
==========================================
- Hits        44978    44881      -97     
+ Misses       2260     2258       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in b1d3684.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants