За период с начала года по конец первого квартала основная бизнесовая метрика команды персональных рекомендаций, доля GMV главной, выросла примерно вполовину - связано это как с улучшением текущих и интеграцией новых кандидатных моделей вкупе с развитием реранкера, так и с прогрессом в логике реактивности.
Во втором квартале мы продолжили идти “в глубину” - тестировали множество гипотез, связанных с нашими основными моделями для выдач на главной, но что гораздо более важно, шагнули и “в ширину” - начали персонализировать другие источники маркетпелйса на базе своих эмбеддингов.
🗂 В каталоге векторное доранжирование также показало хороший результат и было выкачено на прод
Движение в ширину - один из двух драйверов дальнейшего роста метрик и развития команды, которые мы для себя наметили, про второй - расскажу в следующих постах.
Не останавливаемся на достигнутом, продолжаем работу. Быть добру!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Нас уже больше тысячи, а постов про CV еще не было. Исправляем это упущение!
В своем выступлении на I`ML, лид стрима мультимодальных эмбеддингов команды персонализации, Степа Евстифеев, рассказал про архитектуру модели, которая внутри компании известна как “кропы”.
Про то, как сетка для детекции элементов одежды доехала до прода - читайте в презентации!
Подробнее про саму задачу поиска по фото расскажем в следующих постах в рамках CV трека.
@wildrecsys
Please open Telegram to view this post
VIEW IN TELEGRAM
IML 2024. Обучение, применение и сопровождение моделей в продакшене
Компьютерное зрение в Wildberries: поиск товара по фотографии и детекция «главного» объекта | Доклад на IML 2024
Расскажу, как устроен поиск по фотографии в маркетплейсе Wildberries. Детально разберем одну из проблем — поиск «главного» объекта на изображении с помощью детекторов.
Forwarded from WB Space
#wb_в_деле
Интересуешься Машинным обучением и Data Science? Хочешь узнать, как современные технологии применяются в работе маркеплейса? Тогда welcome на первый ML Meetup Wildberries🎤
На митапе спикеры расскажут про ML-решения в продуктах и процессах компании, а также поделятся интересными решениями в Рекомендациях и Поиске.
🔜 11 сентября, 18:00
📍 офис Wildberries в Москве, метро Белорусская
Регистрация уже открыта. Поторопись, количество мест ограничено⚪️
Подписывайтесь, чтобы не пропустить новые подробности о митапе:
🌟 @wb_space
Интересуешься Машинным обучением и Data Science? Хочешь узнать, как современные технологии применяются в работе маркеплейса? Тогда welcome на первый ML Meetup Wildberries
На митапе спикеры расскажут про ML-решения в продуктах и процессах компании, а также поделятся интересными решениями в Рекомендациях и Поиске.
Регистрация уже открыта. Поторопись, количество мест ограничено
Подписывайтесь, чтобы не пропустить новые подробности о митапе:
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! Рад сообщить, что мне выпала честь представлять Wildberries в целом и команду персонализации в частности на конференции AiConf 2024, которая будет проходить 26 - 27 сентября.
Расскажу про то, как шаг за шагом нативный BERT4Rec превратился в WildBERT — инструмент, который играет одну из самых важных ролей в персонализации Wildberries. На главной, в карточке товара, поиске и каталоге.
- Large vocabulary bottleneck, negative sampling и logQ correction;
- выкатка в прод и бизнесовые требования, дихотомия офлайн и онлайн метрик;
- подход к маскированию при обучении, next basket prediction;
- формирование цепочки взаимодействий юзера — якорные товары, комбинированный фидбэк и учет OOV;
- ALBERT или DEBERTA;
- SparseAdam и ускорение обучения;
- квоты как инструмент оптимизации diversity;
- интеграция в единую инфраструктуру WBX, что позволило унифицировать процесс векторного доранжирования выдач на главной, в поиске и каталоге;
- и многое другое!
Please open Telegram to view this post
VIEW IN TELEGRAM
Вчера, во второй, завершающий день конференции, выступили сразу с двумя докладами:
P.S. Большое спасибо всем, кто принимал участие в подготовке докладов и тем, кто всячески поддерживал!
P.P.S. Слева направо - Саша Самойлов, Макс Пасашков, Женя Иванов, Степа Евстифеев
Please open Telegram to view this post
VIEW IN TELEGRAM
Читая статью на Хабре наткнулся на комментарий (первый скрин под этим постом) от 2021 года, в котором подсвечивается одна из проблем реактивного домешивания на главной.
Исходная задумка простая - давайте заранее построим i2i матчинг похожих товаров (второй скрин). Далее, юзер в рамках сессии кликает на товары, а мы в онлайне домешиваем на главную похожие карточки.
Работает хорошо, но есть corner case - если я выбираю определенный товар (ту же лопату), то я прокликаю их много - а значит вся главная будет забита лопатами.
В прошлом квартале, в рамках решения проблемы, выкатили 2 большие фичи. Первая - это экспоненциальное затухание реактивных взаимодействий, чтобы через некоторое время главная “откатывалась” к исходному состоянию.
Вторая - применение MMR в мерджере
Подробнее про эксперименты с MMR и DPP расскажет Никита Ваганов, DS в команде HML, в рамках обзорной статьи.
Всем хороших выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Разнообразие выдачи или почему лучшее - враг хорошего
Эта и другие статьи про рекомендации в Wildberries выходят в рамках телеграм канала @wildrecsys Введение Всем привет! Меня зовут Никита, Data Scientist в команде HML Wildberries. Сегодня поделюсь с вами подходами к повышению diversity персональных рекомендаций…
Не успела на разных ресурсах отгреметь новость (VC, Habr, Рифмы и Панчи и многие другие) о выкатке нового большого релиза поиска по фото, а лид одноименной команды, Никита Романов, уже написал большую статью про то, как все устроено под капотом!
Про архитектуру, детекцию объектов и валидацию - читайте в первой части разбора!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Поиск по фото
Введение Привет, меня зовут Романов Никита - Тимлид команды визуально похожих товаров и поиска по фото в Wildberries. И сегодня я расскажу о том, как работает поиск по фото - сервис делает процесс покупок проще и быстрее, помогает пользователям находить именно…
WildRecSys
#wb_в_деле Интересуешься Машинным обучением и Data Science? Хочешь узнать, как современные технологии применяются в работе маркеплейса? Тогда welcome на первый ML Meetup Wildberries 🎤 На митапе спикеры расскажут про ML-решения в продуктах и процессах компании…
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Графовые нейронные сети в рекомендациях / ML Meetup Wildberries, Александр Тришин
Александр Тришин, Data Scientist RecSys рассказывает про принципы работы сверточных графовых нейросетей, архитектуру LightGCN, а также решение проблем LightGCN с помощью негативного сэмплирования и изменения функции агрегации.
Forwarded from Персонализация неизбежна
Мой ТОП-10 проверенных и популярных моделей RecSys.
Для меня модели рекомендаций начинаются с тех, которые можно построить на данных формата (user_id, item_id, timestamp). Если у вас есть такие наборы данных, то с помощью следующих моделей можно составить список персональных рекомендаций для каждого пользователя внутри датасета. Этот список я составил по субъективной популярности и уверенности в том, что модели проверены временем:
1. iALS (2008, 4к+ цитирований) - масштабируемая на большие объемы данных матричная факторизация. Крупные компании в РФ часто упоминают ее как кандидатогенератор, рассказывают про различные трюки с оптимизациями. Скорее всего, про ALS на собеседованиях хотят слышать в первую очередь.
2. EASE (2019, 250+ цитат) - моя любимая модель. Один гиперпараметр, решение в явном виде. Моделька - матрица весов item*item. Топ-1 модель по мнению авторов из Сбера. Мы взяли первое место на Hack the cart, используя только эту модель. Ее минус - большие каталоги айтемов, но на них можно использовать ELSA или SANSA.
3. SLIM (2011, 900+ цитат) - аналог EASE. Матрица весов разреженная, зависимость от гиперпарметров более сильная, их больше. По качеству SLIM похуже EASE. С ней возиться сложнее. Однако, в силу разреженности матрицы весов есть и плюс. Помню, SLIM весил 100 Кб, а EASE около 600 МБ на одинаковых размерах.
4. MultiVAE (2018, 1350+ цитат) - модель от Netflix. Та самая, которая в обзоре are we really... выиграла SLIM и стала единственной нейронкой, которая это сделала. На вход модели идет только вектор интеракций, поэтому ее можно обучить на 1000 юзерах, а инференсить на 100к юзерах без дообучения - это прекрасно!
5. ItemKNN (2001, 13к+ цитат). Про этот алгоритм обычно не говорят на собеседованиях, так как "что-то на старом", а зря. У recsys есть open benchmark BARS, и на датасете Amazon Books ItemKNN занимает второе место среди многих моделей. И ни GCN, ни LightGCN, ни даже UltraGCN его не побеждают.
6. GRU4Rec (2015, 3400+ цитат). В 2019 году я занял 17/264 место в Rekko Challenge от Okko. Тогда я в первый раз обучил нейронку для рекомендаций, и это была GRU4Rec. Ожидния не оправдались, но для старта нормально. Кстати, недавно автор разобрал популярные ошибки в ее имплементации.
7. SASRec (2018, 2400+ цитат). Это трансформер для next-item recommendation. Основа основ для использования трансформеров в мире рекомендаций. Имеет множество расширений (TiSASRec).
8. BERT4Rec (2019, 1900+ цитат). Чуть лучше SASRec, например, по статье Саши Петрова. По опыту, часто нет смысла использовать SASRec и BERT4Rec вместе, лучше выбрать что-то одно.
9. LightGCN (2020, 3300+ цитат) - графовая сверточная сеть. В графе есть только юзеры и айтемы, модель оценивает связи user-item с точки зрения графа и делает рекомендации. На мой взгляд, крайне громоздкая, медленно обучаемая и негибкая модель, куда лучше ее улучшение в виде GFCF.
10. TIFU KNN (2020, 120+ цитат). Если в ваших данных есть повторные действия между юзерами и айтемами (например, покупки в супермаркетах), то, скорее всего, все модели выше проиграют по качеству TIFU KNN. Эта модель играет вокруг персональной частоты покупок пользователя. Если человек купил 100 раз молоко, именно TIFU KNN без проблем порекомендует его 101 раз и не ошибется. Остальные модели могут повторить персональные частоты, но все равно по качеству уступят TIFU KNN.
Мне кажется, если вы хотите ввести модель полноценно в свой инструментарий, надо сделать следующее:
✅ Прочитать оригинальную статью.
✅ Посмотреть ее имплементацию: какие идут данные на вход на трейне и инференсе, как данные идут внутри, что на выходе.
✅ Запустить модель на любом датасете, посмотреть за метриками, возможно, на рекомендации.
✅ Изучить гиперпараметры, посмотреть, как они влияют на модель.
✅ Повторить то же для расширений модели. Например, EASE -> ELSA, Lightgcn - GFCF и т.д..
✅ В идеале, применить на проде в АБ или в рамках соревнования.
Выучив все эти модели и пройдя чек-листы, уже можно уверенно ориентироваться в основных моделях, но на этом recsys не заканчивается, а только начинается)
Для меня модели рекомендаций начинаются с тех, которые можно построить на данных формата (user_id, item_id, timestamp). Если у вас есть такие наборы данных, то с помощью следующих моделей можно составить список персональных рекомендаций для каждого пользователя внутри датасета. Этот список я составил по субъективной популярности и уверенности в том, что модели проверены временем:
1. iALS (2008, 4к+ цитирований) - масштабируемая на большие объемы данных матричная факторизация. Крупные компании в РФ часто упоминают ее как кандидатогенератор, рассказывают про различные трюки с оптимизациями. Скорее всего, про ALS на собеседованиях хотят слышать в первую очередь.
2. EASE (2019, 250+ цитат) - моя любимая модель. Один гиперпараметр, решение в явном виде. Моделька - матрица весов item*item. Топ-1 модель по мнению авторов из Сбера. Мы взяли первое место на Hack the cart, используя только эту модель. Ее минус - большие каталоги айтемов, но на них можно использовать ELSA или SANSA.
3. SLIM (2011, 900+ цитат) - аналог EASE. Матрица весов разреженная, зависимость от гиперпарметров более сильная, их больше. По качеству SLIM похуже EASE. С ней возиться сложнее. Однако, в силу разреженности матрицы весов есть и плюс. Помню, SLIM весил 100 Кб, а EASE около 600 МБ на одинаковых размерах.
4. MultiVAE (2018, 1350+ цитат) - модель от Netflix. Та самая, которая в обзоре are we really... выиграла SLIM и стала единственной нейронкой, которая это сделала. На вход модели идет только вектор интеракций, поэтому ее можно обучить на 1000 юзерах, а инференсить на 100к юзерах без дообучения - это прекрасно!
5. ItemKNN (2001, 13к+ цитат). Про этот алгоритм обычно не говорят на собеседованиях, так как "что-то на старом", а зря. У recsys есть open benchmark BARS, и на датасете Amazon Books ItemKNN занимает второе место среди многих моделей. И ни GCN, ни LightGCN, ни даже UltraGCN его не побеждают.
6. GRU4Rec (2015, 3400+ цитат). В 2019 году я занял 17/264 место в Rekko Challenge от Okko. Тогда я в первый раз обучил нейронку для рекомендаций, и это была GRU4Rec. Ожидния не оправдались, но для старта нормально. Кстати, недавно автор разобрал популярные ошибки в ее имплементации.
7. SASRec (2018, 2400+ цитат). Это трансформер для next-item recommendation. Основа основ для использования трансформеров в мире рекомендаций. Имеет множество расширений (TiSASRec).
8. BERT4Rec (2019, 1900+ цитат). Чуть лучше SASRec, например, по статье Саши Петрова. По опыту, часто нет смысла использовать SASRec и BERT4Rec вместе, лучше выбрать что-то одно.
9. LightGCN (2020, 3300+ цитат) - графовая сверточная сеть. В графе есть только юзеры и айтемы, модель оценивает связи user-item с точки зрения графа и делает рекомендации. На мой взгляд, крайне громоздкая, медленно обучаемая и негибкая модель, куда лучше ее улучшение в виде GFCF.
10. TIFU KNN (2020, 120+ цитат). Если в ваших данных есть повторные действия между юзерами и айтемами (например, покупки в супермаркетах), то, скорее всего, все модели выше проиграют по качеству TIFU KNN. Эта модель играет вокруг персональной частоты покупок пользователя. Если человек купил 100 раз молоко, именно TIFU KNN без проблем порекомендует его 101 раз и не ошибется. Остальные модели могут повторить персональные частоты, но все равно по качеству уступят TIFU KNN.
Мне кажется, если вы хотите ввести модель полноценно в свой инструментарий, надо сделать следующее:
✅ Прочитать оригинальную статью.
✅ Посмотреть ее имплементацию: какие идут данные на вход на трейне и инференсе, как данные идут внутри, что на выходе.
✅ Запустить модель на любом датасете, посмотреть за метриками, возможно, на рекомендации.
✅ Изучить гиперпараметры, посмотреть, как они влияют на модель.
✅ Повторить то же для расширений модели. Например, EASE -> ELSA, Lightgcn - GFCF и т.д..
✅ В идеале, применить на проде в АБ или в рамках соревнования.
Выучив все эти модели и пройдя чек-листы, уже можно уверенно ориентироваться в основных моделях, но на этом recsys не заканчивается, а только начинается)
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
WildBERT — развитие трансформерных архитектур для персонализации Wildberries / Евгений Иванов
Прикладная конференция по Data Science AiConf 2024
Презентация и тезисы:
https://aiconf.ru/2024/abstracts/12765
Трансформеры — мощный инструмент работы с последовательностями, который тем не менее требует хорошей «огранки» и «подгонки» под специфику. …
Презентация и тезисы:
https://aiconf.ru/2024/abstracts/12765
Трансформеры — мощный инструмент работы с последовательностями, который тем не менее требует хорошей «огранки» и «подгонки» под специфику. …
В одной из давних статей я рассказывал о комбинации фидбека в u2i моделях. В тот раз мы обогатили цепочки взаимодействий для инференса берта, который обучался только на заказах, добавлениями в корзину - и получили значимый прирост по метрикам.
Одно из таких “близких” действий - это клики. Но с ними есть нюанс - их слишком много, миллиарды ежедневно, и просто дописать их в цепочки взаимодействий, как добавления в корзину, не получится.
Значит, задача звучит так - “как отобрать из всех кликов только те, что несут максимальный сигнал для моделей?”
В задаче рекомендаций основной сигнал будут нести те карточки товара, к которым юзер проявил интерес, этот самый интерес можно разложить на 2 составляющие:
На приложенной картинке как раз сглаженный график зависимости конверсии в заказ от времени, проведенного на карточке товара. Пунктирными линиями схематично отображено одно из правил отбора хороших кликов - берем только те, что удовлетворяют нашему диапазону по времени просмотра.
Когда пользователь уже находиться в КТ - есть много вариантов для развития событий. Добавить товар в отложенное, провалиться в отзывы, посмотреть изменение цены, найти похожие по фото и т.д.
Такие события также говорят об интересе пользователя к товару и учитываются в правилах отбора кликов.
Вариаций на самом деле много, мы использовали ту, которая позволила нам сократить до 10% количество кликов, которыми мы обогащаем цепочки, и получить статзначимый рост денежных и продуктовых метрик в АБ тестах различных моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ксюша Малкова, DS команды персонализации, написала статью про методы управления разнообразием на этапе подготовки данных и на пост-процессинге
Якорные товары, квоты, инференс по категориям и немного про Beyond-Accuracy - все тут!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Управление разнообразием рекомендаций
Введение Привет 👋! Меня зовут Малкова Ксения, я Data Scientist в команде персональных рекомендаций Wildberries. На WB мы рекомендуем миллионы товаров миллионам пользователей. На первый взгляд, задача очевидная — подобрать максимально релевантные товары.…
На прошлой неделе прошла конференция Data Fusion, где в кейс-сессии рекомендательных систем мы рассказали как не разориться на инфраструктуре при постоянном росте количества пользователей
При построении персональных рекомендаций зачастую подразумевается, что мы должны получить для каждого пользователя свою, уникальную подборку товаров. Однако в случае, когда пользователей становится слишком много, а в инфраструктуре товары хранятся с обогащением бизнес-факторами, такая схема становится все менее масштабируема.
Расскажу о том, как мы без просадки в качестве существенно сократили затраты на инфраструктуру за счет кластеризации пользователей и товаров.
- кластеризация пользователей (эмбеддинги WildBERT), создание агрегированной выдачи для кластера
- кластеризация товаров (e5) - выделение интересов, отображение пользователя в пространство интересов
- сравнение АБ-тестов для схем "храним подборку для каждого пользователя" и "храним только кластера, юзера описываем как набор кластеров и интересов" в разрезе ранжирующих метрик и затрат на инфраструктуру
- как в такой схеме не просадить качество - доранжирование по эмбедингам в онлайне в момент формирования выдачи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
WildRecSys
🪆 Сжатие без потерь: как мы уменьшили эмбеддинги для онлайн-ранжирования рекламы
18-19 апреля, в городе Ульяновск, прошла конференция Стачка. Там, помимо доклада про декомпозицию юзера, также рассказали про обучение Matryoshka представлений.
Выступал Илья Бадекин - DS команды товарных рекомендаций.
➡ Запись доклада
➡ Презентация
❓ Описание
Можно сделать крутую модель, но от нее будет мало проку, если не обеспечить ее интеграцию в реальные бизнес-процессы. В докладе расскажем, откуда и зачем в команде «Товарных рекомендаций» Wildberries текстовый энкодер, на что он способен и как мы сжимали его эмбеддинги для онлайн-доранжирование рекламных баннеров по запросам пользователей: от классических PCA, автоэнкодеров и полносвязных слоев до одного интересного подхода с очень русским названием.
💬 Основные тезисы:
- Текстовый энкодер в похожих товарах: зачем?
- Что было в проде на тот момент: описание е5-multilang large; обучение, сбор хороших негативов, промпт; метрики
- Как в мл размерность уменьшать принято?
- Матрешка - как сохранить 95% от метрик
18-19 апреля, в городе Ульяновск, прошла конференция Стачка. Там, помимо доклада про декомпозицию юзера, также рассказали про обучение Matryoshka представлений.
Выступал Илья Бадекин - DS команды товарных рекомендаций.
Можно сделать крутую модель, но от нее будет мало проку, если не обеспечить ее интеграцию в реальные бизнес-процессы. В докладе расскажем, откуда и зачем в команде «Товарных рекомендаций» Wildberries текстовый энкодер, на что он способен и как мы сжимали его эмбеддинги для онлайн-доранжирование рекламных баннеров по запросам пользователей: от классических PCA, автоэнкодеров и полносвязных слоев до одного интересного подхода с очень русским названием.
- Текстовый энкодер в похожих товарах: зачем?
- Что было в проде на тот момент: описание е5-multilang large; обучение, сбор хороших негативов, промпт; метрики
- Как в мл размерность уменьшать принято?
- Матрешка - как сохранить 95% от метрик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Векторное доранжирование в Wildberries
Привет! Меня зовут Тришин Александр, я Data Scientist в команде персональных рекомендаций Wildberries. Когда вы заходите на главную страницу WB, листаете похожие в карточке товара, ищете подарок в поиске или просматриваете тематическую подборку — вы взаимодействуете…
Негативное сэмплирование - один из ключевых инструментов обучения моделей на большом каталоге.
В сегодняшнем обзоре расскажем про основные стратегии сэмплирования:
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Negative Sampling для рекомендательных систем: Практический обзор
Современные рекомендательные системы стремятся предсказать, с какими товарами или контентом пользователь будет взаимодействовать чаще. При этом они работают каталогами, насчитывающими миллионы или даже миллиарды позиций. Oбозначение каждого невзаимодействовавшего…
Исторически, в этом канале мы рассказывали в основном про различные DS/ML-подходы к построению рекомендаций, не акцентируя внимание на самом продукте.
Именно поэтому, для полноты картины, мы запускаем цикл аналитических статей.
В них мы расскажем про особенности в проведении A/B-экспериментов и аналитических исследований, построении и визуализации CJM, разработке метрик, специфичных для рекомендаций, а также о других задачах продуктовой аналитики, помогающих бизнесу принимать решения на основе данных!
Сегодня эстафетная палочка у Лёши Кузнецова - лида аналитики персональных рекомендаций. Он расскажет о своём пути и особенностях работы продуктовым аналитиком.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Заметки продуктового аналитика
Привет, меня зовут Алексей Кузнецов. Я лид команды продуктовой аналитики персональных рекомендаций. Мы с командой проводим A/B-эксперименты, занимаемся продуктовыми исследованиями, разрабатываем метрики и решаем множество других задач, направленных на улучшение…