Что такое A/B-тест ML-модели
A/B-тест модели (Model A/B Testing) – контролируемый эксперимент, в котором два варианта ML-модели (версия A – действующая, версия B – новая) одновременно получают реальный трафик от случайно разделённых групп пользователей. Цель – определить, которая из версий даёт лучшие бизнес-результаты, используя реальных пользователей вместо исторических данных.
В отличие от офлайн-оценки на тестовой выборке (evaluation на hold-out), A/B-тест улавливает воздействие модели на поведение пользователей – конверсию, удержание, средний чек. Офлайн-метрики и онлайн-метрики нередко расходятся: модель с лучшим AUC-ROC может хуже конвертировать реальных пользователей.
Предпосылки и история A/B-тестирования в ML
A/B-тестирование как статистический метод известно с начала XX века (Р. Фишер, 1935). В веб-индустрии его популяризировали Google и Amazon в 2000-х. Применение к ML-моделям (Multi-Armed Bandit, shadow testing, champion/challenger) стало стандартом MLOps в 2015–2020-х с развитием платформ Optimizely, Netflix Experimentation Platform, Uber Superstar.
Виды A/B-тестирования моделей
- Классический A/B-тест: 50% трафика получает модель A, 50% – модель B. Фиксированное деление на заданный период до накопления статистики.
- Multi-Armed Bandit: Адаптивное распределение трафика в пользу лучшей модели в режиме реального времени (алгоритмы UCB, Thompson Sampling). Балансирует exploration и exploitation.
- Shadow mode (теневой тест): Новая модель получает весь трафик, но её предсказания не отдаются пользователям – только логируются. Безрисковая проверка корректности новой версии.
- Canary deployment: Постепенное увеличение доли трафика для новой модели (1% → 5% → 20% → 100%) с мониторингом метрик на каждом шаге.
- Champion/Challenger: Challenger (новая модель) получает малую долю трафика (10–20%) для непрерывного сравнения с champion-моделью.
Статистическая основа A/B-теста
Для корректного A/B-теста необходимо:
- Размер выборки: рассчитывается по формулам статистической мощности (power ≥ 0,8), уровню значимости (α ≤ 0,05) и ожидаемому эффекту (MDE – minimum detectable effect).
- Рандомизация: пользователи делятся случайно, исключая систематическое смещение.
- t-тест / z-тест: для непрерывных метрик (средний чек, время сессии).
- χ²-тест: для долевых метрик (конверсия, CTR).
- CUPED (Controlled-experiment Using Pre-Experiment Data): снижение дисперсии через ковариаты для ускорения накопления статистики.
Как провести A/B-тест ML-модели
Типовой процесс: 1) Shadow mode для проверки отсутствия критических ошибок → 2) Canary 1–5% трафика → 3) Полноценный A/B-тест с накоплением статистической значимости → 4) Анализ результатов → 5) Принятие решения о full rollout или откате. Весь эксперимент логируется в системе отслеживания экспериментов (MLflow, Weights & Biases).
Связь с другими понятиями
A/B-тест модели – инструмент мониторинга модели в production. Его результаты влияют на решение о переобучении или отзыве модели. Тест связан с prediction service, который обеспечивает маршрутизацию трафика между версиями. Метрики теста включают F1-score, precision, recall и бизнес-KPI.