11 сентября 2026 г.
Одна история действий подходит для четырёх задач: Perseus поднял Recall@100 до 0,1812
В статье Т-Банка от 11 сентября 2026 года Perseus поднял Recall@100 в кандидатогенерации с 0,1275 до 0,1812. Фреймворк работает с историей действий пользователей и покрывает кандидатогенерацию, ранжирование, классификацию и регрессию.
Раньше в кандидатогенерации исходный вариант на одном `item_id` давал Recall@100 0,1275. Perseus поднял результат до 0,1518, после добавления событий до 0,1638, а после изменения архитектуры до 0,1812. На T-ECD это проверяли на 5 доменах, более 40 млн пользователей, 30 млн товаров, свыше 1 млн магазинов и более 135 млрд взаимодействий.
Подготовка. Для запуска нужен Python `>=3.12,<3.13`. После клонирования репозитория выполняется `uv sync`. Event Hub хранит события локально в Parquet: таблице нужны непустой `client_id` типа `str` и `timestamp` типа `datetime[ns]`, затем события добавляются командой `python -m perseus event-hub add-events events.pq --name transactions-purchase`.
Запуск. Разработчик загружает события в Event Hub, готовит train/test-базис, создаёт YAML-конфиг и запускает обучение с инференсом. Подготовка и обучение идут командами `python -m perseus train prepare-dataset --workdir <workdir>` и `accelerate launch -m perseus train fit-model --workdir <workdir>`, чекпойнт появляется в `checkpoint/`. Для инференса используются `inference distribute-samples`, `inference make-backbone-embeddings` и `inference make-head-predictions`, итоговые предсказания записываются в `predictions/`.
На ранжировании Perseus дал NDCG@20 0,4984 и MRR@20 0,4578 против 0,4812 и 0,4357 у бейзлайна по популярности. В классификации активности на Marketplace на следующие 7 дней ROC-AUC составил 0,59 против 0,52 у правила-бейзлайна, а в регрессии месячных трат MAE снизился с 7,7591 до 7,1497 и RMSE с 13,9357 до 13,5175.
Открытый репозиторий Perseus и туториал дают полный маршрут от Parquet-событий до чекпойнта и итоговых предсказаний.
Первоисточник
