While Ax can be used in as a fully automated service, generating and deploying candidates Ax can be also used in a trial-by-trial fashion, allowing for human oversight.
Typically, human intervention in Ax is necessary when there are clear tradeoffs between multiple metrics of interest. Condensing multiple outcomes of interest into a single scalar quantity can be really challenging. Instead, it can be useful to specify an objective and constraints, and tweak these based on the information from the experiment.
To facilitate this, Ax provides the following key features:
In this tutorial, we'll demonstrate how Ax enables users to explore these tradeoffs. With an understanding of the tradeoffs present in our data, we'll then make use of the constrained optimization utilities to generate candidates from multiple different optimization objectives, and create a conglomerate batch, with all of these candidates in together in one trial.
from ax import Data, Metric, OptimizationConfig, Objective, OutcomeConstraint, ComparisonOp, json_load from ax.modelbridge.cross_validation import cross_validate from ax.modelbridge.factory import get_GPEI from ax.plot.diagnostic import tile_cross_validation from ax.plot.scatter import plot_multiple_metrics, tile_fitted from ax.utils.notebook.plotting import render, init_notebook_plotting import pandas as pd init_notebook_plotting()
[INFO 04-26 21:42:39] ax.utils.notebook.plotting: Injecting Plotly library into cell. Do not overwrite or delete cell.