Перейти к содержанию
среда, 30 сентября 2026 г.

ИИ Вестник

Главные новости о развитии искусственного интеллекта в России

Т-Банк открыл scikit-rank: нейросетевые модели ранжирования в формате scikit-learn

Источник: Все публикации в потоке Разработка
Developer workstation with neural ranking code on screen, modern office.
Generated by Sourceful Riverflow (RouterAI)

Т-Банк представил open-source библиотеку scikit-rank для нейросетевого ранжирования. Она оборачивает нейросетевые модели в scikit-learn-совместимый интерфейс с методами fit и predict, упрощая внедрение в существующие пайплайны. Проект принят в Demo track конференции ACM RecSys 2026.

Т-Банк выпустил в открытый доступ библиотеку scikit-rank, предназначенную для нейросетевого ранжирования. Об этом рассказал Александр Милоградский, отвечающий за R&D в направлении рекомендательных технологий банка. Библиотека представляет собой обёртку нескольких нейросетевых моделей в формат scikit-learn-моделей, что позволяет использовать привычные методы fit и predict. Проект уже принят на основную международную конференцию по рекомендательным системам ACM RecSys 2026 в США в Demo track. Сама публикация для конференции включает сравнение scikit-rank с другими существующими аналогами — FuxiCTR и DeepCTR. По словам автора, одна из основных задач библиотеки — дать продуктовым командам возможность пробовать нейросетевые модели в существующих пайплайнах с минимальными изменениями кода, что должно перевести внедрение нейроранкеров из категории «high effort, low confidence, questionable impact» в «low effort, high confidence, potential impact».

В рекомендательных системах традиционно выделяют две фазы: отбор кандидатов лёгкой моделью и ранжирование, где часто применяется градиентный бустинг (LightGBM или CatBoost). По словам Милоградского, многие RecSys-инженеры занимаются только обучением бустингов, что мало отличается от классического ML на табличных данных. Пару лет назад он узнал о направлении по замене бустингов на нейросети из докладов Кирилла Хрыльченко про DCN v2. Это звучало привлекательно: качество растёт при масштабировании данных, гибкое моделирование признаков через эмбеддинги, а в некоторых тестах DCN v2 выигрывала у градиентного бустинга. Однако путь к рабочему решению оказался долгим. В одной прикладной RecSys-задаче на воспроизведение DCN v2 ушло много времени, а первый A/B-тест проиграл продакшен-модели. Лишь добавив векторные представления признаков, удалось получить серый тест, но вера в подход тогда угасла. Позже задача интеграции нейромодели оценивалась как «high effort, low confidence, questionable impact»: приходилось с нуля переписывать процессинг численных и категориальных признаков, цикл обучения и инференс, тогда как градиентный бустинг предоставляет всё это «под капотом» метода fit. Ситуацию осложняло отсутствие хороших гайдлайнов, а соревнования по RecSys стабильно выигрывались CatBoost. После масштабного анализа существующих решений и опыта других команд, постепенной работы с обработкой признаков, функциями потерь и алгоритмами обучения нейроранкеры показали хорошие результаты и превзошли ожидания.

Технически scikit-rank поддерживает входные данные в форматах numpy, pandas и polars, а также автоматическое преобразование численных и категориальных признаков. В библиотеке реализованы классы DCNClassifier, DCNRegressor и DCNRanker. Для задачи ранжирования, аналогично моделям градиентного бустинга, необходимо передавать группы, внутри которых модель учится ранжировать. Пример использования из README демонстрирует обучение DCNClassifier на игрушечном наборе данных: достаточно указать список численных и категориальных признаков, размеры скрытых слоёв, количество cross-слоёв и другие гиперпараметры. Установка осуществляется через pip install scikit-rank. Авторы подчёркивают, что библиотека — это именно обёртка, а не новый фреймворк, и её цель — минимизировать изменения в коде при переходе на нейроранкеры. Такой подход снижает порог входа для команд, уже знакомых со scikit-learn, и позволяет переиспользовать существующую инфраструктуру обработки данных и валидации.

На российском рынке scikit-rank может снизить барьер для команд, уже использующих scikit-learn и градиентные бустинги. Библиотека позволяет экспериментировать с нейросетевыми моделями без переписывания инфраструктуры, что особенно важно в условиях импортозамещения и ограниченного доступа к зарубежным инструментам. Конкурирующие open-source решения, такие как FuxiCTR и DeepCTR, не поддерживают парадигму fit/predict, не работают с polars и не предоставляют автоматическое преобразование данных для численных и категориальных признаков. Scikit-rank решает эти проблемы, предлагая знакомый интерфейс. Отраслевые эксперты отмечают, что подобные инициативы способствуют распространению нейросетевых подходов в рекомендательных системах, хотя для некоторых команд переход с бустингов всё ещё требует доказательств преимущества на реальных данных. Важно и то, что библиотека распространяется как open source, а значит, может развиваться силами сообщества, а не только внутренней команды банка.

По сравнению с альтернативами scikit-rank выигрывает за счёт совместимости с scikit-learn и поддержки современных библиотек работы с данными. FuxiCTR и DeepCTR ориентированы на исследователей и требуют написания собственных циклов обучения, что увеличивает время внедрения. В то же время градиентные бустинги остаются более простыми в настройке и часто дают конкурентное качество на табличных данных. Scikit-rank не заменяет бустинги, а предлагает альтернативу для тех случаев, где нейросети могут дать прирост за счёт масштабирования и гибкого моделирования признаков. Авторы подчёркивают, что библиотека — это обёртка, а не новый фреймворк, и её цель — минимизировать изменения в коде при переходе на нейроранкеры. Именно эта философия отличает проект от исследовательских фреймворков: он нацелен на продуктовые команды, а не на соревнования или академические эксперименты.

В будущем Т-Банк планирует развивать библиотеку и расширять список поддерживаемых моделей. Открытыми остаются вопросы о том, насколько широко scikit-rank будет принят сообществом и сможет ли он изменить ситуацию с внедрением нейросетевых моделей в рекомендательных системах. Пока проект находится на стадии демонстрации на ACM RecSys 2026, где авторы сравнили его с FuxiCTR и DeepCTR. Успех будет зависеть от активности контрибьюторов и готовности команд пробовать новые подходы. Если scikit-rank оправдает ожидания, он может стать стандартным инструментом для нейросетевого ранжирования в задачах, где раньше доминировали бустинги. Однако без независимых подтверждений на реальных продакшен-данных и без появления новых поддерживаемых архитектур за пределами DCN вопрос о массовом переходе остаётся открытым.

Читайте также