Т-Банк выпустил scikit-rank для нейросетевого ранжирования
Т-Банк 30 сентября представил scikit-rank — открытую библиотеку для внедрения нейросетевых моделей ранжирования в рекомендательные системы. Она адресована ML-инженерам и исследователям, которые хотят экспериментировать с нейроранкерами внутри существующих пайплайнов scikit-learn, не переписывая весь процесс подготовки данных, обучения и инференса.
Библиотека предоставляет привычные методы fit и predict, а также модели для классификации, регрессии и ранжирования: DCNClassifier, DCNRegressor и DCNRanker. На вход можно подавать данные в форматах NumPy, pandas и Polars. Для ранжирования требуется указать группы объектов — например, идентификаторы показов, внутри которых модель должна упорядочивать кандидатов.
В scikit-rank доступны архитектуры DCN v2, FinalNet, FinalMLP, Destine и TabM. Архитектуру можно сочетать с разными функциями потерь, включая BPR, LambdaRank, ListMLE и CORAL. Такой модульный подход позволяет, например, использовать DCN v2 не только с LogLoss, фигурировавшим в исходной работе об этой архитектуре, но и с ранжирующими функциями потерь.
Значительная часть прикладной работы встроена в методы библиотеки. Scikit-rank умеет заполнять пропуски нулями или медианой, выполнять стандартную либо квантильную нормализацию, кодировать численные признаки с помощью Piecewise Linear Encoding и создавать эмбеддинги категориальных признаков. Для высококардинальных полей, таких как идентификаторы пользователей и объектов, предусмотрено multi-hash-представление.
Обучение построено на PyTorch и может выполняться на CPU или GPU с CUDA. Через Hugging Face Accelerate библиотека поддерживает mixed precision, накопление градиентов и распределённое обучение на нескольких GPU. Перенос модели и батчей на выбранное устройство при обучении и получении предсказаний выполняется внутри библиотеки.
По данным Т-Банка, реализация DCN воспроизвела качество аналога из FuxiCTR на открытом бенчмарке BARS, а на MIND-small могла превосходить его благодаря настройке обработки признаков и функций потерь. Компания также сообщает о приросте офлайн-метрик на 3–7% в трёх внутренних задачах и улучшении бизнес-метрик на 4–7% в одном онлайн-тесте против градиентного бустинга. Подробной таблицы результатов и статистической значимости этих внутренних измерений на странице объявления нет, поэтому цифры следует рассматривать как результаты, заявленные разработчиком.
Практический контекст: Практическая ценность scikit-rank — не в новой архитектуре как таковой, а в снижении стоимости эксперимента. Команда с уже работающим scikit-learn-подобным контуром может заменить модель и сохранить знакомую схему fit/predict, тогда как препроцессинг и цикл PyTorch скрыты за единым API. Это упрощает проверку нейроранкера рядом с бустингом, но не гарантирует улучшения: сам Т-Банк описывает ранние тесты DCN v2, где модель сначала уступила продакшен-алгоритму, а затем дала нейтральный результат.
| Область | Поддержка | Практическое назначение |
|---|---|---|
| Модели | DCN v2, FinalNet, FinalMLP, Destine, TabM | Классификация, регрессия и ранжирование |
| Входные данные | NumPy, pandas, Polars | Подключение к существующим табличным пайплайнам |
| Функции потерь | BPR, LambdaRank, ListMLE, CORAL и другие | Комбинирование архитектуры и задачи обучения |
| Вычисления | CPU, GPU с CUDA, несколько GPU через Accelerate | Обучение и получение предсказаний |
Источники
Дата события: 2026-09-30. Дата первоисточника: 2026-09-30.