
Un ensemble complet de métriques d'équité pour les ensembles de données et les modèles d'apprentissage automatique, des explications pour ces métriques, et des algorithmes pour atténuer les biais dans les ensembles de données et les modèles.
La boîte à outils AI Fairness 360 est une bibliothèque open-source extensible contenant des techniques développées par la communauté de recherche pour aider à détecter et atténuer les biais dans les modèles d'apprentissage automatique tout au long du cycle de vie des applications d'IA. Le package AI Fairness 360 est disponible en Python et en R.
Le package AI Fairness 360 comprend :
L'expérience interactive AI Fairness 360 fournit une introduction en douceur aux concepts et aux capacités. Les tutoriels et autres notebooks offrent une introduction plus approfondie, orientée data scientist. L'API complète est également disponible.
Étant donné qu'il s'agit d'un ensemble complet de fonctionnalités, il peut être déroutant de déterminer quelles métriques et quels algorithmes sont les plus appropriés pour un cas d'utilisation donné. Pour vous aider, nous avons créé des documents d'orientation qui peuvent être consultés.
Nous avons développé le package en gardant à l'esprit l'extensibilité. Cette bibliothèque est encore en développement. Nous encourageons la contribution de vos métriques, explainers et algorithmes de débiasage.
Contactez-nous sur Slack (invitation ici) !
install.packages("aif360")
Pour plus de détails concernant l'installation en R, veuillez consulter les instructions ici.
Configurations Python prises en charge :
| OS | Python version |
|---|---|
| macOS | 3.10 – 3.13 |
| Ubuntu | 3.10 – 3.13 |
| Windows | 3.10 – 3.13 |
AIF360 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 puissent être installées en toute sécurité. Si vous rencontrez des problèmes pour installer AIF360, essayez cela en premier.
Conda est recommandé pour toutes les configurations, bien que Virtualenv soit généralement interchangeable pour nos besoins. Miniconda est suffisant (voir la différence entre Anaconda et Miniconda si vous êtes curieux) si vous n'avez pas déjà conda installé.
Ensuite, pour créer un nouvel environnement Python 3.11, exécutez :
conda create --name aif360 python=3.11
conda activate aif360
Le shell devrait maintenant ressembler à (aif360) $. Pour désactiver l'environnement, exécutez :
(aif360)$ conda deactivate
L'invite de commande reviendra à $ .
pipPour installer la dernière version stable depuis PyPI, exécutez :
pip install aif360
Remarque : Certains algorithmes nécessitent des dépendances supplémentaires (bien que toutes les métriques fonctionnent directement). Pour installer avec certaines dépendances d'algorithmes incluses, exécutez, par exemple :
pip install 'aif360[LFR,OptimPreproc]'
ou, pour une fonctionnalité complète, exécutez :
pip install 'aif360[all]'
Les options pour les extras disponibles sont : OptimPreproc, LFR, AdversarialDebiasing, DisparateImpactRemover, LIME, ART, Reductions, FairAdapt, inFairness, LawSchoolGPA, notebooks, tests, docs, all
Si vous rencontrez des erreurs, essayez les étapes de Troubleshooting.
Clonez la dernière version de ce dépôt :
git clone https://github.com/Trusted-AI/AIF360
Si vous souhaitez exécuter les exemples, téléchargez les ensembles de données maintenant et placez-les dans leurs dossiers respectifs comme décrit dans aif360/data/README.md.
Ensuite, accédez au répertoire racine du projet et exécutez :
pip install --editable '.[all]'
Pour exécuter les notebooks d'exemple, suivez les étapes d'installation manuelle ci-dessus. Ensuite, si vous n'avez pas utilisé l'option [all], installez les exigences supplémentaires comme suit :
pip install -e '.[notebooks]'
Enfin, si vous ne l'avez pas déjà fait, téléchargez les ensembles de données comme décrit dans aif360/data/README.md.
Si vous rencontrez des erreurs pendant le processus d'installation, cherchez votre problème ici et essayez les solutions.
Consultez la page Installer TensorFlow avec pip pour des instructions détaillées.
Remarque : nous exigeons 'tensorflow >= 1.13.1'.
Une fois tensorflow installé, essayez de réexécuter :
pip install 'aif360[AdversarialDebiasing]'
TensorFlow n'est requis que pour l'utilisation de la classe aif360.algorithms.inprocessing.AdversarialDebiasing.
Sur MacOS, vous devrez peut-être d'abord installer les outils de ligne de commande Xcode si vous ne l'avez jamais fait :
xcode-select --install
Sur Windows, vous devrez peut-être télécharger les outils de build Microsoft C++ pour Visual Studio 2019. Consultez la page Installation de CVXPY pour des instructions à jour.
Ensuite, essayez de réinstaller via :
pip install 'aif360[OptimPreproc]'
CVXPY n'est requis que pour l'utilisation de la classe aif360.algorithms.preprocessing.OptimPreproc.
Le répertoire examples contient une collection diversifiée de notebooks Jupyter qui utilisent AI Fairness 360 de diverses manières. Les tutoriels et les démos illustrent du code fonctionnel utilisant AIF360. Les tutoriels fournissent une discussion supplémentaire qui guide l'utilisateur à travers les différentes étapes du notebook. Voir les détails sur les tutoriels et les démos ici
Une description technique d'AI Fairness 360 est disponible dans cet article. Voici l'entrée bibtex pour cet article.
@misc{aif360-oct-2018,
title = "{AI Fairness} 360: An Extensible Toolkit for Detecting, Understanding, and Mitigating Unwanted Algorithmic Bias",
author = {Rachel K. E. Bellamy and Kuntal Dey and Michael Hind and
Samuel C. Hoffman and Stephanie Houde and Kalapriya Kannan and
Pranay Lohia and Jacquelyn Martino and Sameep Mehta and
Aleksandra Mojsilovic and Seema Nagar and Karthikeyan Natesan Ramamurthy and
John Richards and Diptikalyan Saha and Prasanna Sattigeri and
Moninder Singh and Kush R. Varshney and Yunfeng Zhang},
month = oct,
year = {2018},
url = {https://arxiv.org/abs/1810.01943}
}
Le fork de développement pour Rich Subgroup Fairness (inprocessing/gerryfair_classifier.py) est ici. Les contributions sont les bienvenues et une liste de contributions potentielles des auteurs peut être trouvée ici.