HAVE AI NEWS HAVE AI NEWS
tg subscribe
Инструменты

Почему метрики RecSys врут: как нюансы предобработки ломают воспроизводимость и что с этим делать

Почему метрики RecSys врут: как нюансы предобработки ломают воспроизводимость и что с этим делать

Разработчики из Sber AI Lab и AIRI представили инструмент SplitLight для аудита датасетов и разбиений в рекомендательных системах. Эксперты доказали: даже банальная сортировка событий с одинаковым временем может существенно изменить качество модели без изменения ее архитектуры.

В машинном обучении принято винить архитектуру нейросети, функцию потерь или метод сэмплирования негативных примеров, если чужой результат из научной статьи не удается воспроизвести. Однако в рекомендательных системах (RecSys) корень проблемы чаще всего кроется в незаметных деталях подготовки данных. Исследователи из Sber AI Lab и института AIRI доказали: две команды могут использовать формально одинаковый датасет и метод разбиения (например, глобальный сплит по времени), но получить принципиально разные метрики из-за скрытых нюансов фильтрации.

Чтобы решить эту проблему, разработчики создали и выложили в открытый доступ SplitLight — инструмент для аудита датасетов и стратегий их разбиения, презентованный на конференции SIGIR 2026.

Мелочи, которые переворачивают бенчмарки с ног на голову

Эксперименты команды на популярной модели SASRec наглядно продемонстрировали, насколько сильно правила предобработки влияют на финальные показатели:

  • Коллизии временных меток: если у действий пользователя совпадает время, порядок событий становится случайным. Простое изменение сортировки таких записей на датасете MovieLens-1M обрушило метрику NDCG@10 с 0,1861 до 0,1685 без какого-либо вмешательства в архитектуру нейросети.
  • Повторные взаимодействия: на датасете Dressipi сохранение последовательных повторов одного и того же объекта искусственно завысило NDCG@10 с 0,1343 до 0,2168. Модель просто научилась рекомендовать то, на что пользователь кликнул только что, хотя на действительно новых объектах качество упало до 0,1225.
  • Холодный старт: сохранение не встречавшихся в обучении объектов в тестовой выборке того же Dressipi снизило результат алгоритма с 0,1343 до 0,0965.

Скрытые ловушки популярных датасетов

Аудит распространенных бенчмарков с помощью SplitLight вскрыл неожиданные особенности публичных данных:

  • Временные коллизии: в MovieLens-1M около 53% событий имеют повторяющиеся временные метки внутри истории одного пользователя, а в датасете Beauty таких взаимодействий порядка 39%.
  • Маскировка реальной активности: датасет MovieLens-20M формально охватывает 20 лет, однако медианное время активности отдельного пользователя в нем составляет всего около одного часа.
  • Утечки из будущего (Temporal Leakage): при популярной схеме разбиения leave-one-out на датасете Diginetica около 89% таргетов оказались затронуты информацией из будущего из-за смешивания глобальных временных интервалов.
  • Неожиданный холодный старт: при глобальном разбиении по времени (квантиль 0,9) доля холодных пользователей в тестовой выборке Diginetica и Dressipi достигла 100%, а в MovieLens-20M — 82,6%. В таких условиях алгоритм оценивается исключительно на умении работать с новичками.

Что умеет SplitLight

Пакет ориентирован на формат логов взаимодействия с минимальной схемой полей: user_id, item_id и timestamp в форматах CSV или Parquet. Фреймворк доступен в виде Python API для интеграции в ML-пайплайны, готовых Jupyter-ноутбуков, а также интерфейса на базе Streamlit для визуального аудита без написания кода.

Инструмент позволяет перед стартом ресурсоемкого обучения оценить:

  • изменение распределений до и после фильтраций (длины сессий, плотность, популярность);
  • масштаб повторных и последовательных взаимодействий;
  • наличие утечек данных по времени между train, input и target;
  • долю холодных сущностей в тесте и валидации;
  • статистические сдвиги распределений (с использованием критерия Колмогорова — Смирнова).

«Для воспроизводимости недостаточно заявить название схемы сплита. Важно фиксировать точные правила работы с повторами, обработку временных коллизий, долю отфильтрованных объектов и структуру пар входной истории и таргета», — отмечают авторы исследования.

Исходный код проекта опубликован на GitHub под свободной лицензией MIT.

Автор: AleXXL19861 час назад

Источник: habr.com