
Interpretierbarkeit und Erklärbarkeit von Daten und Machine-Learning-Modellen
✨NEU: IBM Research hat ein neues In-Context Explainability 360 (ICX360) Toolkit veröffentlicht, das die Erklärbarkeit auf LLMs ausweitet, insbesondere im Hinblick auf die Eingabe, die dem LLM gegeben wird. Bitte schauen Sie es sich an! 🚀✨
Das AI Explainability 360 Toolkit ist eine Open-Source-Bibliothek, die die Interpretierbarkeit und Erklärbarkeit von Datensätzen und Modellen des maschinellen Lernens unterstützt. Das Python-Paket AI Explainability 360 enthält eine umfassende Sammlung von Algorithmen, die verschiedene Dimensionen von Erklärungen zusammen mit Proxy-Erklärbarkeitsmetriken abdecken. Das AI Explainability 360 Toolkit unterstützt tabellarische Daten, Text, Bilder und Zeitreihendaten.
Die interaktive Erfahrung von AI Explainability 360 bietet eine sanfte Einführung in die Konzepte und Fähigkeiten, indem ein Beispiel-Anwendungsfall für verschiedene Verbraucher-Personas durchgegangen wird. Die Tutorials und Beispiel-Notebooks bieten eine tiefere, auf Datenwissenschaftler ausgerichtete Einführung. Die vollständige API ist ebenfalls verfügbar.
Es gibt keinen einzigen Ansatz zur Erklärbarkeit, der am besten funktioniert. Es gibt viele Möglichkeiten zu erklären: Daten vs. Modell, direkt interpretierbar vs. Post-hoc-Erklärung, lokal vs. global usw. Es kann daher verwirrend sein, herauszufinden, welche Algorithmen für einen bestimmten Anwendungsfall am geeignetsten sind. Um zu helfen, haben wir einige Leitfäden und einen Taxonomiebaum erstellt, die konsultiert werden können.
Wir haben das Paket mit Blick auf Erweiterbarkeit entwickelt. Diese Bibliothek befindet sich noch in der Entwicklung. Wir ermutigen Sie, Ihre Erklärbarkeitsalgorithmen, Metriken und Anwendungsfälle beizutragen. Um als Mitwirkender zu starten, treten Sie bitte der AI Explainability 360 Community auf Slack bei, indem Sie hier eine Einladung anfordern. Bitte lesen Sie die Anweisungen zum Beitragen von Code und Python-Notebooks hier.
AI Explainability 360 erfordert bestimmte Versionen vieler Python-Pakete, die mit anderen Projekten auf Ihrem System kollidieren können. Ein Virtual-Environment-Manager wird dringend empfohlen, um sicherzustellen, dass Abhängigkeiten sicher installiert werden können. Wenn Sie Probleme bei der Installation des Toolkits haben, versuchen Sie dies zuerst.
Conda wird für alle Konfigurationen empfohlen, obwohl Virtualenv für unsere Zwecke im Allgemeinen austauschbar ist. Miniconda ist ausreichend (siehe den Unterschied zwischen Anaconda und Miniconda, falls Sie neugierig sind) und kann von hier installiert werden, falls Sie es nicht bereits haben.
Erstellen Sie dann eine neue Python-Umgebung basierend auf den Erklärbarkeitsalgorithmen, die Sie verwenden möchten, anhand der obigen Tabelle. Verwenden Sie beispielsweise für Python 3.10 den folgenden Befehl:
conda create --name aix360 python=3.10
conda activate aix360
Die Shell sollte nun wie (aix360) $ aussehen. Um die Umgebung zu deaktivieren, führen Sie Folgendes aus:
(aix360)$ conda deactivate
Die Eingabeaufforderung kehrt zu $ oder (base)$ zurück.
Hinweis: Ältere Versionen von Conda verwenden möglicherweise source activate aix360 und source deactivate (activate aix360 und deactivate unter Windows).
Klonen Sie die neueste Version dieses Repositorys:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Wenn Sie die Beispiele und Tutorial-Notebooks ausführen möchten, laden Sie die Datensätze jetzt herunter und platzieren Sie sie in den jeweiligen Ordnern, wie in aix360/data/README.md beschrieben.
Navigieren Sie dann zum Stammverzeichnis des Projekts, das die Datei setup.py enthält, und führen Sie Folgendes aus:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
Der obige Befehl installiert Pakete, die von bestimmten Algorithmen benötigt werden. Hier bezieht sich <algo> auf das Installations-Schlüsselwort in der obigen Tabelle. Um beispielsweise die von den BRCG-, DIPVAE- und TSICE-Algorithmen benötigten Pakete zu installieren, könnte man
(aix360)$ pip install -e .[rbm,dipvae,tsice]
verwenden.
Der Standardbefehl pip install . installiert nur die Standardabhängigkeiten.
Beachten Sie, dass Sie möglicherweise nicht zwei Algorithmen installieren können, die unterschiedliche Python-Versionen in derselben Umgebung erfordern (z. B. contrastive zusammen mit rbm).
Wenn Sie auf Probleme stoßen, versuchen Sie bitte, pip und setuptools zu aktualisieren und alle früheren Versionen von aix360 zu deinstallieren, bevor Sie den obigen Schritt erneut versuchen.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Wenn Sie das AI Explainability 360 Toolkit schnell verwenden möchten, ohne dieses Repository explizit zu klonen, können Sie eine dieser Optionen verwenden:
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Verwenden Sie beispielsweise pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice], um BRCG, DIPVAE und TSICE zu installieren. Möglicherweise müssen Sie cmake installieren, falls es in Ihrer Umgebung nicht bereits installiert ist, mit conda install cmake.
(your environment)$ pip install aix360
Wenn Sie eine dieser beiden Optionen verwenden, müssen Sie die im Ordner examples verfügbaren Notebooks separat herunterladen.
Das AI Explainability 360 Toolkit wird auf Windows, MacOS und Linux getestet. Wenn Sie dennoch auf Installationsprobleme aufgrund von Paketabhängigkeiten stoßen, versuchen Sie bitte, das entsprechende Paket über Conda zu installieren (z. B. conda install package-name) und installieren Sie dann das Toolkit mit den üblichen Schritten. Wenn Sie beispielsweise während der Installation Probleme mit pygraphviz haben, verwenden Sie conda install pygraphviz und installieren Sie dann das Toolkit.
Bitte verwenden Sie die richtige Python-Umgebung basierend auf der obigen Tabelle.
AIX360 das Container-Image aus der Dockerfile mit docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, vorausgesetzt, Port 8888 ist auf Ihrem Rechner frei.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888 auf Ihrem Rechner auf die Beispiel-Tutorials zu.Das Verzeichnis examples enthält eine vielfältige Sammlung von Jupyter-Notebooks,
die AI Explainability 360 auf verschiedene Weise verwenden. Sowohl Beispiele als auch Tutorial-Notebooks veranschaulichen
funktionierenden Code mit dem Toolkit. Tutorials bieten zusätzliche Diskussionen, die den Benutzer
durch die verschiedenen Schritte des Notebooks führen. Details zu
Tutorials und Beispielen finden Sie hier.
Wenn Sie AI Explainability 360 für Ihre Arbeit verwenden, empfehlen wir Ihnen,
@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}
}
Ein Stern auf dieses Repository zu setzen.
Ihre Erfolgsgeschichten mit uns und anderen in der AI Explainability 360 Community zu teilen.
AIX360 wird mit Hilfe mehrerer Open-Source-Pakete erstellt. Alle sind in setup.py aufgeführt und einige davon sind:
Bitte lesen Sie sowohl die LICENSE-Datei als auch den Ordner ergänzende Lizenz im Stammverzeichnis für Lizenzinformationen.
| Installations-Schlüsselwort | Explainer(s) | OS | Python-Version |
|---|
| 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 |