kedro-viz
kedro-viz copied to clipboard
Allow users to see parameter configs from past runs in experiment tracking
Description
It seems suboptimal we don't give users a way to view their parameter configurations from Kedro runs in experiment tracking. They could conceivably do this via GitHub if they're continually committing their changes, though if done that way it's more arduous and isn't done via Viz. And if they don't do that, then they'll lose any ability to see these values.
Idea initially conceived and discussed with @samhiscoxqb and @marianansilva.
Problem statement
As a user, I want to be able to see in experiment tracking what my parameter value was for a run sometime in the past, especially when the parameter wasn’t committed to git.
Context
I propose something like the following, where we add a Run Config metadata field:

Clicking on that field would open a modal, where the user would be able to view their parameters for that run (more nicely formatted in the future with syntax highlighting):

Possible Implementation
Kedro would have to save a (versioned?) parameters file somewhere at the time of performing a kedro run. The contents of that file would then need to be read and passed via the run_metadata query to the frontend, where we display it.
Possible Alternatives
Not so much an alternative, and instead an idea for a future version:
- v1 (described above): show the user what their config was when that run was made. Show as a link in the metadata are and open a modal with YML
- v2: compare two or three configs side by side and see what you changed. This diffing is already done by users, just not in Viz, since we don't offer that functionality.
Checklist
- [x] Include labels so that we can categorise your feature request
There needs to be a mechanism for the user re-run with those same commands. Either generating the CLI command or in the UI
To do on the Framework side:
- [ ] Decide on the best mechanism of tracking the parameters. Should we version
parameters.ymland essentially treat it as a dataset or should this data be stored in the session store?
Thought: what happens if there's a folder of multiple parameter.yml files?
@tynandebold Kedro (within the same env) will allow this and merge at runtime, but error if they have the same keys.
Further user demand for feature https://kedro-org.slack.com/archives/C03RKP2LW64/p1679922405309659
Closing this. We'll reopen this ticket if we look at this again downstream.