
Interpretabilidad y explicabilidad de datos y modelos de aprendizaje automático
✨NUEVO: IBM Research tiene un nuevo kit de herramientas In-Context Explainability 360 (ICX360) que extiende la explicabilidad a los LLM, específicamente en cuanto a la entrada proporcionada al LLM. ¡Échale un vistazo! 🚀✨
El kit de herramientas AI Explainability 360 es una biblioteca de código abierto que permite la interpretabilidad y explicabilidad de conjuntos de datos y modelos de aprendizaje automático. El paquete de Python AI Explainability 360 incluye un conjunto completo de algoritmos que cubren diferentes dimensiones de las explicaciones junto con métricas proxy de explicabilidad. El kit de herramientas AI Explainability 360 es compatible con datos tabulares, texto, imágenes y series temporales.
La experiencia interactiva de AI Explainability 360 ofrece una introducción sencilla a los conceptos y capacidades mediante un caso de uso de ejemplo para diferentes perfiles de consumidores. Los tutoriales y cuadernos de ejemplo ofrecen una introducción más profunda, orientada a científicos de datos. La API completa también está disponible.
No existe un único enfoque de explicabilidad que funcione mejor. Hay muchas formas de explicar: datos frente a modelo, directamente interpretable frente a explicación post hoc, local frente a global, etc. Por lo tanto, puede resultar confuso determinar qué algoritmos son más apropiados para un caso de uso determinado. Para ayudar, hemos creado material de orientación y un árbol de taxonomía que pueden consultarse.
Hemos desarrollado el paquete pensando en la extensibilidad. Esta biblioteca aún está en desarrollo. Te animamos a contribuir con tus algoritmos de explicabilidad, métricas y casos de uso. Para empezar como colaborador, únete a la Comunidad AI Explainability 360 en Slack solicitando una invitación aquí. Revisa las instrucciones para contribuir con código y notebooks de Python aquí.
AI Explainability 360 requiere versiones específicas de muchos paquetes de Python que pueden entrar en conflicto con otros proyectos de tu sistema. Se recomienda encarecidamente un gestor de entornos virtuales para asegurar que las dependencias puedan instalarse de forma segura. Si tienes problemas para instalar el kit de herramientas, prueba esto primero.
Conda se recomienda para todas las configuraciones, aunque Virtualenv es generalmente intercambiable para nuestros propósitos. Miniconda es suficiente (consulta la diferencia entre Anaconda y Miniconda si tienes curiosidad) y puede instalarse desde aquí si aún no lo tienes.
Luego, crea un nuevo entorno de Python basado en los algoritmos de explicabilidad que deseas usar consultando la tabla anterior. Por ejemplo, para Python 3.10, usa el siguiente comando:
conda create --name aix360 python=3.10
conda activate aix360
El shell ahora debería verse como (aix360) $. Para desactivar el entorno, ejecuta:
(aix360)$ conda deactivate
El prompt volverá a $ o (base)$.
Nota: Las versiones antiguas de conda pueden usar source activate aix360 y source deactivate (activate aix360 y deactivate en Windows).
Clona la última versión de este repositorio:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Si deseas ejecutar los ejemplos y los tutoriales, descarga ahora los conjuntos de datos y colócalos en sus respectivas carpetas como se describe en aix360/data/README.md.
Luego, navega al directorio raíz del proyecto que contiene el archivo setup.py y ejecuta:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
El comando anterior instala los paquetes requeridos por algoritmos específicos. Aquí <algo> se refiere a la palabra clave de instalación en la tabla anterior. Por ejemplo, para instalar los paquetes necesarios para los algoritmos BRCG, DIPVAE y TSICE, se podría usar
(aix360)$ pip install -e .[rbm,dipvae,tsice]
El comando por defecto pip install . instala únicamente las dependencias predeterminadas.
Ten en cuenta que es posible que no puedas instalar dos algoritmos que requieran diferentes versiones de Python en el mismo entorno (por ejemplo, contrastive junto con rbm).
Si tienes algún problema, intenta actualizar pip y setuptools y desinstala cualquier versión anterior de aix360 antes de intentar el paso anterior nuevamente.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Si deseas comenzar a usar rápidamente el kit de herramientas AI Explainability 360 sin clonar explícitamente este repositorio, puedes usar una de estas opciones:
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Por ejemplo, usa pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice] para instalar BRCG, DIPVAE y TSICE. Es posible que necesites instalar cmake si aún no está instalado en tu entorno usando conda install cmake.
(your environment)$ pip install aix360
Si sigues cualquiera de estas dos opciones, necesitarás descargar los notebooks disponibles en la carpeta examples por separado.
El kit de herramientas AI Explainability 360 está probado en Windows, MacOS y Linux. Sin embargo, si aún tienes problemas de instalación debido a dependencias de paquetes, intenta instalar el paquete correspondiente a través de conda (por ejemplo, conda install package-name) y luego instala el kit siguiendo los pasos habituales. Por ejemplo, si tienes problemas relacionados con pygraphviz durante la instalación, usa conda install pygraphviz y luego instala el kit.
Usa el entorno de Python adecuado según la tabla anterior.
AIX360, construye la imagen del contenedor a partir del Dockerfile usando docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, asumiendo que el puerto 8888 está libre en tu máquina.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888El directorio examples contiene una colección diversa de notebooks de Jupyter que usan AI Explainability 360 de varias maneras. Tanto los ejemplos como los tutoriales ilustran código funcional usando el kit. Los tutoriales proporcionan discusión adicional que guía al usuario a través de los distintos pasos del notebook. Consulta los detalles sobre tutoriales y ejemplos aquí.
Si estás usando AI Explainability 360 para tu trabajo, te animamos 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}
}
Pon una estrella a este repositorio.
Comparte tus historias de éxito con nosotros y con otros en la Comunidad AI Explainability 360.
AIX360 se construye con la ayuda de varios paquetes de código abierto. Todos están listados en setup.py y algunos de ellos incluyen:
Consulta tanto el archivo LICENSE como la carpeta licencia complementaria presente en el directorio raíz para obtener información sobre la licencia.
| Palabra clave de instalación | Explicador(es) | SO | Versión 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 |