AB-тестирование — это рандомизированный контролируемый эксперимент, предназначенный для понимания того, как варианты системы влияют на метрики. Большинство крупных веб-сайтов сегодня проводят сотни или даже тысячи AB-тестов одновременно, поскольку разные группы продуктов стремятся оптимизировать их для разных показателей. В этой статье я расскажу вам, что такое тестирование AB и как мы можем использовать его в машинном обучении.
Как работает AB-тестирование?
Общий процесс тестирования AB заключается в случайном разделении совокупности пользователей на две группы, A и B, и показе каждой группе различных вариантов системы при анализе (например, классификатора спама). Оценка эксперимента включает сбор данных по тестируемому показателю в каждой группе и выполнение статистического теста, чтобы определить, является ли разница в показателе между двумя группами статистически значимой.
Одной из основных задач AB-тестирования является определение того, сколько трафика нужно направить через новую систему A и сколько — через старую систему B. Эта проблема является вариантом многополосной задачи. вооружившись теорией вероятностей, решение которой должно найти баланс между разведкой и эксплуатацией.
Мы хотим иметь возможность узнать как можно больше о новой системе, направляя на нее больше трафика, но мы не хотим рисковать общим ухудшением показателей, поскольку система А может работать хуже, чем существующая система Б.
Одним из алгоритмов, решающих эту проблему, является Выборка по Томсону, который включает маршрутизацию для каждого варианта объема трафика, пропорционального вероятности получения лучшего результата на основе данных. собранные ранее. Многорукие контекстные бандиты продвигают этот подход на шаг вперед и также включают внешние факторы окружающей среды в этот процесс принятия решений.
В контексте систем машинного обучения вы всегда должны проверять и сравнивать новые поколения моделей с существующими производственными моделями с помощью тестирования AB. Каждый раз, когда вы применяете такой тест, должна быть хорошая метрика. определено, что тест направлен на оптимизацию.
Например, такой метрикой для теста AB классификатора спама может быть количество писем со спамом, которые попадают в почтовые ящики пользователей; вы можете измерить эту метрику с помощью отзывов пользователей или выборки и маркировки.
AB-тестирование необходимо для систем машинного обучения, поскольку длительные эволюционные обновления модели могут не дать вам наилучших результатов, которые вы можете получить. Возможность экспериментировать с новыми моделями и эмпирически определять, что обеспечивает наилучшую производительность, дает системам машинного обучения гибкость для адаптации к меняющемуся ландшафту данных и алгоритмов.
Однако следует соблюдать осторожность при выполнении тестов AB в конфликтующих средах. Статистическая теория, лежащая в основе тестирования AB, предполагает, что базовое распределение входных данных одинаково между сегментами A и B. Однако направление даже небольшой части трафика на новую модель может заставить оппонента изменить свое поведение.
В этом случае предположение теста AB нарушается, и ваша статистика будет бессмысленной. Кроме того, несмотря на то, что трафик оппонента разделен между сегментами, тот факт, что часть трафика теперь обрабатывается по-другому, может привести к тому, что оппонент изменит свое поведение или даже исчезнет, а метрика, которую вы держите в сердце, может не отражать статистически значительная разница в тесте AB, даже если новая модель была эффективной.
Точно так же, если вы начнете блокировать 50% плохого трафика с помощью новой модели, оппонент может просто удвоить свою частоту запросов, и ваша отличная модель не изменит вашу общую статистику.