Эмили Уэббер и команда Clarify Amazon SageMaker

Конец четверти. Вы потратили месяцы, работая над сложным конвейером моделирования, который синтезирует данные из нескольких источников, обучает и настраивает сотни моделей, определяет оптимальную конфигурацию и автоматически развертывает конвейер вывода через SageMaker. Теперь ваши заинтересованные стороны возвращаются к вам и спрашивают, почему ваша модель предсказывает именно так. Вам нужно полностью переписать конвейер? Как узнать, что с данными тренировки что-то не так? Как вы объясните, почему ваша модель сделала определенный прогноз?

Используйте Amazon SageMaker Clarify. SageMaker Clarify - это полностью управляемый набор инструментов для выявления потенциальной систематической ошибки в наборе обучающих данных или модели, объяснения индивидуальных результатов вывода, агрегирования этих объяснений для всего набора данных, интеграции со встроенными возможностями мониторинга для оценки производительности производства и предоставления этих возможностей в рамках моделирования. каркасы. Начиная с декабря 2020 года клиенты могут использовать SageMaker Clarify для анализа своих наборов данных на предмет предвзятости по конкретным интересующим атрибутам как до, так и после обучения. Клиенты также могут направить эту функцию на конечную точку, размещенную в SageMaker, для просмотра важности функций для каждого прогнозирования, что дает им степень детализации, необходимую для лучшего понимания производительности их моделей. В то время как SageMaker Clarify полностью доступен как для экземпляров портативных компьютеров, так и для SageMaker Studio, уникально разделенные вычислительные экземпляры для каждого ноутбука и простота использования, которые поставляются с SageMaker Studio, обеспечивают беспроблемное взаимодействие с пользователем.

SageMaker Studio пишет для вас много кода, и мы пользуемся этим преимуществом в SageMaker Clarify.

Для структуры, описывающей предполагаемое использование SageMaker Clarify, См. Ссылку здесь. Чтобы получить научную статью о мерах справедливости в финансах, проверьте здесь. Вы также можете просмотреть пример кода размещенный на GitHub здесь , чтобы лучше понять показатели и функциональные возможности смещения. Этот пост должен занять 20 минут вашего времени, но к концу вы будете на один шаг ближе к выбору правильных показателей смещения для вашего варианта использования и объяснению их заинтересованным сторонам.

Важно помнить, что AWS рассматривает запуск этой функции как отправную точку. Как и все сервисы AWS, мы тщательно индексируем отзывы клиентов, чтобы постоянно улучшать наши предложения услуг, как с точки зрения основных возможностей, так и с точки зрения предписывающих рекомендаций, которые мы даем клиентам, чтобы увидеть результаты.

Показатели до обучения

Метрики перед обучением - отличный первый проход в наборе данных. Мы можем запустить задание с помощью SageMaker Clarify, чтобы определить ключевые различия в нашем наборе данных по различным интересующим атрибутам или переменным, для которых мы хотели бы узнать о любых дисбалансах или выборках, присутствующих в наборе данных, которые может привести к необъективной модели. SageMaker Clarify создаст загружаемый отчет о смещении с ключевой статистикой, и в Studio мы можем просматривать все эти сгенерированные метрики с богатой визуализацией. Чтобы упростить задачу, мы также интегрировали в Studio карточки с описанием показателей, чтобы клиенты могли интуитивно понять эти показатели, прочитать примеры и понять предлагаемые диапазоны. Многие из этих карточек даже будут указывать на статью, предлагающую такую ​​статистику на arxiv.org! Если вам интересно, вы можете сразу перейти к одной часто упоминаемой статье «прямо здесь».

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

Метрики после обучения

Несбалансированность классов

Наша первая метрика, которую нужно выделить, называется дисбаланс классов. Проще говоря, этот показатель говорит нам о разнице выборок данных, которые у нас есть для группы, находящейся в благоприятном положении, n_a, по сравнению с группой, находящейся в неблагоприятном положении, n_d. Статистика дисбаланса вашего класса находится в диапазоне между [-1, +1], при этом идеально сбалансированный набор данных дает нам дисбаланс класса 0. Один из способов улучшить эту статистику - это фактически понизить выборку для вашей более обеспеченной группы или даже пополните свой набор образцов из неблагополучных семей, чтобы улучшить их представление. Трансформаторы в масках могут быть хорошим способом сделать это!

Разница в положительных пропорциях между True Labels

Эта статистика просто смотрит на разницу в соотношении положительных случаев к общему количеству выборки между обеспеченными и неблагополучными группами. То есть мы посмотрим на количество положительных случаев для группы с благоприятными условиями, n_a (1), и сравним его с общим количеством положительных образцов, которые у нас есть, н_а. Затем мы сделаем то же самое и сравним количество положительных случаев в неблагополучной группе, n_d (1), и сравним это с общим количеством имеющихся неблагополучных выборок, н_д. Это ценный показатель, потому что он показывает нам относительную вероятность того, что члены как из благополучных, так и из неблагополучных групп попадут в положительный класс.

