Разработчик на C++ в ML-инфраструктуру рекомендаций Яндекс Еды (MLOps)

Яндекс·Russia·Удалённо, Офис·сегодня

Мы ищем бэкенд-разработчика, который поможет развивать ML-инфраструктуру поиска и рекомендаций Яндекс Еды.

Наши сервисы работают под высокой нагрузкой: например, через ранжирование главной страницы проходят тысячи запросов в секунду. При этом новые возможности рекомендаций напрямую влияют на пользовательский опыт и результаты бизнеса. Поэтому для нас одинаково важны скорость разработки, надёжность системы и эффективное использование вычислительных ресурсов.

Основная часть сервисов написана на C++. Вам предстоит с первых задач развивать существующую кодовую базу.

Инфраструктура для моделей рекомендаций
Мы строим production-инфраструктуру для моделей, которые улучшают поиск и рекомендации: от подготовки эмбеддингов и управления версиями до быстрого и надёжного инференса под реальной нагрузкой. Вы будете безопасно раскатывать новые версии, следить за согласованностью моделей и эмбеддингов, развивать мониторинг качества и быстро обнаруживать ухудшения ранжирования. Глубоко заниматься устройством самих нейросетей не потребуется: команда получает готовые модели и отвечает за их интеграцию и работу в продакшене.

Платформа пользовательских профилей
Мы хотим быстрее учитывать свежие сигналы о действиях пользователя в поиске и рекомендациях. Здесь много интересных задач по распределённым системам: обработка событий exactly-once, шардирование и обновление больших профилей, объединение сигналов из разных источников, согласованность онлайн- и офлайн-фич, восстановление данных и мониторинг всего пути от события до ответа модели. Предстоит работать с потоковой обработкой данных, динамическими таблицами и распределёнными хранилищами. Вы сможете повлиять на архитектуру платформы для разных ML-команд.

Межсервисное взаимодействие
Вы будете участвовать в развитии взаимодействия сервисов на базе gRPC: проектировать Protobuf-контракты, улучшать общие инструменты и библиотеки, а также обеспечивать надёжность сервисных интеграций.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

  • Занимались бэкенд-разработкой на C++ и готовы с первых задач работать с большой существующей кодовой базой
  • Понимаете, как проектировать и эксплуатировать высоконагруженные сервисы и распределённые системы
  • Умеете самостоятельно разбираться в сложной задаче, договариваться со смежными командами и доводить решение до продакшена
  • Интересуетесь рекомендательными системами и инфраструктурой вокруг ML. Знакомство с RecSys и современными ML-моделями будет полезно, но глубоких знаний об устройстве нейросетей мы не требуем
  • Уверенно владеете Python
  • Работали с рекомендательными или поисковыми системами либо с MLOps
  • Знакомы с gRPC, Protobuf, userver, потоковой обработкой данных или распределёнными хранилищами

Узнайте про разработку Городских сервисов Яндекса на dev.go.yandex

Похожие вакансии

Другие вакансии Яндекс