Scikit-rank: как Т-Банк упростил внедрение нейросетевых ранжировщиков для инженеров
Команда рекомендательных технологий Т-Банка выпустила open-source библиотеку scikit-rank, которая позволяет интегрировать сложные нейросетевые модели в стандартные пайплайны машинного обучения с минимальными изменениями кода. Инструмент, совместимый со scikit-learn, автоматизирует обработку признаков и обучение на GPU, что ранее требовало создания специализированной инфраструктуры.
# Scikit-rank: мост между классическим бустингом и нейросетевым ранжированием
Рекомендательные системы долгое время строились на парадигме двухэтапной обработки: сначала отбор сотен кандидатов легкой моделью, затем финальное ранжирование с помощью алгоритмов градиентного бустинга, таких как LightGBM или CatBoost. Эти методы зарекомендовали себя как надежные «рабочие лошадки», обеспечивающие стабильное качество на табличных данных. Однако в последние годы в индустрии возник интерес к замене бустингов на нейросети, которые теоретически способны масштабироваться с ростом объема данных и более гибко моделировать сложные взаимодействия признаков.
В Т-Банке столкнулись с типичной дилеммой: лабораторные результаты нейросетей часто выглядят обещанно, но их внедрение в продакшен требует колоссальных затрат времени и ресурсов. Инженерам приходится писать код с нуля для предобработки числовых и категориальных признаков, настройки циклов обучения на PyTorch и организации инференса. Процесс описывается как «высокие усилия при низкой уверенности в успехе». Чтобы преодолеть этот барьер, команда разработала специализированную библиотеку — scikit-rank.
Архитектура на стыке экосистем
Главная философская идея проекта заключалась в минимизации трения между новым подходом и существующей практикой. Разработчики создали обертку, которая инкапсулирует сложность нейросетевых архитектур, предоставляя привычный для ML-инженеров интерфейс fit и predict в духе scikit-learn.
Библиотека поддерживает популярные архитектуры для ранжирования и классификации, включая DCN v2, FinalNet, FinalMLP и Destine. Ключевой особенностью является модульность: модель считается набором компонентов (энкодеры, слои сети, функции потерь), которые можно комбинировать между собой. Например, архитектура DCN v2 является «агностичной» к функции потерь, что позволяет использовать с ней различные методы оптимизации, такие как LambdaRank, ListMLE или BPR, в рамках единого API.
Внутри методов обработки данных реализован полноценный препроцессинг. Это включает: * Обработку пропусков (заполнение нулями или медианой). * Нормализацию числовых признаков (стандартную или квантильную). * Кодирование категориальных признаков через эмбеддинги или многохэш-представления (multi-hash), что позволяет эффективно учитывать высокую Cardinality. * Специальные энкодеры, такие как Piecewise Linear Encoding (PLE), для повышения точности аппроксимации нелинейных зависимостей.
Инфраструктурная интеграция и производительность
Одной из основных задач при внедрении глубокого обучения в корпоративную среду является работа с ресурсами. Scikit-rank спроектирована так, чтобы не требовать от пользователя написания специфического кода для GPU. Поддерживается обучение как на CPU, так и на GPU с CUDA.
Благодаря интеграции с инструментами Hugging Face Accelerate, библиотека умеет автоматически настраивать обучение с точностью смешанной плавающей точки (mixed precision), управление накоплением градиентов и распределенное обучение на нескольких видеокартах. Это позволяет масштабировать эксперименты на больших датасетах без существенного перестроения кода. Предсказания также вычисляются на ускоренных устройствах, что критически важно для задач ранжирования в реальном времени.
Практические результаты и признание сообщества
Эффективность подхода была проверена на внутренних данных банка и открытых бенчмарках. В ходе тестов на открытом наборе данных MIND-small и BARS нейросетевая реализация продемонстрировала прирост качества по метрикам CTR и паритет с лучшими результатами, достигнутыми градиентными бустингами. В внутренних проектах Т-Банка офлайн-эксперименты показали улучшение качества моделей на 3–7%.
Более того, одна из моделей прошла успешный A/B-тестирование в онлайн-среде, где продемонстрировала прирост бизнес-метрик на 4–7% по сравнению с текущими решениями на базе градиентного бустинга.
Заслуги команды были отмечены в академическом сообществе: проект был принят на основную международную конференцию ACM RecSys 2026 в США. Он вошел в программу трека Demo как значимый вклад в область рекомендательных систем.
Заключение
Библиотека scikit-rank решает проблему доступности продвинутых технологий ранжирования. Она позволяет командам переходить от экспериментов с градиентным бустингом к использованию нейросетей без необходимости создавать сложную инфраструктуру с нуля. Формат, напоминающий привычные инструменты, повышает уверенность инженеров и ускоряет интеграцию современных методов в существующие продукты. Проект доступен по лицензии MIT, что открывает его для использования сторонними разработчиками и исследователями по всему миру.