13 августа 2026 г.
Тестовая выборка перекрылась с обучением: SplitLight нашёл 89% утечки на Diginetica
Сбер и AIRI открыли SplitLight: тулкит считает, сколько теста утекло в обучение и как схема разбиения двигает метрику.

На датасете Diginetica популярная схема разбиения leave-one-out превращает в утечку 89% целевых событий.
Периоды обучения и теста перекрываются полностью: модель видит будущее и на нём же экзаменуется. Так меряет почти вся область. Из 75 работ с офлайн-оценкой 77,3% разбивали данные через leave-one-out, и лишь 6,7% брали global temporal split в постановке next-item (замер той же команды, 22.07.2025).
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
Год назад команда описала масштаб проблемы цифрами. Теперь она выложила инструмент, который считает эти цифры на вашем датасете.
Что меряет SplitLight. Он прогоняет данные через разные схемы разбиения и показывает, сколько качества держится на артефактах. Учёт холодных объектов роняет NDCG@10 на 1,2-20% в зависимости от датасета, а перемешивание событий с одинаковым таймстемпом при leave-one-out двигает результат до 9,5%.
Холодных целей, которых не было в обучении, в тесте от 22,32% на Amazon Beauty до 32,59% на Dressipi. Удаление подряд идущих дубликатов при global temporal split даёт до +60% NDCG@10 там, где пользователи часто повторяют одно действие. Прирост приносит чистка данных, а не модель.
Как поставить. Пакета на PyPI нет, инструмент ставится клоном репозитория: `pip install -r requirements.txt`, затем `export PYTHONPATH="$(pwd):$PYTHONPATH"` и `export SEQ_SPLITS_DATA_PATH=$(pwd)/data`. Нужен Python 3.10 или 3.11, на входе CSV или Parquet.
Без кода работает веб-интерфейс на Streamlit. Команда `streamlit run SplitLight.py` из папки репозитория поднимает его в браузере, рядом лежат демо-ноутбуки и видео-прогон.
SplitLight работает не с любыми обучающими данными: это тулкит для датасетов и разбиений рекомендательных систем. Проверяли на шести наборах, среди них MovieLens-20M, Diginetica и Zvuk.
Код лежит на GitHub и GitVerse, статья принята на ACM SIGIR 2026.
Первоисточник