Как ранжирование кандидатов в офлайне помогает ускорить отбор рекламы

Сайты рекламной сети Яндекса ежесекундно генерируют до ста тысяч запросов к серверам рекламной системы. Каждый запрос должен быть тщательно обработан: из всего многообразия баннеров-кандидатов, отобранных с помощью различных алгоритмов, необходимо за приемлемое время выбрать только наиболее подходящие интересам пользователя и контенту сайта-партнёра.

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

Доклад должен быть интересен разработчикам, интересующимся высокоуровневыми оптимизациями бизнес-логики и применением машинного обучения в высоконагруженных сервисах.