Масштабирование условного обученного поиска для ленты Pinterest
Лента рекомендаций Pinterest стремится подбирать релевантные пины для пользователей, улучшая свою рекомендательную систему. Изначально использовалась двухбашенная модель, отдельно кодирующая пользователей и элементы, но она плохо справлялась с множественными интересами пользователей. Для решения этой проблемы была разработана условная обученная система поиска (Conditional Learned Retrieval, CLR), которая обуславливает эмбеддинги пользователей явными контекстами поиска. Предыдущие работы исследовали начальное обучение CLR для уведомлений и его интеграцию в многомерную систему эмбеддингов для ленты рекомендаций. В этом блоге подробно описывается эволюция CLR в более широкую систему поиска для ленты рекомендаций Pinterest.CLR был расширен для поддержки разнообразных кандидатов для поиска путем включения новых типов условий, таких как интересы, пины и доски. Условия интересов изначально были начально обучены на сигналах пользователей, а затем улучшены интересами, сгенерированными LLM. Условия пинов включали кластеризацию вовлеченных пинов и их представление с помощью эмбеддингов, что позволило CLR заменить устаревшие генераторы. Условия досок были созданы путем случайных блужданий по графу пинов и досок и представления досок с помощью эмбеддингов.Основы модели были масштабированы с использованием последовательного моделирования и улучшенных представлений условий. Был представлен условный пользовательский последовательный трансформер, чтобы сделать CLR осведомленным о последовательностях, кодируя действия пользователя вместе с токенами условий. Это развилось в архитектуру CLR на основе фундаментальной модели, интегрирующую крупномасштабный трансформер, обученный на глобальных последовательностях пользователей. Эта фундаментальная модель использует общие эмбеддинги пинов как для пользовательской, так и для предметной башни и включает контрастивную функцию потерь выравнивания.Представление условий было унифицировано для обработки гетерогенных условий в рамках одной модели, сокращая дублирование работы. Унифицированный CLR объединил различные типы условий в одну модель, принимая несколько условий и восполняя недостающие признаки. Упрощение маршрутизации включало рефакторинг логики маршрутизации в не зависящую от условий архитектуру слотов с предопределенными слотами для различных типов эмбеддингов.Эффективность обучения CLR была повышена за счет оптимизации инфраструктуры без потерь, которая удвоила пропускную способность обучения. Обучение на уровне запросов дедуплицирует идентичные пользовательские признаки в пределах пакета, и дальнейшие оптимизации продолжаются. Система теперь эффективно обрабатывает поиск по нескольким условиям в производственном масштабе, повышая вовлеченность пользователей за счет более разнообразного и релевантного контента.