zenml
zenml copied to clipboard
Add example of XAI step
Describe changes
I added an explainable AI step using FoXAI framework.
PR is intended to start a discussion on how to add XAI integration to zenml. The result of the XAI step is a list of matrices representing the contribution of individual elements, such as pixels in an image, to the model decision, and matplotlib.figure.Figure
objects. This is just an example of the data format that can be an artifact of this step.
Pre-requisites
Please ensure you have done the following:
- [x] I have read the CONTRIBUTING.md document.
- [ ] If my change requires a change to docs, I have updated the documentation accordingly.
- [ ] If I have added an integration, I have updated the integrations table and the corresponding website section.
- [ ] I have added tests to cover my changes.
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Other (add details above)
I believe there are 2 use cases of using XAI in zenml.
- Track explanations for runs, just like experiment trackers (something like in the example on the visualization page)
- Resume a finished pipeline and explain the model against new data samples or a new algorithm/configuration of explainers to see if it gives valid explanations.
If you see other scenarios of use let's start a discussion.
Hey @adamwawrzynski, sorry for the super late reply. We've been internally rethinking how we will go about maintaining our examples which also affects this PR: In the future, we will maintain a small set of much more involved end-to-end use cases in this repository. Our current examples, which are focused on single integrations/tools will be used as integration tests, and any user-relevant information will be included in the docs or displayed in a ZenML Hub plugin.
In my opinion, a hub plugin would be the best way to showcase your work here. Would it be okay for you to either
- create your own plugin and upload it to the hub?
- make a PR using the same files as this one on the ZenML hub plugins repo, from which point on we can publish the plugin?
Hey @adamwawrzynski , surfacing this again to make sure we're on the same page. do you need any help to open the PR on the sister repo?
Closing due to inactivity. Please feel free to open a new PR if this is still relevant! Thank you in any case for the contribution!