Понимание модели с помощью панели инструментов «Что, если»

Инструмент «Что, если»

Инструмент «Что, если» (WIT) предоставляет простой в использовании интерфейс для расширения понимания классификаций «черного ящика» и моделей регрессионного машинного обучения. С помощью плагина вы можете выполнять логические выводы на большом наборе примеров и сразу же визуализировать результаты различными способами. Кроме того, примеры можно редактировать вручную или программно и повторно запускать модель, чтобы увидеть результаты изменений. Он содержит инструменты для исследования производительности и справедливости модели в отношении подмножеств набора данных.

Цель этого инструмента — предоставить людям простой, интуитивно понятный и мощный способ исследовать обученные модели машинного обучения через визуальный интерфейс, абсолютно не требующий кода.

Доступ к инструменту можно получить через TensorBoard или непосредственно в блокноте Jupyter или Colab. Более подробные сведения, демонстрации, пошаговые руководства и информацию, касающуюся использования WIT в режиме ноутбука, см. на веб-сайте What-If Tool .

Требования

Чтобы использовать WIT в TensorBoard, необходимы две вещи:

  • Модель(и), которую вы хотите изучить, должна обслуживаться с помощью TensorFlow Serving с использованием API классификации, регрессии или прогнозирования.
  • Набор данных, выводимый моделями, должен находиться в файле TFRecord, доступном веб-серверу TensorBoard.

Применение

Открыв панель инструментов What-If Tool в TensorBoard, вы увидите экран настройки, на котором вы указываете хост и порт сервера модели, имя обслуживаемой модели, тип модели и путь к файлу TFRecords для нагрузка. После заполнения этой информации и нажатия кнопки «Принять» WIT загрузит набор данных и выполнит вывод с помощью модели, отображая результаты.

Подробную информацию о различных функциях WIT и о том, как они могут помочь в понимании модели и исследованиях справедливости, см. в пошаговом руководстве на веб-сайте What-If Tool .

Демо-модель и набор данных

Если вы хотите протестировать WIT в TensorBoard с предварительно обученной моделью, вы можете загрузить и разархивировать предварительно обученную модель и набор данных с https://storage.googleapis.com/what-if-tool-resources/uci-census . -demo/uci-census-demo.zip Модель представляет собой модель бинарной классификации, которая использует набор данных переписи населения UCI для прогнозирования того, зарабатывает ли человек более 50 тысяч долларов в год. Этот набор данных и задача прогнозирования часто используются в моделировании машинного обучения и исследованиях справедливости.

Установите переменную среды MODEL_PATH в местоположение полученного каталога модели на вашем компьютере.

Установите docker и TensorFlow Serving, следуя официальной документации .

Обслужите модель с помощью docker через docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving Обратите внимание, что вам может потребоваться запустить команду с помощью sudo в зависимости от настроек вашего докера.

Теперь запустите тензорную доску и используйте раскрывающийся список панели инструментов, чтобы перейти к инструменту «Что, если».

На экране настройки установите адрес вывода «localhost:8500», имя модели «uci_income» и путь к примерам — полный путь к загруженному файлу adult.tfrecord , затем нажмите «Принять».

Экран настройки для демо

Вот некоторые вещи, которые стоит попробовать с помощью инструмента «Что, если» в этой демонстрации:

  • Редактирование одной точки данных и просмотр результирующего изменения вывода.
  • Исследование взаимосвязи между отдельными функциями в наборе данных и результатами вывода модели с помощью графиков частичной зависимости.
  • Разбиение набора данных на подмножества и сравнение производительности между срезами.

Для более подробного ознакомления с возможностями инструмента ознакомьтесь с пошаговым руководством What-If Tool .

Обратите внимание, что основная функция в наборе данных, которую пытается предсказать эта модель, называется «Цель», поэтому при использовании вкладки «Производительность и справедливость» «Цель» — это то, что вы хотите указать в раскрывающемся списке основных функций истинности.