Если эта статистика близка к 0, то мы говорим, что достигнут демографический паритет.

Расхождения Кульбака-Либлера и Дженсена-Шеннона

Эти два показателя - хорошая пара. Оба они описывают разницу между двумя распределениями меток. Первый термин, P_a, относится к распределению для группы, находящейся в благоприятном положении, а P_d относится к распределению для группы, находящейся в неблагоприятном положении. На самом деле это удобные уравнения, с которыми можно легко освоиться, потому что вы, скорее всего, увидите, что они возникают при других обстоятельствах, например, при генеративном глубоком обучении. Дивергенция Кульбака-Либлера - это относительное расстояние между распределением благоприятных и неблагоприятных случаев.

Дивергенция Дженсена-Шеннона строится на этом, чтобы привнести симметрию в уравнение, буквально говоря, потому что мы можем изменить порядок операций и при этом получить тот же результат.

Условное демографическое неравенство в ярлыках

Условное демографическое неравенство в ярлыках помогает нам понять, имеет ли неблагополучная группа большую долю отклоненных результатов, чем принятых.

Эта статистика использует статистику демографического несоответствия или DD, которая представляет собой разницу между долей отклоненных результатов и долей принятых результатов для данной группы. Условное демографическое несоответствие в статистике ярлыков рассматривает средневзвешенное значение DD для разных групп, каждая из которых взвешена по своему размеру.

Существует множество дополнительных показателей до обучения, которые необходимо изучить, но, чтобы сэкономить время, мы перейдем к показателям после обучения.

Несопоставимое (неблагоприятное) воздействие и разница в положительных пропорциях в прогнозируемых этикетках

Объяснимость

Эти две взаимосвязанные статистические данные помогают понять соотношение разрешенных случаев из неблагополучной группы, q_d, и пациентов из более благополучной группы, q_a. Эта первая статистика просто рассматривает разницу между этими отношениями.

В статистике несопоставимых (неблагоприятных) воздействий мы просто делим член q_d на член q_a, чтобы оценить величину этой разницы. Есть «правовой прецедент» для того, чтобы считать справедливым результат по данной статистике в диапазоне [4/5, 5/4].

Разница в условном исходе (принятие и отклонение)

Эта статистика смотрит на отношения между фактическими метками и предсказанными метками и помогает нам увидеть, одинаковы ли они для разных классов.

В случае DCA мы рассматриваем это в случае принятых образцов. В случае DCR мы делаем то же самое с отклоненными образцами. Это помогает нам выбрать тип предвзятости, когда кредитор может давать больше ссуд мужчинам, чем предписано моделью, но меньше ссуд женщинам, чем предписано моделью.

Напоминание, точность и различия в точности

Этот термин помогает нам понять, насколько хорошо модель работает с точки зрения запоминания как в обеспеченных, так и в неблагополучных группах. Может случиться так, что запоминаемость высока для модели только в группе, находящейся в благоприятных условиях, но низкая для группы, находящейся в неблагоприятном положении, что означает, что в ней лучше найти положительные образцы.

Упомянутые здесь термины взяты из матрицы путаницы - общей таблицы, используемой для определения истинных положительных результатов (TP), истинных отрицаний (TN), ложных положительных результатов (FP) и ложных отрицательных результатов (FN) для заданного уровня достоверности в пределах набора предсказания. Это хорошо определено в другом месте, поэтому мы не будем их здесь определять.

Обычно на предмет точности и аккуратности обращаются к похожей статистике.

Равенство в обращении

Эта статистика рассматривает разницу в соотношении ложноположительных и ложноотрицательных результатов между обеспеченными и неблагополучными группами. У вас могут быть случаи, когда обе группы имеют одинаковые уровни точности, но разные отношения ложных приемов к отклонениям. Например, предположим, что за ссудой обращаются 100 мужчин и 8 женщин. Из них 8 мужчинам было ошибочно отказано, а 6 - ошибочно одобрены. Что касается женщин, 5 были ошибочно отклонены, но только 2 были ошибочно одобрены. Использование статистики равенства обращений выводит это на первый план.

Контрольная проверка сальто

Этот показатель рассматривает пары одинаковых кандидатов из благополучных и неблагополучных групп и помогает нам понять, относится ли модель к ним одинаково или нет. Обычно эти пары выбираются с использованием k-ближайших соседей, то есть F + и F- фактически относятся к аналогичным парам объектов данных, выбранным через KNN на основе альтернативных выборок.

