
Interprétabilité et explicabilité des données et des modèles d'apprentissage automatique
✨NOUVEAU : IBM Research a publié une nouvelle boîte à outils In-Context Explainability 360 (ICX360) qui étend l'explicabilité aux LLM, notamment en ce qui concerne l'entrée fournie au LLM. Allez y jeter un œil ! 🚀✨
La boîte à outils AI Explainability 360 est une bibliothèque open source qui prend en charge l'interprétabilité et l'explicabilité des ensembles de données et des modèles d'apprentissage automatique. Le package Python AI Explainability 360 comprend un ensemble complet d'algorithmes qui couvrent différentes dimensions des explications ainsi que des métriques d'explicabilité proxy. La boîte à outils AI Explainability 360 prend en charge les données tabulaires, les données textuelles, les images et les séries temporelles.
L'expérience interactive AI Explainability 360 offre une introduction en douceur aux concepts et aux fonctionnalités en parcourant un exemple de cas d'utilisation pour différents personas de consommateurs. Les tutoriels et notebooks d'exemples offrent une introduction plus approfondie, orientée data scientist. L'API complète est également disponible.
Il n'existe pas d'approche unique de l'explicabilité qui fonctionne le mieux. Il existe de nombreuses façons d'expliquer : données vs. modèle, explication directement interprétable vs. explication post hoc, locale vs. globale, etc. Il peut donc être déroutant de déterminer quels algorithmes sont les plus appropriés pour un cas d'utilisation donné. Pour vous aider, nous avons créé du matériel d'orientation et un arbre de taxonomie qui peuvent être consultés.
Nous avons développé le package dans un souci d'extensibilité. Cette bibliothèque est encore en développement. Nous vous encourageons à apporter vos algorithmes d'explicabilité, vos métriques et vos cas d'utilisation. Pour commencer en tant que contributeur, veuillez rejoindre la communauté AI Explainability 360 sur Slack en demandant une invitation ici. Veuillez consulter les instructions pour contribuer du code et des notebooks Python ici.
AI Explainability 360 nécessite des versions spécifiques de nombreux packages Python qui peuvent entrer en conflit avec d'autres projets sur votre système. Un gestionnaire d'environnement virtuel est fortement recommandé pour garantir que les dépendances peuvent être installées en toute sécurité. Si vous rencontrez des problèmes lors de l'installation de la boîte à outils, essayez d'abord cela.
Conda est recommandé pour toutes les configurations, même si Virtualenv est généralement interchangeable pour nos besoins. Miniconda suffit (voir la différence entre Anaconda et Miniconda si vous êtes curieux) et peut être installé à partir d'ici si vous ne l'avez pas déjà.
Ensuite, créez un nouvel environnement Python en fonction des algorithmes d'explicabilité que vous souhaitez utiliser, en vous référant au tableau ci-dessus. Par exemple, pour Python 3.10, utilisez la commande suivante :
conda create --name aix360 python=3.10
conda activate aix360
Le shell devrait maintenant ressembler à (aix360) $. Pour désactiver l'environnement, exécutez :
(aix360)$ conda deactivate
L'invite de commande reviendra à $ ou (base)$.
Remarque : les versions plus anciennes de conda peuvent utiliser source activate aix360 et source deactivate (activate aix360 et deactivate sous Windows).
Clonez la dernière version de ce dépôt :
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Si vous souhaitez exécuter les exemples et les notebooks de tutoriels, téléchargez les jeux de données maintenant et placez-les dans leurs dossiers respectifs, comme décrit dans aix360/data/README.md.
Ensuite, accédez au répertoire racine du projet qui contient le fichier setup.py et exécutez :
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
La commande ci-dessus installe les packages requis par des algorithmes spécifiques. Ici, <algo> fait référence au mot-clé d'installation dans le tableau ci-dessus. Par exemple, pour installer les packages nécessaires aux algorithmes BRCG, DIPVAE et TSICE, on pourrait utiliser
(aix360)$ pip install -e .[rbm,dipvae,tsice]
La commande par défaut pip install . installe uniquement les dépendances par défaut.
Notez que vous ne pourrez peut-être pas installer deux algorithmes qui nécessitent des versions différentes de Python dans le même environnement (par exemple contrastive avec rbm).
Si vous rencontrez des problèmes, essayez de mettre à niveau pip et setuptools et de désinstaller toute version précédente d'aix360 avant de réessayer l'étape ci-dessus.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Si vous souhaitez commencer rapidement à utiliser la boîte à outils AI Explainability 360 sans cloner explicitement ce dépôt, vous pouvez utiliser l'une de ces options :
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Par exemple, utilisez pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice] pour installer BRCG, DIPVAE et TSICE. Vous devrez peut-être installer cmake s'il n'est pas déjà installé dans votre environnement, à l'aide de conda install cmake.
(your environment)$ pip install aix360
Si vous suivez l'une de ces deux options, vous devrez télécharger séparément les notebooks disponibles dans le dossier examples.
La boîte à outils AI Explainability 360 est testée sur Windows, macOS et Linux. Toutefois, si vous rencontrez toujours des problèmes d'installation dus aux dépendances de packages, essayez d'installer le package correspondant via conda (par exemple conda install package-name), puis installez la boîte à outils en suivant les étapes habituelles. Par exemple, si vous rencontrez des problèmes liés à pygraphviz lors de l'installation, utilisez conda install pygraphviz, puis installez la boîte à outils.
Veuillez utiliser le bon environnement Python en fonction du tableau ci-dessus.
AIX360, construisez l'image du conteneur à partir du Dockerfile en utilisant docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, en supposant que le port 8888 est libre sur votre machine.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888Le répertoire examples contient une collection variée de notebooks Jupyter qui utilisent AI Explainability 360 de différentes manières. Les exemples et les notebooks de tutoriels illustrent un code fonctionnel utilisant la boîte à outils. Les tutoriels fournissent des discussions supplémentaires qui guident l'utilisateur à travers les différentes étapes du notebook. Voir les détails sur les tutoriels et les exemples ici.
Si vous utilisez AI Explainability 360 pour votre travail, nous vous encourageons à
@misc{aix360-sept-2019,
title = "One Explanation Does Not Fit All: A Toolkit and Taxonomy of AI Explainability Techniques",
author = {Vijay Arya and Rachel K. E. Bellamy and Pin-Yu Chen and Amit Dhurandhar and Michael Hind
and Samuel C. Hoffman and Stephanie Houde and Q. Vera Liao and Ronny Luss and Aleksandra Mojsilovi\'c
and Sami Mourad and Pablo Pedemonte and Ramya Raghavendra and John Richards and Prasanna Sattigeri
and Karthikeyan Shanmugam and Moninder Singh and Kush R. Varshney and Dennis Wei and Yunfeng Zhang},
month = sept,
year = {2019},
url = {https://arxiv.org/abs/1909.03012}
}
Mettre une étoile sur ce dépôt.
Partager vos réussites avec nous et avec les autres membres de la communauté AI Explainability 360.
AIX360 est construit avec l'aide de plusieurs packages open source. Tous sont répertoriés dans setup.py et certains d'entre eux incluent :
Veuillez consulter à la fois le fichier LICENSE et le dossier licence supplémentaire présent dans le répertoire racine pour obtenir des informations sur la licence.
| Mot-clé d'installation | Explicateur(s) | OS | Version de Python |
|---|
| cofrnet | cofrnet | macOS, Ubuntu, Windows | 3.10 |
| contrastive | cem, cem_maf | macOS, Ubuntu, Windows | 3.7 |
| dipvae | dipvae | macOS, Ubuntu, Windows | 3.10 |
| gce | gce | macOS, Ubuntu, Windows | 3.10 |
| ecertify | ecertify | macOS, Ubuntu, Windows | 3.10 |
| imd | imd | macOS, Ubuntu | 3.10 |
| lime | lime | macOS, Ubuntu, Windows | 3.10 |
| matching | matching | macOS, Ubuntu, Windows | 3.10 |
| nncontrastive | nncontrastive | macOS, Ubuntu, Windows | 3.10 |
| profwt | profwt | macOS, Ubuntu, Windows | 3.6 |
| protodash | protodash | macOS, Ubuntu, Windows | 3.10 |
| rbm | brcg, glrm | macOS, Ubuntu, Windows | 3.10 |
| rule_induction | ripper | macOS, Ubuntu, Windows | 3.10 |
| shap | shap | macOS, Ubuntu, Windows | 3.6 |
| ted | ted | macOS, Ubuntu, Windows | 3.10 |
| tsice | tsice | macOS, Ubuntu, Windows | 3.10 |
| tslime | tslime | macOS, Ubuntu, Windows | 3.10 |
| tssaliency | tssaliency | macOS, Ubuntu, Windows | 3.10 |