Ищем Senior DS в команду поиска Самоката на задачу ранжирования поисковых выдач. Фокус — L2-ранжирование, внедрение персонализации, переход к гибридному L1, A/B-эксперименты и работа с метриками качества поиска. Это самостоятельная роль с ответственностью за направление ранжирования.
Задачи
- Развивать L2-ранжирование: улучшать LTR-модель, наращивать набор признаков и повышать качество выдачи.
- Проработать переход к гибридному L1-поиску (лексический поиск + dense retrieval): оценить выигрыш в качестве и стоимость, подготовить к выводу в прод.
- Проектировать A/B-эксперименты и проводить их приёмку совместно с продуктовой аналитикой.
- Разбирать ошибки модели, искать закономерности, формулировать продуктовые гипотезы и ставить эксперименты.
- Писать код моделей и инференса на Python в продакшен-качестве (модульность, тесты, замеры производительности). Вывод в прод и поддержку инфры закрывают MLE.
- Делиться экспертизой по ранжированию с командой и работать в связке с продуктовой аналитикой.
Обязательные навыки
- Опыт от 3 лет в задачах ранжирования, поиска или рекомендательных систем в продакшене.
- Опыт обучения LTR-моделей на градиентном бустинге (XGBoost, LightGBM, CatBoost): кастомные функции потерь, работа с признаками под ранжирование, интерпретация моделей.
- Понимание двухуровневой схемы поиска (отбор кандидатов и реранкинг), метрик ранжирования и их компромиссов на разных этапах.
- Понимание типовых проблем ранжирования (смещения в кликовых данных, дрифты, feedback loop) и подходов к их решению.
- Понимание современных нейросетевых подходов в ранжировании (dense retrieval, нейронные реранкеры, sequence-модели) — применимость и компромиссы.
- Продакшен-качество Python-кода: модульность, тесты, читаемость, готовность к передаче MLE на продуктивизацию без переписывания.
- Самостоятельная разработка пайплайнов подготовки данных на PySpark и Polars — нетривиальные трансформации без помощи DA/DE.
- Понимание A/B-тестирования: устройство эксперимента, классы метрик (целевые, прокси, защитные, информационные), формирование набора метрик и ожидаемых эффектов до запуска.
- Умение разбирать ошибки модели, превращать их в продуктовые гипотезы и связывать метрики качества модели с метриками бизнеса и воронкой конверсии.
- Самостоятельность в работе с задачами высокой неопределённости: декомпозиция, оценка сроков, проактивное обсуждение рисков с командой.
Желательные навыки
- Опыт работы с поиском в e-commerce / e-grocery.
- Опыт построения гибридного поиска и dense retrieval; работа с ANN-индексами и метриками текстовой близости.
- Опыт с LLM-as-judge для оценки качества выдачи и автоматизации разбора ошибок.
- Опыт дистилляции LLM или cross-encoder-моделей в компактные модели для онлайн-инференса.
- Знакомство с бандитами (multi-armed, contextual) и их применением в ранжировании — для борьбы с feedback loop и поддержания exploration.
- Опыт офлайн-обучения ранжирующих моделей на кликовых данных и работы с debias-методами.
- Знакомство с FastAPI и asyncio — типовой стек ML-сервисов в команде.
- Готовность делиться экспертизой и помогать расти коллегам.