ABlaze — это проприетарный фреймворк для проведения A/B тестов. Netflix рассказали, как в компании работает система аналитики. Перед внедрением ML-моделей в продукт компании оценивают с помощью A/B тестов, как модель работает в реальном времени.
Архитектура системы
Фреймворк делится на три части:
- Выгрузка данных с помощью модуля Metrics Repo;
- Проверка статистических гипотез;
- Визуализация результатов с Plotly
Фреймворк имеет модульный дизайн, чтобы его можно было дополнять с помощью Python, R и SQL без лишних временных издержек. Пользователи системы имеют право добавлять метрики и методы напрямую в систему.
Выгрузка данных и метрик
Metrics Repo — это внутренний фреймворк для Python, который позволяет запускать SQL запросы и определять метрики. Этот модуль содержит все описания метрик, которые были добавлены в систему. Ключевое дизайн-решение Metrics Repo в том, что он отходит от ETL пайплайнов к динамически изменяемому SQL. Такая архитектура более гибкая.
Каждая таблица представляется как Python класс, который можно кастомизировать фильтрами и дополнительными джоинами. Код сериализуется так, что бы его можно было представить в формате API.
Статистика и каузальные модели
Causal Models — это библиотека с статистическими тестами для Python, в которой реализованы основные каузальные модели. Каузальная модель — это модель, которая выявляет причинно-следственную связь между переменными. Этот модуль также позволяет добавление новых статистических моделей пользователями на R или Python. Чтобы увеличить эффективность работы кода, пользователи имеют возможность реализации моделей на pybind11 (для Python) и Rcpp (для R).
Визуализация результатов с Plotly
В старой версии фреймворка визуализации экспериментов создавались через UI на React. Новая архитектура позволяет добавлять визуализации с помощью библиотеки Plotly.