-
Notifications
You must be signed in to change notification settings - Fork 346
Description
Motivation
In domain there are often times where the experiment that is conducted differs from the experiment that was requested in a known way. For example often in the material science domain we might request a given set of ingredients to be mixed and then when these ingredients are measured out the actual weights might differ from the requested weights. It would be nice if there was a way within an Arm to capture this idea of "planned" vs "executed" parameters.
Describe the solution you'd like to see implemented in Ax.
In Ax I think that the way to implement this would be to re-plumb most of the logic to grab the "executed" parameters where if the executed parameters are None
it will default to the "planned" parameters. We would then also need to add a method that would allow the user to assign the "executed" parameters to the trial in a similar manner to ax_client.complete_trial(...)
it could even be added to the signature for the complete_trial
method.
I believe that this type of implementation would essentially make zero difference to users who didn't want to make use of this feature.
I am happy to implement this if seen as a feature worth upstreaming.
Describe any alternatives you've considered to the above solution.
I can go into the Arm object and simply overwrite data after the fact but this discards what might be valuable information about the differences between what was planned and what was carried out that are of great interest when tracking operational processes. To tie it back to the Botorch/Ax ecosystem applying a method such as https://arxiv.org/abs/2202.07549 requires that we have a good noise model and having a good noise model requires us to track our input noise.
Is this related to an existing issue in Ax or another repository? If so please include links to those Issues here.
No response
Code of Conduct
- I agree to follow Ax's Code of Conduct