
Интерпретируемость и объяснимость данных и моделей машинного обучения
✨НОВОЕ: IBM Research представляет новый инструментарий In-Context Explainability 360 (ICX360), который расширяет объяснимость на LLM, в частности в отношении входных данных, подаваемых в LLM. Загляните! 🚀✨
Инструментарий AI Explainability 360 — это библиотека с открытым исходным кодом, которая поддерживает интерпретируемость и объяснимость наборов данных и моделей машинного обучения. Python-пакет AI Explainability 360 включает обширный набор алгоритмов, охватывающих различные аспекты объяснений, а также прокси-метрики объяснимости. Инструментарий AI Explainability 360 поддерживает табличные данные, текст, изображения и временные ряды.
Интерактивный интерфейс AI Explainability 360 предлагает простое введение в концепции и возможности на примере сценариев использования для разных типов пользователей. Обучающие материалы и примеры ноутбуков предлагают более глубокое введение, ориентированное на специалистов по данным. Полный API также доступен.
Не существует единого подхода к объяснимости, который подходил бы для всех случаев. Существует множество способов объяснения: данные против модели, непосредственно интерпретируемые против пост-хок объяснений, локальные против глобальных и т. д. Поэтому может быть сложно понять, какие алгоритмы наиболее подходят для конкретного сценария использования. Чтобы помочь, мы создали руководящие материалы и дерево таксономии, с которыми можно ознакомиться.
Мы разработали пакет с учетом возможности расширения. Эта библиотека все еще находится в разработке. Мы приглашаем вас вносить свой вклад в виде алгоритмов объяснимости, метрик и сценариев использования. Чтобы начать вносить вклад, присоединяйтесь к сообществу AI Explainability 360 в Slack, запросив приглашение здесь. Пожалуйста, ознакомьтесь с инструкциями по внесению кода и Python-ноутбуков здесь.
AI Explainability 360 требует определенных версий многих пакетов Python, которые могут конфликтовать с другими проектами в вашей системе. Настоятельно рекомендуется использовать менеджер виртуального окружения, чтобы гарантировать безопасную установку зависимостей. Если у вас возникают проблемы с установкой инструментария, сначала попробуйте этот способ.
Для всех конфигураций рекомендуется Conda, хотя Virtualenv в целом взаимозаменяем для наших целей. Достаточно Miniconda (если вам интересно, см. разницу между Anaconda и Miniconda), и ее можно установить отсюда, если у вас ее еще нет.
Затем создайте новое окружение Python на основе алгоритмов объяснимости, которые вы хотите использовать, обратившись к таблице выше. Например, для python 3.10 используйте следующую команду:
conda create --name aix360 python=3.10
conda activate aix360
Теперь приглашение оболочки должно выглядеть как (aix360) $. Чтобы деактивировать окружение, выполните:
(aix360)$ conda deactivate
Приглашение вернется к $ или (base)$.
Примечание: в более старых версиях conda могут использоваться source activate aix360 и source deactivate (activate aix360 и deactivate в Windows).
Клонируйте последнюю версию этого репозитория:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
Если вы хотите запустить примеры и обучающие ноутбуки, загрузите наборы данных сейчас и поместите их в соответствующие папки, как описано в aix360/data/README.md.
Затем перейдите в корневой каталог проекта, содержащий файл setup.py, и выполните:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
Приведенная выше команда устанавливает пакеты, необходимые для конкретных алгоритмов. Здесь <algo> означает ключ установки из таблицы выше. Например, чтобы установить пакеты, необходимые для алгоритмов BRCG, DIPVAE и TSICE, можно использовать
(aix360)$ pip install -e .[rbm,dipvae,tsice]
Команда по умолчанию pip install . устанавливает только зависимости по умолчанию.
Обратите внимание, что вы не сможете установить два алгоритма, требующих разные версии Python, в одном окружении (например, contrastive вместе с rbm).
Если у вас возникнут какие-либо проблемы, попробуйте обновить pip и setuptools и удалить предыдущие версии aix360 перед повторением указанного выше шага.
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
Если вы хотите быстро начать использовать инструментарий AI Explainability 360, не клонируя этот репозиторий явно, вы можете воспользоваться одним из следующих вариантов:
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
Например, используйте pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice], чтобы установить BRCG, DIPVAE и TSICE. Возможно, вам потребуется установить cmake, если он еще не установлен в вашем окружении, с помощью conda install cmake.
(your environment)$ pip install aix360
Если вы воспользуетесь любым из этих двух вариантов, вам нужно будет отдельно загрузить ноутбуки из папки examples.
Инструментарий AI Explainability 360 протестирован на Windows, macOS и Linux. Однако, если у вас все еще возникают проблемы с установкой из-за зависимостей пакетов, попробуйте установить соответствующий пакет через conda (например, conda install package-name), а затем установите инструментарий, выполнив обычные шаги. Например, если при установке возникают проблемы, связанные с pygraphviz, используйте conda install pygraphviz, а затем установите инструментарий.
Используйте правильное окружение Python в соответствии с таблицей выше.
AIX360 соберите образ контейнера из Dockerfile, используя docker build -t aix360_docker .docker run -it -p 8888:8888 aix360_docker:latest bash, при условии, что порт 8888 свободен на вашей машине.jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browserlocalhost:8888Каталог examples содержит разнообразную коллекцию ноутбуков Jupyter, которые используют AI Explainability 360 различными способами. И примеры, и обучающие ноутбуки иллюстрируют рабочий код с использованием инструментария. Обучающие материалы содержат дополнительные пояснения, которые проводят пользователя по различным шагам ноутбука. Подробнее о руководствах и примерах см. здесь.
Если вы используете AI Explainability 360 в своей работе, мы рекомендуем вам
@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}
}
Поставьте звезду этому репозиторию.
Поделитесь своими историями успеха с нами и другими участниками сообщества AI Explainability 360.
AIX360 создан с помощью нескольких пакетов с открытым исходным кодом. Все они перечислены в setup.py, и некоторые из них включают:
Пожалуйста, ознакомьтесь с файлом LICENSE и папкой дополнительная лицензия, находящейся в корневом каталоге, для получения информации о лицензии.
| Ключ установки | Алгоритм(ы) объяснения | ОС | Версия 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 |