
Interpretabilidade e explicabilidade de dados e modelos de aprendizado de máquina
✨NOVO: A IBM Research tem um novo toolkit In-Context Explainability 360 (ICX360) que estende a explicabilidade para LLMs, especificamente em termos da entrada fornecida ao LLM. Confira! 🚀✨
O toolkit AI Explainability 360 é uma biblioteca de código aberto que oferece suporte à interpretabilidade e explicabilidade de conjuntos de dados e modelos de aprendizado de máquina. O pacote Python do AI Explainability 360 inclui um conjunto abrangente de algoritmos que cobrem diferentes dimensões de explicações, juntamente com métricas proxy de explicabilidade. O toolkit AI Explainability 360 oferece suporte a dados tabulares, texto, imagens e séries temporais.
A experiência interativa do AI Explainability 360 fornece uma introdução suave aos conceitos e capacidades, percorrendo um exemplo de caso de uso para diferentes personas de consumidores. Os tutoriais e cadernos de exemplos oferecem uma introdução mais aprofundada, orientada a cientistas de dados. A API completa também está disponível.
Não existe uma única abordagem de explicabilidade que funcione melhor. Há muitas maneiras de explicar: dados vs. modelo, diretamente interpretável vs. explicação post hoc, local vs. global, etc. Portanto, pode ser confuso descobrir quais algoritmos são mais adequados para um determinado caso de uso. Para ajudar, criamos um material de orientação e uma árvore de taxonomia que podem ser consultados.
Desenvolvemos o pacote com a extensibilidade em mente. Esta biblioteca ainda está em desenvolvimento. Encorajamos você a contribuir com seus algoritmos de explicabilidade, métricas e casos de uso. Para começar como contribuidor, junte-se à Comunidade AI Explainability 360 no Slack solicitando um convite aqui. Revise as instruções para contribuir com código e cadernos Python aqui.
O AI Explainability 360 requer versões específicas de muitos pacotes Python que podem conflitar com outros projetos no seu sistema. Um gerenciador de ambiente virtual é fortemente recomendado para garantir que as dependências possam ser instaladas com segurança. Se você tiver problemas para instalar o toolkit, tente isto primeiro.
O Conda é recomendado para todas as configurações, embora o Virtualenv seja geralmente intercambiável para os nossos propósitos. O Miniconda é suficiente (veja a diferença entre Anaconda e Miniconda se estiver curioso) e pode ser instalado aqui se você ainda não o tiver.
Em seguida, crie um novo ambiente Python com base nos algoritmos de explicabilidade que você deseja usar, consultando a tabela acima. Por exemplo, para Python 3.10, use o seguinte comando:
conda create --name aix360 python=3.10
conda activate aix360
O shell agora deve exibir (aix360) $. Para desativar o ambiente, execute:
(aix360)$ conda deactivate
O prompt retornará para $ ou (base)$.
Nota: Versões mais antigas do conda podem usar source activate aix360 e source deactivate (activate aix360 e deactivate no Windows).
Clone a versão mais recente deste repositório:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Se você quiser executar os exemplos e os cadernos de tutoriais, baixe os conjuntos de dados agora e coloque-os em suas respectivas pastas, conforme descrito em aix360/data/README.md.
Em seguida, navegue até o diretório raiz do projeto que contém o arquivo setup.py e execute:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
O comando acima instala os pacotes necessários para algoritmos específicos. Aqui, <algo> refere-se à palavra-chave de instalação na tabela acima. Por exemplo, para instalar os pacotes necessários para os algoritmos BRCG, DIPVAE e TSICE, pode-se usar
(aix360)$ pip install -e .[rbm,dipvae,tsice]
O comando padrão pip install . instala apenas as dependências padrão.
Observe que você pode não conseguir instalar dois algoritmos que exigem versões diferentes do Python no mesmo ambiente (por exemplo, contrastive junto com rbm).
Se você enfrentar qualquer problema, tente atualizar o pip e o setuptools e desinstale quaisquer versões anteriores do aix360 antes de tentar novamente a etapa acima.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Se você quiser começar a usar rapidamente o toolkit AI Explainability 360 sem clonar explicitamente este repositório, você pode usar uma destas opções:
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Por exemplo, use pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice] para instalar BRCG, DIPVAE e TSICE. Talvez seja necessário instalar o cmake se ele ainda não estiver instalado no seu ambiente, usando conda install cmake.
(your environment)$ pip install aix360
Se você seguir qualquer uma dessas duas opções, precisará baixar os cadernos disponíveis na pasta examples separadamente.
O toolkit AI Explainability 360 é testado no Windows, MacOS e Linux. No entanto, se você ainda enfrentar problemas de instalação devido a dependências de pacotes, tente instalar o pacote correspondente via conda (por exemplo, conda install package-name) e depois instale o toolkit seguindo os passos usuais. Por exemplo, se você enfrentar problemas relacionados ao pygraphviz durante a instalação, use conda install pygraphviz e depois instale o toolkit.
Use o ambiente Python correto com base na tabela acima.
AIX360, construa a imagem do contêiner a partir do Dockerfile usando docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, assumindo que a porta 8888 esteja livre na sua máquina.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888O diretório examples contém uma coleção diversificada de cadernos Jupyter que usam o AI Explainability 360 de várias maneiras. Tanto os exemplos quanto os cadernos de tutoriais ilustram código funcional usando o toolkit. Os tutoriais fornecem discussões adicionais que guiam o usuário pelas diversas etapas do caderno. Veja os detalhes sobre tutoriais e exemplos aqui.
Se você estiver usando o AI Explainability 360 para o seu trabalho, recomendamos que:
@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}
}
Coloque uma estrela neste repositório.
Compartilhe suas histórias de sucesso conosco e com outras pessoas na Comunidade AI Explainability 360.
O AIX360 é construído com a ajuda de vários pacotes de código aberto. Todos eles estão listados no setup.py e alguns deles incluem:
Para obter informações sobre a licença, consulte tanto o arquivo LICENSE quanto a pasta licença complementar presentes no diretório raiz.
| Palavra-chave de instalação | Explicador(es) | SO | Versão do 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 |