Автор: Юнсун Го | Инженер Pinterest, домашний канал

В прошлом году Pinterest стала поистине глобальной компанией: более половины людей используют наше приложение за пределами США. Мы вложили значительные средства в то, чтобы сделать Pinterest персональным, быстрым и надежным для всех, независимо от языка, местоположения или устройства, что привело к серьезным последствиям. удержание и вовлеченность во всем мире. Например, с помощью моделей машинного обучения мы увеличили количество локализованных пинов для стран за пределами США на 250 процентов за последний год. Теперь каждый из более чем 150 миллионов человек, которые ежемесячно посещают Pinterest, помимо других сигналов видят пины, наиболее подходящие для их страны и языка. В конечном итоге машинное обучение позволило нам расширить наши системы, чтобы лучше понимать международный контент и пиннеры, а также локализовать опыт для ускоренного роста.

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

Главная страница Pinterest

Мы не увидели бы никакой выгоды, если бы сначала не начали с одной из самых популярных частей сервиса - домашнего фида. Каждому из наших 150 миллионов активных пиннеров каждый раз при посещении предоставляется персонализированная домашняя лента, для чего требуется приложение машинного обучения, чтобы постоянно повышать актуальность идей. (Для получения дополнительных сведений о настройке задачи машинного обучения, создании обучающих экземпляров, более ранних функциях и линейной модели, которую мы использовали при ранжировании домашних каналов, ознакомьтесь с предыдущей записью в блоге.) На протяжении многих лет мы развивали наши модели ранжирования от логистическая регрессия для поддержки векторной машины (SVM), а теперь и для деревьев решений с градиентным усилением (GBDT). В следующих разделах мы рассмотрим три основных улучшения наших конвейеров моделирования и проектирования функций.

От линейных моделей к деревьям решений с градиентным усилением (GBDT)

Одна из основных проблем, с которыми мы столкнулись, заключалась в предоставлении Pinners бесконечного потока актуального и интересного контента, персонализированного в соответствии с их вкусами и интересами. Домашний канал решает эту проблему, используя модели машинного обучения (также известные как Pinnability) для ранжирования большого набора потенциальных пинов на основе прогнозируемой релевантности и представления наиболее актуальных из них. Точность прогнозирования релевантности с помощью моделей Pinnability отчасти является ключом к успеху Pinterest. Раньше для построения моделей прогнозирования релевантности мы использовали только линейные модели, либо логистическую регрессию, либо ранжирование SVM с линейной функцией ядра. Когда использовалось относительно небольшое количество признаков (

Из наших экспериментов A / B мы обнаружили, что деревья решений с градиентным усилением (GBDT) обеспечивают наилучшие результаты взаимодействия, поэтому мы полностью внедрили их в домашнюю ленту в начале прошлого года. Модели GBDT помогают пиннерам находить более актуальные и персонализированные идеи в своей домашней ленте. В результате количество людей, ежедневно сохраняющих пины из своего домашнего корма, увеличилось более чем на 10 процентов, что стало самым большим приростом вовлеченности в домашнее кормление в прошлом году. Модели GBDT особенно увеличили количество релевантных пинов, обнаруженных и сохраненных людьми за пределами США, на 18 процентов, в зависимости от страны. Мы используем Apache Hive и Cascading для генерации обучающих данных и xgboost для обучения наших моделей GBDT в автономном режиме на одном экземпляре AWS r3.8xlarge. Для больших наборов обучающих данных мы разработали возможность распределенного обучения моделей GBDT в нашем собственном кластере Spark. Теперь мы используем более 700 плотных элементов и некоторые разреженные элементы в наших производственных моделях, состоящих из 350 деревьев седьмой глубины.

Функции соответствия языка и страны

Сначала наши модели не содержали специфических функций для пиннеров за пределами США, поэтому люди со схожими интересами из разных стран обычно получали одинаковую оценку релевантности. Чтобы улучшить этот опыт, мы начали проект по локализации домашней ленты. Как и следовало ожидать, согласно нашему исследованию, пиннеры за пределами США обычно предпочитают пины с текстом на их родном языке. Мы определяем язык и страну Пина как основной язык и страну внешней веб-страницы, с которой был сохранен Пин. Мы разработали точные модели определения языка на основе текста внешней страницы и добавили десятки функций сопоставления страны / языка, таких как совпадает ли язык и страна Пиннера с языком и страной Пина, и , если язык Пиннера входит в число X языков, на которых чаще всего говорят другие, сохранившие Пин. Всего мы определили ~ 40 функций сопоставления на основе языка и страны и добавили их в наши модели GBDT. Благодаря этим функциям модели мы значительно увеличили количество сохраняемых пинов на один международный пиннер на 10–20 процентов, в зависимости от страны.

Еще один важный показатель, который мы измеряем, - это локальность домашнего корма, то есть процент пинов в домашнем корме, которые на первом языке пиннера. Поскольку мы измеряем как локальность, так и количество людей, сохраняющих пины, мы иногда наблюдаем компромисс между большим количеством людей, сохраняющих пины, и меньшим количеством локализованных пинов, особенно для языков, у которых относительно меньше пинов-кандидатов для ранжирования. Например, одна модель производственного ранжирования увеличила количество людей, откладывающих значки, на 4 процента, а локальность снизилась на 8-10 процентов. Мы решили этот компромисс, разработав адаптивный процесс обучения для ГБДТ, описанный в следующем разделе.

Адаптивное обучение моделей ГБДТ

В нашем наборе данных для обучения и сохраненные пины, и нажатые пины являются положительными примерами, в то время как показы, которые не приводят к сохранению или клику, являются отрицательными примерами. С функцией логистических потерь мы используем взвешенное обучение GBDT от xgboost. Мы разработали адаптивный процесс обучения, который определяет разные схемы взвешивания экземпляров для разных деревьев во время обучения. Например, во время обучения мы могли бы указать, что вес каждого сохраненного экземпляра пина в два раза больше, чем у экземпляра перехода по ссылкам для первых 100 деревьев. Затем для следующих 100 деревьев вес каждого экземпляра Пина, сохраненного глобально, в 3 раза больше, чем Пин, сохраненный в США. Мы называем этот процесс установки разного веса экземпляра для разных деревьев «адаптивным обучением GBDT» (как показано на рисунке 1).

На практике мы применяем три разные схемы взвешивания для генерации 350 двоичных деревьев в наших моделях prod GBDT. Сначала мы обучаем 150 деревьев с высокими сохраненными весами пинов, а затем используем эту модель из 150 деревьев в качестве основы для обучения еще 100 деревьев с уточненными настройками веса для сохраненных пинов и переходов по ссылкам. Наконец, мы добавляем 100 деревьев со значительно более высоким весом положительных международных экземпляров, которые включают сохраненные пины и переходы по любым пиннерам за пределами США. Каждое дерево генерируется с 80-процентными случайными выборками обучающих экземпляров. Для максимального увеличения вовлеченности мы постепенно снижали скорость обучения на трех этапах адаптивного обучения.

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

Мы постоянно экспериментируем с новыми способами повышения релевантности более 10 миллиардов рекомендаций, которые мы даем Pinners каждый день, и в их основе лежат модели машинного обучения. Помимо GBDT, мы начали разработку моделей Deep Neural Network (DNN) на основе TensorFlow для ранжирования релевантности домашних каналов. Если вы заинтересованы в решении этих задач машинного обучения, присоединяйтесь к нам!

Благодарности: это совместная работа с Дмитрием Чечиком, Синь Лю и Мукундом Нарасимханом.

Мы также благодарим Сяофан Чена, Дерека Ченга, Кристал Ли, Стефани ДеВет, Криса Пинчака, Ванфан Фу, Юн Чи, Цзяцзин Сю, Грейс Хуан и Дэна Франковски за плодотворные обсуждения и предложения.