Зачем бариста земснаряд, а электромонтёру перкуссионный массажёр? Как так получается, что стоит только подумать об отпуске, как все баннеры предлагают путёвки в Дагестан? И почему после одного-единственного запроса о поворотниках для BMW ещё месяц продолжают крутиться объявления о покупке б/у запчастей? За всё это отвечает «Баннерная крутилка». Сервис обрабатывает 99% запросов всего за 200 миллисекунд, использует ML и серьёзно экономит ресурсы компании. И вот, как это всё работает.

понятия не имею, что «под ключ»
понятия не имею, что «под ключ»

Фильтрация объявлений

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

Обработка документов

И дальше начинается самое интересное — обработка документов. Тут систему можно сравнить со скульптором, которому принесли огромную глыбу мрамора. Нужно отсечь всё лишнее. И пока глыба (наш массив объявлений) большая, действовать можно самыми простыми и «грубыми» инструментами.

Кластеризация и «ленивая материализация»

Все объекты в массиве разбиваются на кластеры. Иерархия такая: клиент → кампания → группа → баннер. На этом этапе крутилка работает с верхнеуровневыми элементами. Так можно сразу отсекать неподходящие кластеры, а это большой объём данных.

Далее «Баннерная крутилка» идёт по иерархии вниз, убирая из массива всё больше и больше неподходящих объявлений, пока не останутся наиболее релевантные. Здесь применяется так называемая «ленивая материализация объектов». То есть все объявления ранжируются по какому-то значению и система движется по получившемуся списку в порядке убывания приоритета. Так менее подходящие документы не попадают в итоговую подборку, с которой работают более «тяжелые» модели. И это тоже экономия ресурсов.

При этом не обязательно взаимодействовать со всем объектом/объявлением. Достаточно посмотреть его атрибуты. Например, если есть ограничения по возрасту или домену, мы просто сравниваем данный атрибут с белым/чёрным списком.

Наконец-то ИИ

И вот когда мы имеем готовый список самых релевантных объявлений, который, очевидно, гораздо меньше начального, можно запускать ML. Верхняя часть нейросети обрабатывает объявления, а нижняя — запросы потенциального кандидата. И только потом получившиеся результаты связываются в виде скалярного произведения. Так и происходит обучение таргета.

Далее система составляет топ, а кандидатов из нижней части убирает. И вот здесь уже можно применять тяжелые модели, которые делают инференс кандидатов. Так подбираются самые релевантные объявления по интересам пользователя.

Как модель ускоряют

Чтобы ускорить работу «Баннерной крутилки» и освободить ресурсы, используют шардирование. Объявления попадают в шарды по принципу shard=Id% NumberOfShards. То есть практически случайным образом. Так шардирование можно сделать более равномерным.

Разработчики Яндекса строят микросервисную архитектуру. А для перекладывания информации из одного сервиса в другой применяют протоколы Protobuf и Flatbuffers. Так сокращается время на сериализацию и десериализацию.

Текст составлен на основе доклада Артёма Ваншулина, руководителя разработки ранжирования в команде баннерной системы Яндекса.

Комментарии (5)


  1. Ivnika
    19.07.2024 04:14
    +1

    Двоякие ощущения, с одной стороны интересна механика, а с другой это как если рабам рассказывать как изготавливается плеть, чтобы нанести максимум "урона"


  1. WinLin2
    19.07.2024 04:14
    +5

    В последнее время яндекс-видео каждые 5 минут показывает по 4 рекламных ролика вместо 2. Можно ли с помощью этой технологии еще увеличить количество рекламмных показов до 8?


  1. MikhailZakharov
    19.07.2024 04:14
    +2

    1. Открыл в Яндекс Браузере поиск Яндекса

    2. Ищешь товар

    3. Переходишь по ссылке на Яндекс Маркет

    4. Покупаешь товар, оплачивая привязанной к Маркету картой

    5. Еще месяц "баннерная крутилка" показывает тебе товары которые ты искал в п.2

    Вот бы там подкрутили что-то


    1. Dolios
      19.07.2024 04:14
      +1

      Спасибо за обращение! Подкрутили, теперь товар будет показываться еще 2 месяца!


  1. T968
    19.07.2024 04:14
    +1

    В применении ML есть иллюзия, что применение ИИ компенсирует недостаток естественного интеллекта сотрудников.

    Но это не так. Применение ИИ наоборот, требует наличие существенного естественного интеллекта и опыта у сотрудников этот ИИ применяющим. И это основная "засада" в применении ИИ.