
Interpretabilità e spiegabilità dei dati e dei modelli di machine learning
✨NUOVO: IBM Research ha un nuovo toolkit In-Context Explainability 360 (ICX360) che estende la spiegabilità a LLM, in particolare in termini di input fornito all'LLM. Dai un'occhiata! 🚀✨
Il toolkit AI Explainability 360 è una libreria open-source che supporta l'interpretabilità e la spiegabilità di dataset e modelli di machine learning. Il pacchetto Python AI Explainability 360 include un set completo di algoritmi che coprono diverse dimensioni delle spiegazioni insieme a metriche proxy di spiegabilità. Il toolkit AI Explainability 360 supporta dati tabellari, testuali, immagini e serie temporali.
L'esperienza interattiva di AI Explainability 360 offre un'introduzione graduale ai concetti e alle funzionalità, illustrando un caso d'uso di esempio per diverse tipologie di consumatori. I tutorial e i notebook di esempio offrono un'introduzione più approfondita orientata ai data scientist. È disponibile anche l'API completa.
Non esiste un unico approccio alla spiegabilità che funzioni meglio in assoluto. Ci sono molti modi di spiegare: dati rispetto a modello, spiegazione direttamente interpretabile rispetto a post hoc, locale rispetto a globale, ecc. Può quindi essere confuso capire quali algoritmi siano più appropriati per un dato caso d'uso. Per aiutarti, abbiamo creato del materiale di orientamento e un albero tassonomico che puoi consultare.
Abbiamo sviluppato il pacchetto pensando all'estensibilità. Questa libreria è ancora in fase di sviluppo. Ti invitiamo a contribuire con i tuoi algoritmi di spiegabilità, metriche e casi d'uso. Per iniziare come contributore, unisciti alla Community AI Explainability 360 su Slack richiedendo un invito qui. Rivedi le istruzioni per contribuire con codice e notebook Python qui.
AI Explainability 360 richiede versioni specifiche di molti pacchetti Python che potrebbero entrare in conflitto con altri progetti sul tuo sistema. Un gestore di ambienti virtuali è fortemente consigliato per garantire che le dipendenze possano essere installate in modo sicuro. Se hai problemi a installare il toolkit, prova prima questo.
Conda è consigliata per tutte le configurazioni, sebbene Virtualenv sia generalmente intercambiabile per i nostri scopi. Miniconda è sufficiente (vedi la differenza tra Anaconda e Miniconda se sei curioso) e può essere installata da qui se non la possiedi già.
Quindi, crea un nuovo ambiente Python basato sugli algoritmi di spiegabilità che intendi utilizzare facendo riferimento alla tabella precedente. Ad esempio, per Python 3.10, usa il seguente comando:
conda create --name aix360 python=3.10
conda activate aix360
La shell dovrebbe ora apparire come (aix360) $. Per disattivare l'ambiente, esegui:
(aix360)$ conda deactivate
Il prompt tornerà a $ o (base)$.
Nota: le versioni precedenti di conda potrebbero usare source activate aix360 e source deactivate (activate aix360 e deactivate su Windows).
Clona l'ultima versione di questo repository:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Se desideri eseguire gli esempi e i notebook tutoriali, scarica ora i dataset e posizionali nelle rispettive cartelle come descritto in aix360/data/README.md.
Quindi, spostati nella directory principale del progetto che contiene il file setup.py ed esegui:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
Il comando precedente installa i pacchetti richiesti da specifici algoritmi. Qui <algo> si riferisce alla parola chiave di installazione nella tabella precedente. Ad esempio, per installare i pacchetti necessari agli algoritmi BRCG, DIPVAE e TSICE, si potrebbe usare:
(aix360)$ pip install -e .[rbm,dipvae,tsice]
Il comando predefinito pip install . installa soltanto le dipendenze predefinite.
Nota che potresti non essere in grado di installare due algoritmi che richiedono versioni diverse di Python nello stesso ambiente (ad esempio contrastive insieme a rbm).
Se incontri problemi, prova ad aggiornare pip e setuptools e a disinstallare eventuali versioni precedenti di aix360 prima di ripetere il passaggio precedente.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Se desideri iniziare rapidamente a utilizzare il toolkit AI Explainability 360 senza clonare esplicitamente questo repository, puoi usare una di queste opzioni:
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Ad esempio, usa pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice] per installare BRCG, DIPVAE e TSICE. Potrebbe essere necessario installare cmake se non è già installato nel tuo ambiente usando conda install cmake.
(your environment)$ pip install aix360
Se segui una di queste due opzioni, dovrai scaricare separatamente i notebook disponibili nella cartella examples.
Il toolkit AI Explainability 360 è testato su Windows, MacOS e Linux. Tuttavia, se incontri ancora problemi di installazione dovuti alle dipendenze dei pacchetti, prova a installare il pacchetto corrispondente tramite conda (ad es. conda install package-name) e poi installa il toolkit seguendo i passaggi usuali. Ad esempio, se incontri problemi relativi a pygraphviz durante l'installazione, usa conda install pygraphviz e poi installa il toolkit.
Usa l'ambiente Python corretto in base alla tabella precedente.
AIX360, crea l'immagine del container dal Dockerfile usando docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, supponendo che la porta 8888 sia libera sulla tua macchina.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888La directory examples contiene una collezione eterogenea di notebook Jupyter che utilizzano AI Explainability 360 in vari modi. Sia gli esempi che i notebook tutoriali illustrano codice funzionante che usa il toolkit. I tutorial forniscono una discussione aggiuntiva che guida l'utente attraverso i vari passaggi del notebook. Vedi i dettagli su tutorial ed esempi qui.
Se utilizzi AI Explainability 360 per il tuo lavoro, ti invitiamo a:
@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}
}
Mettere una stella su questo repository.
Condividi le tue storie di successo con noi e con gli altri nella Community AI Explainability 360.
AIX360 è costruito con l'aiuto di diversi pacchetti open source. Tutti sono elencati in setup.py e alcuni di questi includono:
Consulta sia il file LICENSE sia la cartella licenza supplementare presente nella directory principale per le informazioni sulla licenza.
| Parola chiave di installazione | Explainer | Sistema operativo | Versione 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 |