Skip to content

Remove MultiTypeExperiment#4875

Open
mpolson64 wants to merge 3 commits intofacebook:mainfrom
mpolson64:export-D92089176
Open

Remove MultiTypeExperiment#4875
mpolson64 wants to merge 3 commits intofacebook:mainfrom
mpolson64:export-D92089176

Conversation

@mpolson64
Copy link
Contributor

Summary:
Guts MultiTypeExperiment class down to a deprecation warning, replaces all places which initialize a MultiTypeExperiment with a base Experiment, and updated type annotations. Updated storage accordingly; previously stored MultiTypeExperiments will be correctly decoded as Experiments.

As previously discussed, also deprecated metric_to_cannonical_name mapping as we intend to reexamine this design in the context of the metric_signature field in Data we added in H2 2025

Differential Revision: D92089176

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Feb 9, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 10, 2026

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

Summary:

These changes will enable us to deprecate multitypeexperment, simplifying the Ax data model ahead of storage changes.

1. In Experiment make the default_trial_type a new Key.DEFAULT_TRIAL_TYPE value instead of None
2. Move over logic for bookkeeping metric -> trial_type and runner -> trial_type mappings
3. Treat LONG_ and SHORT_RUN trial types as special cases which map to DEFAULT_TRIAL_TYPE (i.e. if a Trial has trial_type=LONG_RUN then use whichever metrics and runners are mapped to DEFAULT_TRIAL_TYPE
4. Fix tests which expect the default_trial_type of an Experiment to be None

This diff allows us to remove all isinstance(foo, MultiTypeExperiment) checks in Ax in the next diff, then to deprecate MultiTypeExperiment entirely.

Differential Revision: D91618283
Summary:

With recent changes to experiment we no longer need this bifructation.

Next diff will remove places where we construct MultiTypeExperiment, and the one after will deprecate the class entirely

Differential Revision: D91920991
Summary:

Guts MultiTypeExperiment class down to a deprecation warning, replaces all places which initialize a MultiTypeExperiment with a base Experiment, and updated type annotations. Updated storage accordingly; previously stored MultiTypeExperiments will be correctly decoded as Experiments.

As previously discussed, also deprecated metric_to_cannonical_name mapping as we intend to reexamine this design in the context of the metric_signature field in Data we added in H2 2025

Differential Revision: D92089176
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 meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant