Skip to content

Conversation

@flinder
Copy link
Contributor

@flinder flinder commented Jan 30, 2026

Summary:
D90397011 migrated from the deprecated AxClient to the new Client API. However,
the migration lost the minimize=True setting for the objective.

In the new Ax API, the objective string convention is:

  • No prefix = maximize (default)
  • "-" prefix = minimize

The old code had ObjectiveProperties(minimize=True), but the new code used
objective="normalized_entropy" without the minus sign, causing Ax to maximize
instead of minimize. This resulted in selecting parameters with the worst
(highest) normalized entropy instead of the best (lowest).

This explains customer reports of bad parameters and MCBoost returning 0 rounds
since the Jan 13th landing of D90397011.

Differential Revision: D91915530

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jan 30, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 30, 2026

@flinder has exported this pull request. If you are a Meta employee, you can view the originating Diff in D91915530.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@956477d). Learn more about missing BASE report.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #202   +/-   ##
=======================================
  Coverage        ?   94.92%           
=======================================
  Files           ?        9           
  Lines           ?     1753           
  Branches        ?        0           
=======================================
  Hits            ?     1664           
  Misses          ?       89           
  Partials        ?        0           
Flag Coverage Δ
unittests 94.92% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Summary:

Add a `use_model_predictions` parameter to `tune_mcgrad_params` with `False` as
the default. When False, returns the actual observed best trial parameters.
When True, uses the Bayesian surrogate model's predicted best parameters.

The default is False because with few tuning trials, the surrogate model has
high uncertainty and may predict a different optimum than the best observed
trial. Users who want the model-predicted best can set this to True.

Reviewed By: Lorenzo-Perini

Differential Revision: D91884588
Summary:
D90397011 migrated from the deprecated AxClient to the new Client API. However,
the migration lost the `minimize=True` setting for the objective.

In the new Ax API, the objective string convention is:
- No prefix = maximize (default)
- "-" prefix = minimize

The old code had `ObjectiveProperties(minimize=True)`, but the new code used
`objective="normalized_entropy"` without the minus sign, causing Ax to maximize
instead of minimize. This resulted in selecting parameters with the worst
(highest) normalized entropy instead of the best (lowest).

This explains customer reports of bad parameters and MCBoost returning 0 rounds
since the Jan 13th landing of D90397011.

Reviewed By: leepface, TaXxER

Differential Revision: D91915530
@meta-codesync
Copy link

meta-codesync bot commented Jan 30, 2026

This pull request has been merged in 2986799.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants