Вступление
Ранее этим летом (август 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
Нравится то, что вы читаете? Ознакомьтесь с нашими последними публикациями:
Хотите присоединиться к толпе? Посетите страницу нашей карьеры: