Ускоряем кандидатогенерацию Рекламы Яндекса: три шага к потоковой обработке

Архитектура и масштабируемость

Отказоустойчивость
Оптимизация производительности
Распределенные системы
Рекомендации / ML
YTSaurus

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Целевая аудитория — разработчики, архитекторы и технические руководители высоконагруженных рекомендательных систем, которые планируют переход к потоковой обработке данных или уже эксплуатируют такие решения, а также инженеры ML-инфраструктуры, занимающиеся организацией и оптимизацией GPU-инференса в системах потоковой обработки данных

Тезисы

На каждом рекламном запросе самая крупная рекомендательная система Яндекса сначала выбирает из большого числа доступных баннеров относительно небольшое множество подходящих кандидатов и только затем выполняет их дальнейшее ранжирование. Этот предварительный отбор называется кандидатогенерацией. Кандидатогенерация Рекламы Яндекса опирается на контент-систему, которая подготавливает данные для отбора и ранжирования рекламных баннеров на запросе. В production она работает с сотнями терабайт постоянно изменяющихся данных, поддерживает несколько сотен HNSW-индексов, множество KV-индексов и результаты примерно полутора сотен активных дообучающихся ML-моделей, потребляет десятки тысяч ядер, сотню GPU и работает с потоками данных в десятки Гб/с.

Мы перевели этот контур с долгих полных пересчётов на платформу потоковой обработки данных, одновременно сократив потребление CPU- и GPU-ресурсов. Раньше самые быстрые индексы генерировались 4.5 часа, а в худшем случае обновление индекса занимало более 12 часов. Теперь от события в рекламном runtime до построения затронутых индексов и доставки обновлений проходит менее 30 минут для всех индексов. На этом пути мы сделали три важных изменения:

  • Перешли к поддержанию содержимого индексов дельтами;
  • Перенесли инференс внутрь потокового графа, заменив обращения во внешний runtime pull-схемой;
  • Передали распределение вычислительных ресурсов потоковой платформе.

О причинах, проблемах и выигрыше от этих изменений и пойдёт речь в докладе.

Руслан Кулагин

Яндекс.Технологии

Руководитель бригады инфраструктуры контент системы БК Рекламных технологий Яндекса. Имеет широкий опыт в разработке и эксплуатации высоконагруженных сервисов.

Видео

Другие доклады секции

Архитектура и масштабируемость