Вы не поверите, но этот список на самом деле является лишь началом всех показателей, доступных в SageMaker Clarify! Для получения исчерпывающего списка с еще более подробным описанием взгляните на наш «технический документ».

Теперь давайте кратко рассмотрим другой способ анализа наших данных, который заключается в определении важности глобальных и локальных функций. При этом используется метод под названием SHAP, который является независимым от модели методом, вдохновленным теорией игр. SHAP фактически создает множество наборов данных-кандидатов, каждый без заданной функции, и отправляет их в конечную точку обученной модели. На основе ответа модели, базовой статистики и образцов, которые мы предоставляем при настройке задания, SHAP делает вывод об относительной важности этой функции.

Мониторинг дрейфа смещения и важности функций с течением времени в развернутых моделях

В SageMaker Clarify мы используем оценку SHAP ядра, которая рассматривает вашу модель как закрытый ящик при применении теоретико-игровой модели значений Шепли. Важность функции определяется вкладом в прогноз модели путем добавления функции из всех возможных комбинаций функций, которые ее исключают. Это ценно, потому что мы не ограничены рамками модели, стилем обучения, пакетами программного обеспечения или размером модели. Если мы можем перенести нашу модель на конечную точку SageMaker и (на момент написания) мы используем табличные данные, мы можем использовать эту модель с SageMaker Clarify.

Для более подробного ознакомления с оценкой SHAP ядра «ознакомьтесь с нашим техническим описанием».

Теперь, когда мы говорим о конечных точках, давайте быстро обсудим постоянный мониторинг моделей в производстве! В прошлом году SageMaker запустил SageMaker Model Monitor, который использует Amazon Deequ для определения базовых пороговых значений и ограничений для наших данных обучения. То есть мы передадим весь обучающий набор данных SageMaker, воспользуемся встроенным изображением, чтобы узнать адекватные пороговые значения для каждой функции, и внести любые изменения, которые нам нравятся. Затем мы можем включить текущие задания по мониторингу, которые сравнивают данные логического вывода, попадающие в нашу конечную точку, с данными в нашем изученном базовом изображении, предупреждая нас в любое время, когда он обнаруживает статистический пример дрейфа данных.

В SageMaker Clarify мы можем отслеживать эффективность нашей модели на основе показателей систематической ошибки с течением времени. Другими словами, даже после того, как мы развернули модель, мы можем использовать SageMaker Clarify, чтобы проверить, что справедливость этой модели остается совместимой с любыми нормативными требованиями и требованиями с течением времени.

Интеграция с монитором модели здесь использует доверительные интервалы. Представим, что мы вычисляем доверительный интервал C вместе с нашим заранее определенным диапазоном A для данной метрики справедливости. Помните, что доверительный интервал - это образец данных оперативного логического вывода, попадающих в нашу конечную точку, но заранее определенный диапазон исходит из наших данных автономного обучения и полностью настраивается.

Если есть перекрытие между нашими доверительный интервал C и наш заранее определенный диапазон A, мы считаем вероятным, что показатель смещения попадает в наш допустимый диапазон. Однако, если они не пересекаются и не пересекаются, это вызовет предупреждение о смещении.

Используйте Data Wrangler для анализа предвзятости

С помощью SageMaker Clarify мы можем выполнять задания по мониторингу, которые помогают нам отслеживать изменения важности функций с течением времени, в дополнение к мониторингу отклонения смещения от порогового значения.

Наконец, с недавно запущенным «SageMaker Data Wrangler», теперь мы можем использовать простой пользовательский интерфейс для просмотра нашего подключения к данным, манипуляций и обнаружения предвзятости. Изображение в верхней части сообщения показывает нам, как легко опубликовать в нашем наборе данных и добавить шаг для обнаружения смещения в наборе данных. Это может работать в считанные секунды! См. Дополнительную информацию на странице «Data Wrangler» SageMaker.

Часто задаваемые вопросы

Все изображения предоставлены автором

