Вступление

Ранее этим летом (август 2020 г.) команды Criteo R&D с гордостью запустили проект под кодовым названием DRACuLa в производство, что значительно повысило производительность нашего движка в наших основных бизнес-кейсах.

Хотя тенденции явно склоняются в сторону «ИИ». (Искусственный интеллект), этот проект демонстрирует, что сочетание более простых методов все еще может победить магию глубоких сетей в определенных случаях.

Бытие - Почему?

С 2010 года машинное обучение (ML) играет важную роль в бизнесе Criteo. Хотя тип модели машинного обучения имеет важное значение (регрессия, глубокая нейронная сеть, деревья принятия решений и т. Д.), Два других важных шага имеют огромное влияние на производительность всего конвейера: качество данных собраны в первую очередь и так называемая инженерия. Последний включает в себя всю обработку данных, превращающую историю взаимодействий с пользователем, партнером, издателем в вектор реальных характеристик, пригодный для использования самими моделями машинного обучения.

С одной стороны, первоначальный успех Criteo опирался на Обобщенную линейную модель (также известную как Логистическая регрессия) для модели машинного обучения и хеш-трюк для кодирования функций. Хотя эти инструменты позволяют Criteo надежно масштабироваться и масштабироваться, их производительность машинного обучения сейчас находится на стабильном уровне, и мы считаем, что Criteo достигла пределов этой архитектуры: поиск полезных функций для дальнейшего добавления в модель становится все труднее.

С другой стороны, функции, сформированные с помощью счетчиков пользовательских событий по различным ключевым измерениям и кросс-измерениям, в сочетании с нелинейными моделями машинного обучения, как хорошо известно, дают улучшения в производительность. Эта архитектура, получившая название DRACuLa (Distributed Robust Algorithm for Count Based Learning), стала современным промышленным решением для моделей поиска и моделей ставок в рекламе. Он также полагается на приблизительный подсчет с помощью count min-sketch ​​(CMS), чтобы сделать подсчет масштабируемым, а модели можно было развернуть в Интернете.

Анатомия - Что?

Давайте теперь рассмотрим разницу в характеристиках между этими двумя семействами моделей машинного обучения.

A- Модель логистической регрессии

Историческая модель, используемая в Criteo, - это модель логистической регрессии: решение проблемы рейтинга кликов (CTR) путем прогнозирования вероятности того, что пользователь нажмет на отображаемый баннер с учетом контекста. У них есть хорошие свойства: их легко вычислить (выпуклые потери), чтобы они могли работать в многомерном пространстве, используя трюк хеширования (таким образом, обрабатывая категориальные особенности высокой мощности такие как идентификаторы - Advertiser_id, publisher_id) и быть очень быстрым во время вывода (требуется только простой точечный продукт, как показано на рисунке ниже). Огромное количество примеров, доступных во время обучения (несколько миллиардов в день), уравновешивает высокую размерность представления функций, чтобы избежать переобучения во время обучения.

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

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

B- модели DRACuLa (деревья решений + счетчики)

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

Модели DRACuLa решают эту проблему, комбинируя деревья решений с конкретным кодированием категориальных признаков в числовые, используя методы кодирования средних значений: вместо использования конкретной модальности данного входного измерения мы используем подсчеты и соотношение модальности в с учетом цели, которую мы хотим оптимизировать (например: щелчок или отсутствие щелчка).

C- Сравнение характеристик каждого типа модели

В таблице ниже мы суммируем основные аспекты обоих семейств моделей:

Подведение итогов - как все прошло?

Наша первая надежда заключалась в том, что модели DRACuLa просто превзойдут старые добрые модели логистической регрессии: способность выражать нелинейное поведение и автоматическое определение перекрестных характеристик формировали очень многообещающего соперника. Первая серия онлайн-тестов A / B (чистый DRACuLa против логистической регрессии) оказалась отрицательной или нейтральной. В самом деле, победа за годы тонкой настройки и разработки функций не будет легкой борьбой. Даже если поначалу и разочаровали наши команды, они не сдались так легко: если новые модели не смогут просто превзойти старые, смогут ли они компенсировать слабости друг друга?

Следуя этой идее, композиция (здесь среднее геометрическое) обеих моделей была сформирована на месте с использованием ансамблевых методов, опираясь на гипотезу о том, что использование нескольких алгоритмов обучения даст более высокую прогнозирующую способность, чем можно было бы получить с помощью одного из составляющих алгоритмов обучения.

История подтвердила эту правоту, превзойдя производственный базовый уровень с колоссальным подъемом по всему спектру адаптивных моделей!

Единство - сила - открытость, вместе, результативность!

Благодарность всем участвующим командам НИОКР: платформа машинного обучения, торги, CAML, арбитраж / предварительная поставка / инфраструктура и EPM

Нравится то, что вы читаете? Ознакомьтесь с нашими последними публикациями:





Хотите присоединиться к толпе? Посетите страницу нашей карьеры: