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

Consolidate benchmark methods and give them a clearer naming system #1878

Closed
wants to merge 1 commit into from

Conversation

esantorella
Copy link
Contributor

Summary:

  • No longer have "default" like "SOBOL+BOTORCH_MODULAR::default"; instead, construct method from components (e.g. "SOBOL+BOTORCH_MODULAR::SingleTaskGP_qLogNoisyExpectedImprovement") and test that the benchmarks match defaults.
  • Remove non-Log EI benchmarks, since these have all been migrated.
  • Added a benchmark method registry like the benchmark problem registry to make it easier to track what's what

Defining benchmark methods explicitly in terms of their components, without reference to defaults, has a few benefits:

  1. One can't accidentally test the same method multiple times;

  2. There is a 1:1 mapping between method name and functionality rather than many:many, making it easier to track the performance of methods, and

  3. tests will prevent benchmarks from drifting apart from default behavior (in MBM or CGS) over time.

Differential Revision: D49566866

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

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

@codecov-commenter
Copy link

codecov-commenter commented Sep 27, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (7a8069b) 94.56% compared to head (5af2a1a) 94.58%.

❗ Current head 5af2a1a differs from pull request most recent head fe664ee. Consider uploading reports for the commit fe664ee to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1878      +/-   ##
==========================================
+ Coverage   94.56%   94.58%   +0.02%     
==========================================
  Files         460      458       -2     
  Lines       43531    43502      -29     
==========================================
- Hits        41164    41147      -17     
+ Misses       2367     2355      -12     
Files Coverage Δ
ax/benchmark/benchmark.py 97.50% <100.00%> (+0.13%) ⬆️
ax/benchmark/methods/modular_botorch.py 100.00% <100.00%> (ø)
ax/benchmark/tests/test_benchmark.py 100.00% <100.00%> (ø)
ax/benchmark/tests/test_methods.py 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

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

@facebook-github-bot
Copy link
Contributor

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

…acebook#1878)

Summary:

* No longer have "default" like "SOBOL+BOTORCH_MODULAR::default"; instead, construct method from components (e.g. "SOBOL+BOTORCH_MODULAR::SingleTaskGP_qLogNoisyExpectedImprovement") and *test* that the benchmarks match defaults.
* Remove non-Log EI benchmarks, since these have all been migrated.
* Define MBM benchmarks more concisely and programmatically.

Defining benchmark methods explicitly in terms of their components, without reference to defaults, has a few benefits:

1) One can't accidentally test the same method multiple times;

2) There is a 1:1 mapping between method name and functionality rather than many:many, making it easier to track the performance of methods, and

3) tests will prevent benchmarks from drifting apart from default behavior (in MBM or CGS) over time.

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

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

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 636a701.

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