Как выбрать подходящий показатель для моего случая? Самое важное, что нужно сделать, - это рассмотреть последствия того, что происходит, когда наша модель верна, и что происходит, когда она неверна, во всех возможных измерениях. Затем вы хотите отойти от этих сценариев и определить KPI, которые вам удобны и которые вы можете поддерживать.

  1. Как мне работать с несколькими уязвимыми группами одновременно? При запуске нашего задания SageMaker Clarify мы можем указать все группы, которые нам интересно анализировать во время настройки задания. Затем нам нужно будет просмотреть результаты для этих групп в SageMaker Studio.
  2. Как уменьшить предвзятость после того, как я ее обнаружил? Это действительно большая тема, но вкратце вы можете решить ее, изменив свою стратегию выборки, применив преобразования к циферблату. увеличивать или уменьшать влияние конкретных функций, перемещать образцы с помощью кластеризации, использовать преобразователи для создания новых образцов и т. д. Вы также можете попробовать обучить несколько моделей, каждая из которых «оптимизируется» по разным показателям. Еще один вариант - поместить расчет метрики непосредственно в функцию потерь при определении модели.
  3. Что, если показатели, которые я пытаюсь оптимизировать, конфликтуют друг с другом? Реальность такова, что это почти наверняка произойдет. Лучший путь вперед - это сотрудничество с заинтересованными сторонами нашего бизнеса и определение нескольких основных показателей, которые нам действительно важны, и соответствующее изменение наших конвейеров моделирования.
  4. Какой порог мне следует использовать для статистики? Это еще одна открытая тема для разговора. Существуют тематические исследования по отраслям, где определенные группы сочли полезными некоторые пороговые значения, но в целом отдельные организации должны определить, какие пороговые значения для них наиболее применимы.
  5. Что делать, если я не обучаю какие-либо модели с использованием защищенных переменных? Что я должен делать? Реальность такова, что даже если мы не обучаем модели с использованием защищенных переменных, мы все равно, вероятно, увидим влияние смещенных наборов данных из-за корреляции этих защищенных групп с другими функциями. Другими словами, ваша модель и набор данных могут легко демонстрировать предвзятость, даже если мы не обучаемся явно защищенным переменным. Если у вас есть доступ к этим переменным, мы рекомендуем включить их в свой анализ, чтобы вы могли понять свое текущее состояние, даже если вы не включаете их в свои окончательные модели.
  6. Если я тренирую модели глубокого обучения, могу ли я использовать SageMaker Clarify? Да, конечно! Более важный вопрос заключается в том, какой тип данных вы используете. При запуске SageMaker Clarify поддерживает табличные данные, опять же с целью определения приоритетов дорожной карты, явно основанной на отзывах и интересе клиентов.
  7. Где я могу увидеть отчет о предвзятости в SageMaker? Когда вы запускаете задания SageMaker Clarify для наборов данных и моделей, вы можете просматривать результаты на вкладке "Эксперименты". Щелкните правой кнопкой мыши неназначенные пробные компоненты, а затем просмотрите сведения о пробной версии своей работы.
  8. Прежде всего, давайте рассмотрим два термина: предвзятость и объяснимость. Хотя оба они относятся к одной и той же категории стремления к полностью надежным и производительным моделям машинного обучения, на самом деле они относятся к разным методам и частям вашего анализа.

    Показатели смещения относятся к описательной статистике, которую мы можем вычислить как до обучения модели, так и после обучения. Метрики предвзятости будут рассматривать такие термины, как дисбаланс классов, разница в положительных пропорциях и условное демографическое неравенство, включая почти двадцать статистических данных, встроенных в SageMaker Clarify. Все это имеет несколько разные последствия для вашего варианта использования. Нам нужно потратить некоторое время на их изучение, по-настоящему обдумать, что они описывают, а затем мы сможем научиться предлагать их на основе наборов данных, с которыми мы работаем, и сценариев использования, которые мы решаем.

    Объяснение, с другой стороны, фактически само по себе использует модели для количественной оценки относительного воздействия каждой функции на результаты наших прогнозов. Это означает, что вы можете использовать его, чтобы понять, какие именно столбцы, переменные или атрибуты в вашем наборе данных определяют окончательный результат прогноза. Это справедливо для обоих конкретного прогноза и для всего набора данных. По большому счету, наиболее часто используемым методом объяснения в табличном машинном обучении является SHAP - метод, вдохновленный теорией игр, для реального обучения гораздо меньших моделей машинного обучения на наборах функций, итеративно исследуя их влияние на рассматриваемый набор данных. В SageMaker Clarify мы представляем управляемое подключение к Kernel SHAP с повышением производительности во время выполнения на протяжении всего жизненного цикла машинного обучения.

    Как мы выясним, там Есть много разных способов определения предвзятости. Основная задача, которую нам нужно научиться преодолевать, поскольку начинающие специалисты по данным, - это овладеть этими определениями предвзятости, выяснить, какие из них нам нужно применить на разных этапах в нашем рабочем процессе и наших приложениях, а также сотрудничать с нашими заинтересованными сторонами, чтобы определить правильные пороговые значения для этих показателей.

    Полезно отметить, что и метрики систематической ошибки, и объяснимость являются методами, не зависящими от модели. То есть они будут работать с любым типом фреймворка для моделирования. Нам просто нужно убедиться, что формат и тип данных поддерживаются SageMaker Clarify!

Погрузитесь в метрики смещения и объясните модель с помощью Amazon SageMaker Clarify