Ведущий разработчик в отдел ранжирования

МоскваC++ПоискСтарший специалист
Мы ищем разработчика в команду веб-ранжирования. Результат нашей работы — качественный продукт, с помощью которого пользователь быстро решает свои задачи, постоянно возвращаясь на Яндекс для поиска. Если на каждом запросе, заданном Яндексу, мы сэкономим десять секунд времени пользователя, то за день мы сбережем совокупно пятьдесят лет человеческой жизни.
Если пытаться описать специфику веб-ранжирования в двух фразах, то можно написать рядом «большие объемы данных» и «машинное обучение». Машинное обучение находит самые релевантные документы по запросу и предсказывает поведение пользователя на выдаче. Его основная задача — строить гипотезы для новых случаев, базируясь на известных примерах. Деревья выбора и нейросети — наш основной рабочий инструмент улучшения качества поиска.
Задача поиска и ранжирования весьма сложна: из десятков миллиардов веб-страниц надо найти всего несколько релевантных запросу. В нашей работе сложность алгоритмов встречается с масштабом: общий объем данных ранжирования превышает сотню петабайт. Так, в ранжировании в Яндексе используются нейросети, натренированные на полных пользовательских логах, содержащих около триллиона событий.
Мы ищем специалиста в машинном обучении, которому интересны задачи, возникающие на масштабах веб-ранжирования. Основная задача — улучшение пользовательских и экспертных метрик поиска и обучение моделей гибридного ранжирования, улучшающих разнообразные аспекты качества. В частности, мы хотим расширить подходы, уже сейчас работающие для ранжирования органических результатов поиска, на ранжирование всей выдачи Яндекса, состоящей из разнородных блоков (картинки, видео, реклама).

Требования:

  • хорошая алгоритмическая подготовка;
  • понимание основ машинного обучения, уверенное знание математики и статистики;
  • ответственность и способность писать надежный production код на С++;
  • инициативность, желание развиваться.