Тимлид команды «Рекомендательные системы и персонализация» Sber ИИ Lab Алексей Васильев и исследователь Анна Володкевич опубликовали статью о подготовке датасетов для офлайн-оценки рекомендательных моделей. В материале они описали фреймворк SplitLight, который разработали совместно с коллегами из института AIRI. В июле 2026 года работа «SplitLight: An Exploratory Toolkit for Recommender Systems Datasets and Splits» была представлена на конференции SIGIR 2026 (A*).
Проблема, которую решает SplitLight, знакома многим исследователям: результаты, заявленные в научной статье или полученные другой командой, часто не удаётся воспроизвести, даже если ключевые параметры пайплайна совпадают. Как показывает опыт Sber ИИ Lab, причина часто кроется не в архитектуре модели, а в процедуре подготовки данных. Например, формулировка «датасет Zvuk, global temporal split с квантилем 0,9» не раскрывает, какие фильтры применялись, как обрабатывались события с одинаковыми временными метками, удалялись ли холодные объекты и какие данные подавались модели на вход. В результате два пайплайна с одним датасетом и одинаковым названием разбиения могут оценивать разные постановки задачи.
| Компонент | Описание |
|---|---|
| Обучающая выборка | Данные для обучения модели |
| Входная история | События, доступные модели на этапе инференса |
| Таргет | Ground truth-объекты для расчёта метрик |
Для воспроизводимости эксперимента необходимо явно фиксировать три части данных: обучающую выборку, входную историю (input), доступную модели на этапе инференса, и таргеты (target) — ground truth-объекты для теста и валидации. В случае глобального разбиения по времени (Global Temporal Split, GTS) таргетом может быть одно событие (первое или последнее у пользователя) или все события после временной отсечки. Предшествующие события можно передать модели как входную историю или отбросить. Пользователей и объекты, отсутствующие в обучающей выборке, можно сохранить или отфильтровать. Каждый из этих вариантов формально относится к GTS, но режимы оценки заметно различаются. Поэтому валидационные и тестовые выборки удобно хранить как пары «входная история — таргет»: это сразу показывает, какие данные были доступны модели и какие взаимодействия она должна была предсказать.
Проблема: одинаковые названия разбиений (например, global temporal split) могут скрывать разные пайплайны, что мешает воспроизводимости.
SplitLight — это open-source-инструмент, который автоматизирует проверку датасетов, результатов предобработки и разбиений. Он включает чек-лист, сформированный на основе анализа типичных расхождений. В частности, инструмент проверяет, как обрабатываются повторные взаимодействия и события с одинаковыми временными метками, корректно ли отфильтрованы холодные объекты, и согласованы ли входные истории с таргетами. Это позволяет выявить потенциальные проблемы до запуска обучения, экономя время и ресурсы.
Разработка SplitLight связана с более широкой проблемой воспроизводимости в области рекомендательных систем. Ранее команда Sber ИИ Lab уже публиковала работу «Time to Split: Exploring Data Splitting Strategies for Offline Evaluation of Sequential Recommenders», где рассматривались различные варианты реализации разбиений. SplitLight дополняет эти исследования практическим инструментом, который может быть полезен как исследователям, так и инженерам, работающим над рекомендательными системами в продакшене. Инструмент доступен в открытом исходном коде, что позволяет сообществу адаптировать его под свои задачи.
Для практиков важно понимать, что корректная подготовка данных — не менее значимый этап, чем выбор модели. Даже незначительные, на первый взгляд, решения в предобработке могут существенно повлиять на итоговые метрики и привести к неверным выводам о качестве модели. SplitLight предлагает системный подход к проверке этих решений, снижая риск невоспроизводимых результатов и повышая надёжность офлайн-оценки.
