3 всадника рекомендательного апокалипсиса
Сделать персональные рекомендации легко, но почти все системы настигают 3 проблемы
1. Оффлайн метрики, а не онлайн
Можно бесконечно долго оптимизировать ML-метрики типа recall@k, а в результате получить, например рекомендации очень релевантных пакетов или выдачу из одних утюгов
Далеко не всегда оффлайн метрики хорошо коррелируют с деньгами (онлайн): нужно очень хорошо постараться, чтобы найти связь
2. Каннибализация
Доля заказов из рекомендаций 60% - какие мы молодцы!
Нет)) Мы могли просто каннибализировать тот же поиск.
Могло стать даже хуже: каннибализировали поиск, где конверсия выше
На практике эффект ~1 к 10. То есть доля заказов из рек 60% - реальный прирост заказов vs без рек = 6%
Возможно для кликов/заказов из рек надо совершать меньше действий (скролл vs подумать над запросом, написать его, выставить фильтры). Но если юзер знает, что ищет (айфон 14 pro max), то он и без рек его найдет - поэтому в реках важно diversity, surprise
Вообще хорошо бы подумать, как сделать реки НЕ похожими на результаты поиска. YouTube например, убирает из данных для модели последний поисковой запрос даже!
3. Конверсия, а не деньги
Все мы любим оптимизировать конверсию: это понятно и не так сложно. Но реальный мир суров: можно вырастить конверсию и уронить средний чек - в итоге упадет выручка. А можно, например, рекомендовать супер релевантные товары, которые поедут из Южной Америки - и потерять деньги на логистике. В общем, деньги имеют значение 💰
@ml4value
Сделать персональные рекомендации легко, но почти все системы настигают 3 проблемы
1. Оффлайн метрики, а не онлайн
Можно бесконечно долго оптимизировать ML-метрики типа recall@k, а в результате получить, например рекомендации очень релевантных пакетов или выдачу из одних утюгов
Далеко не всегда оффлайн метрики хорошо коррелируют с деньгами (онлайн): нужно очень хорошо постараться, чтобы найти связь
2. Каннибализация
Доля заказов из рекомендаций 60% - какие мы молодцы!
Нет)) Мы могли просто каннибализировать тот же поиск.
Могло стать даже хуже: каннибализировали поиск, где конверсия выше
На практике эффект ~1 к 10. То есть доля заказов из рек 60% - реальный прирост заказов vs без рек = 6%
Возможно для кликов/заказов из рек надо совершать меньше действий (скролл vs подумать над запросом, написать его, выставить фильтры). Но если юзер знает, что ищет (айфон 14 pro max), то он и без рек его найдет - поэтому в реках важно diversity, surprise
Вообще хорошо бы подумать, как сделать реки НЕ похожими на результаты поиска. YouTube например, убирает из данных для модели последний поисковой запрос даже!
3. Конверсия, а не деньги
Все мы любим оптимизировать конверсию: это понятно и не так сложно. Но реальный мир суров: можно вырастить конверсию и уронить средний чек - в итоге упадет выручка. А можно, например, рекомендовать супер релевантные товары, которые поедут из Южной Америки - и потерять деньги на логистике. В общем, деньги имеют значение 💰
@ml4value
👍47🔥9❤4🤡2
ML4RecSys: что происходит? февраль 2024
Последнее время читаю про недавние прорывы в рекомендательных системах... и там все очень сомнительно
Даже не верится что в 2024 году в статьях с топовых конференций классические «стажерские» ошибки:
- неправильный train-test split
- сравнение с явно недо-тюнеными бейзлайнами
- выбор для сравнения только тех датасетов, где модель побеждает…
Поэтому выудить что-то явно работающее очень сложно 😕
Тем не менее, на мой взгляд, в адекватных статьях взлетели:
- Трансформеры для отбора кандидатов
- Разные стратегии поиска Hard negatives (покупка - позитивный таргет, но найти хороший негативный - занятная задача)
- Таргет более близкий к деньгам (не клики, а хотя бы клики дольше 10 сек)
Дальше уже разные топ компании репортят совсем разные вещи:
- У одних лучше encoder (BERT4Rec), у других - decoder модели (SASRec)
- Как будто огромное значение играет не архитектура, а выбор данных / как берут негативы / лосс
- В академии SOTA показывают модели с дополнительным contrastive loss, но в индустрии этого пока не видно
- Почти у всех проблемы метча оффлайн/онлайн метрик или рост конверсии + падения чека, но никто не говорит, как с этим справляется
- Многие внедряют разнообразие / novelty в рекомендации через постпроцесинг без всякого ML
- Как будто градиентый бустинг для ранжирования все еще на уровне с SOTA
В общем, пока инженерный подход в рекомендациях решает 🔥
Если вы знаете прикольные открытия / рабочие инженерные подходы в RecSys, делитесь в комментариях ⬇️
Последнее время читаю про недавние прорывы в рекомендательных системах... и там все очень сомнительно
Даже не верится что в 2024 году в статьях с топовых конференций классические «стажерские» ошибки:
- неправильный train-test split
- сравнение с явно недо-тюнеными бейзлайнами
- выбор для сравнения только тех датасетов, где модель побеждает…
Поэтому выудить что-то явно работающее очень сложно 😕
Тем не менее, на мой взгляд, в адекватных статьях взлетели:
- Трансформеры для отбора кандидатов
- Разные стратегии поиска Hard negatives (покупка - позитивный таргет, но найти хороший негативный - занятная задача)
- Таргет более близкий к деньгам (не клики, а хотя бы клики дольше 10 сек)
Дальше уже разные топ компании репортят совсем разные вещи:
- У одних лучше encoder (BERT4Rec), у других - decoder модели (SASRec)
- Как будто огромное значение играет не архитектура, а выбор данных / как берут негативы / лосс
- В академии SOTA показывают модели с дополнительным contrastive loss, но в индустрии этого пока не видно
- Почти у всех проблемы метча оффлайн/онлайн метрик или рост конверсии + падения чека, но никто не говорит, как с этим справляется
- Многие внедряют разнообразие / novelty в рекомендации через постпроцесинг без всякого ML
- Как будто градиентый бустинг для ранжирования все еще на уровне с SOTA
В общем, пока инженерный подход в рекомендациях решает 🔥
Если вы знаете прикольные открытия / рабочие инженерные подходы в RecSys, делитесь в комментариях ⬇️
👍28🔥17🤓2❤1🤡1
Вдогонку к прошлому посту про «стажерские» ошибки в статьях по RecSys - даже рисерч отдел Google немножко 🤏 ошибся с неймингом своих моделей
В итоге многие думали, что смотрят на Gemma-7B (7B параметров) как на похожего по размеру конкурента условного Mixtral-7B, но… у Gemma-7B около 8.5В (+21%) параметров - правильнее ее называть Gemma-9B
Соответственно «в лоб» такие модели сравнивать не очень корректно
В итоге многие думали, что смотрят на Gemma-7B (7B параметров) как на похожего по размеру конкурента условного Mixtral-7B, но… у Gemma-7B около 8.5В (+21%) параметров - правильнее ее называть Gemma-9B
Соответственно «в лоб» такие модели сравнивать не очень корректно
👍1
Forwarded from Мишин Лернинг
Точность в нейминге размера модели критически важна для LLM, поскольку это влияет на справедливость сравнения, воспроизводимость результатов и понимание компромиссов между размером модели и её производительностью.
Решил создать тред на HF. так что поддержать идею о переименовании модели Gemma7B в Gemma-9B можно тут:
👉 https://huggingface.co/google/gemma-7b/discussions/34
А то ресерч-маркетологи ведут себя как на рынке, ну и вообще, камон, округление все в начальной школе проходили.
Решил создать тред на HF. так что поддержать идею о переименовании модели Gemma7B в Gemma-9B можно тут:
👉 https://huggingface.co/google/gemma-7b/discussions/34
А то ресерч-маркетологи ведут себя как на рынке, ну и вообще, камон, округление все в начальной школе проходили.
huggingface.co
google/gemma-7b · Proposal for Renaming of Gemma-7B Model to Gemma-9B
I am reaching out to discuss a proposal regarding the Gemma-7B language model. Upon detailed analysis, it has come to attention that the Gemma-7B model comprises a total of 8.54 billion parameters,...
👍14👎1
Мамка-менеджер
Недавно общались с друзьями про управления командами, и почему иногда люди становятся чайка-менеджерами
Вот вам ответочка от собирательного «чайка-менеджера»
Сам он часто чувствует себя «мамка-менеджером»: как будто у него не команда, а маленькие дети. Оставил на 5 минут, и тут же ониразбили вазу выкатили релиз с багами, поссорились с соседней командой и придумали новое SOTA решение, которое невозможно катнуть в прод. На разных грейдах дети выглядят чуть по-разному
Стажер
«Я все решил: сделаю бейзлайн прогноза продаж на GPT-4”
Джун
«Я сделал решение на трансформерах, которое лучше по оффлайн метрикам на 2%! Да кого парит RPS в проде и то, что я один в компании знаю JAX? Главное, что ml-метрики растут»
Оригинальный мемчик от @dealerAI на эту тему над постом)
Миддл
«Мы готовы катить в прод: ml-метрики топ, тесты пройдены, CI-CD настроен, используем DVC, mlflow, airflow и fastapi. В смысле никому не нужно понимать, какое слово в названии товара - существительное?? Да почему всех интересуют только польза конечному юзеру и деньги?
Синьор
*Рассказывает на общем демо, что конверсия выросла +5% от новой фичи*
CEO неделю спустя спрашивает, почему упала выручка
Синьор *наконец считает, что там было в АВ со средним чеком….*
Идеал для тимлида - самостоятельные сотрудники, которые могут решить 90% задач/проблем без тимлида и продумать последствия
В общем, у взрослых команд мамка-менеджеров почти не бывает 🙂
Есть конечно 1-5%, которые кроме как чайка-менеджерить не умеют - остальные делают это от безысходности 😥
P.S. Да, мне тоже пару раз приходилось мамка-менеджерить: ооочень неприятное это дело, напишу об этом посткогда перестанет так сильно подгорать когда-нибудь)
@ml4value
Недавно общались с друзьями про управления командами, и почему иногда люди становятся чайка-менеджерами
Вот вам ответочка от собирательного «чайка-менеджера»
Сам он часто чувствует себя «мамка-менеджером»: как будто у него не команда, а маленькие дети. Оставил на 5 минут, и тут же они
Стажер
«Я все решил: сделаю бейзлайн прогноза продаж на GPT-4”
Джун
«Я сделал решение на трансформерах, которое лучше по оффлайн метрикам на 2%! Да кого парит RPS в проде и то, что я один в компании знаю JAX? Главное, что ml-метрики растут»
Оригинальный мемчик от @dealerAI на эту тему над постом)
Миддл
«Мы готовы катить в прод: ml-метрики топ, тесты пройдены, CI-CD настроен, используем DVC, mlflow, airflow и fastapi. В смысле никому не нужно понимать, какое слово в названии товара - существительное?? Да почему всех интересуют только польза конечному юзеру и деньги?
Синьор
*Рассказывает на общем демо, что конверсия выросла +5% от новой фичи*
CEO неделю спустя спрашивает, почему упала выручка
Синьор *наконец считает, что там было в АВ со средним чеком….*
Идеал для тимлида - самостоятельные сотрудники, которые могут решить 90% задач/проблем без тимлида и продумать последствия
В общем, у взрослых команд мамка-менеджеров почти не бывает 🙂
Есть конечно 1-5%, которые кроме как чайка-менеджерить не умеют - остальные делают это от безысходности 😥
P.S. Да, мне тоже пару раз приходилось мамка-менеджерить: ооочень неприятное это дело, напишу об этом пост
@ml4value
😁40👍18🤔6❤3🔥3
Зачем нужен тимлид ...и как им стать?
После поста про мамка-менеджера случилось несколько холиваров (где я тоже поучаствовал 😅) на тему, а зачем самостоятельной команде в принципе нужен тимлид? При этом многие стремятся вырасти в тимлида. Давайте разбираться в этой дилемме:)
*Что вообще делает хороший тимлид?*
Решает 10% самых сложных проблем каждого члена команды
Да, чтобы при команде в 5 человек решать всего 5 * 10% = 50% человеко-проблем (самых сложных!) команда должна быть на 90% самостоятельной. Иногда при бОльшем проценте таких проблем тимлид в них тонет, и в общем-то на этом заканчивается его работа 🥲
Зачастую работает техлидом
Очень часто написать идеально отдельные кусочки кода легко, а вот продумать, как он ложится во всю архитектуру системы (ваши фреймворки, время расчета, RPS, масштабируемость) - та еще задачка
Помимо этого зачастую тимлид ревьюит код, да и сам его пишет
Переводит бизнес-проблемы в понятные тех задачи
Путь от "Кажется, наши промо-акции неэффективны" до "Давайте прогнозировать спрос в зависимсоти от скидки + делать оптимизацию поверх" не так прост, как кажется. Нужно не только это сформулировать, но и убедить бизнес, что так стоит делать. У некоторых стейкхолдеров бывают страхи насчет ML, возможно были неудачные прошлые попытки - надо все это разрулить
Часто бывает, что нужно за стейкхолдеров вообще сформулировать, в чем заключается их бизнес-проблема 😅
Представитель команды в компании
На ревью, демо, при обсуждении бюджетов и новых ставок, дополнительных плюшек - в общем, вы даже не представляете, насколько успех вашей команды и вас персонально зависит от этого скилла у тимлида. Как думаете, какая команда и конкретные люди будут расти быстрее: Про которую все понимают, что она делает, и результаты которой заметны всем или той, про которую вспоминают только на ревью?
продолжение ниже...
#career
После поста про мамка-менеджера случилось несколько холиваров (где я тоже поучаствовал 😅) на тему, а зачем самостоятельной команде в принципе нужен тимлид? При этом многие стремятся вырасти в тимлида. Давайте разбираться в этой дилемме:)
*Что вообще делает хороший тимлид?*
Решает 10% самых сложных проблем каждого члена команды
Да, чтобы при команде в 5 человек решать всего 5 * 10% = 50% человеко-проблем (самых сложных!) команда должна быть на 90% самостоятельной. Иногда при бОльшем проценте таких проблем тимлид в них тонет, и в общем-то на этом заканчивается его работа 🥲
Зачастую работает техлидом
Очень часто написать идеально отдельные кусочки кода легко, а вот продумать, как он ложится во всю архитектуру системы (ваши фреймворки, время расчета, RPS, масштабируемость) - та еще задачка
Помимо этого зачастую тимлид ревьюит код, да и сам его пишет
Переводит бизнес-проблемы в понятные тех задачи
Путь от "Кажется, наши промо-акции неэффективны" до "Давайте прогнозировать спрос в зависимсоти от скидки + делать оптимизацию поверх" не так прост, как кажется. Нужно не только это сформулировать, но и убедить бизнес, что так стоит делать. У некоторых стейкхолдеров бывают страхи насчет ML, возможно были неудачные прошлые попытки - надо все это разрулить
Часто бывает, что нужно за стейкхолдеров вообще сформулировать, в чем заключается их бизнес-проблема 😅
Представитель команды в компании
На ревью, демо, при обсуждении бюджетов и новых ставок, дополнительных плюшек - в общем, вы даже не представляете, насколько успех вашей команды и вас персонально зависит от этого скилла у тимлида. Как думаете, какая команда и конкретные люди будут расти быстрее: Про которую все понимают, что она делает, и результаты которой заметны всем или той, про которую вспоминают только на ревью?
продолжение ниже...
#career
👍20🔥6🤡3🙈2❤1
начало поста про Тимлидство выше ⬆️
Развитием людей в команде
1-1, брейнштормы, курсы, код ревью, индивидуальные планы развития и все прочее вообще-то говоря при грамотном использовании помогает вам расти! А организовать рост даже 5 человек - ох, какая непростая задача
Bullshit-filter
Ну и напоследок, члены команды могут даже не знать про кучу странных задач, которые тимлид обсудил с маркетингом/продуктом/бабушкой CEO и убедил их, что такие задачи делать не нужно)
*Как стать тимлидом?*
Если вас не смутил список выше, то посмотрите на него повнимательнее - предлагаете вашему тимлиду помочь с одним любым пунктом - profit, через полгода вы тимлид) Без шуток, если ваш тимлид смог передать кому-то из команды даже часть этих вещей.. то обычно он становится тимлидом тимлидов!
Развитием людей в команде
1-1, брейнштормы, курсы, код ревью, индивидуальные планы развития и все прочее вообще-то говоря при грамотном использовании помогает вам расти! А организовать рост даже 5 человек - ох, какая непростая задача
Bullshit-filter
Ну и напоследок, члены команды могут даже не знать про кучу странных задач, которые тимлид обсудил с маркетингом/продуктом/бабушкой CEO и убедил их, что такие задачи делать не нужно)
*Как стать тимлидом?*
Если вас не смутил список выше, то посмотрите на него повнимательнее - предлагаете вашему тимлиду помочь с одним любым пунктом - profit, через полгода вы тимлид) Без шуток, если ваш тимлид смог передать кому-то из команды даже часть этих вещей.. то обычно он становится тимлидом тимлидов!
👍23❤4🔥4🤡3
Ускорение нейронок: квантизация и сжатие эмбеддингов
Нейронные сети становятся все больше, и многие компании задумываются про то, как хранить и инференсить их без GPU-кластера стоимостью 300кк/сек
Тут на помощь нам приходит постпроцессинг эмбеддингов. Стандартный float32 эмбед размерности 1024 можно превратить в int8 (квантизация) или в эмбед размерности, скажем, 128 (сжатие)
Классические способы
Настолько классические, что не знать их на собеседовании миддлу - уже тревожный звоночек
Сжатие делают через PCA / TSNE / UMAP - есть их ускоренные х500 (не преувеличиваю) версии на CUDA. А квантизацию (иногда неявную) и приближенный поиск через библиотеки вроде FAISS. Можно поподробнее про них почитать в недавней статье по сжатию эмбеддингов от wildberries 🍒
Если вы впервые слышите эти названия - очень рекомендую ознакомиться:)
Более современные способы
Можно превращать float32 эмбеддинги в int8 (-128, ..., +127) или даже binary (0, 1) с минорным падением качества
Ребята из Яндекс.Алисы и YaGPT написали годную обзорную статью про квантование в int8
Недавно рисерчеры пошли еще дальше и придумали способ квантования в binary (0, 1)
с ускорением х45🚀
Для сжатия эмбеддингов придумали Matryoshka Representation Learning - можно «откидывать» части эмбеддинга! Красивое и быстрое решение)
В общем, даешь мир легких нейронок, которые можно запустить на 1 GPU ❤️🔥
#articles_review
Нейронные сети становятся все больше, и многие компании задумываются про то, как хранить и инференсить их без GPU-кластера стоимостью 300кк/сек
Тут на помощь нам приходит постпроцессинг эмбеддингов. Стандартный float32 эмбед размерности 1024 можно превратить в int8 (квантизация) или в эмбед размерности, скажем, 128 (сжатие)
Классические способы
Настолько классические, что не знать их на собеседовании миддлу - уже тревожный звоночек
Сжатие делают через PCA / TSNE / UMAP - есть их ускоренные х500 (не преувеличиваю) версии на CUDA. А квантизацию (иногда неявную) и приближенный поиск через библиотеки вроде FAISS. Можно поподробнее про них почитать в недавней статье по сжатию эмбеддингов от wildberries 🍒
Если вы впервые слышите эти названия - очень рекомендую ознакомиться:)
Более современные способы
Можно превращать float32 эмбеддинги в int8 (-128, ..., +127) или даже binary (0, 1) с минорным падением качества
Ребята из Яндекс.Алисы и YaGPT написали годную обзорную статью про квантование в int8
Недавно рисерчеры пошли еще дальше и придумали способ квантования в binary (0, 1)
с ускорением х45
Для сжатия эмбеддингов придумали Matryoshka Representation Learning - можно «откидывать» части эмбеддинга! Красивое и быстрое решение)
В общем, даешь мир легких нейронок, которые можно запустить на 1 GPU ❤️🔥
#articles_review
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍5🤷♂1
Это они еще tf-idf не пробовали..
Ну а вообще тема с бейзлайнами и сбором качественных данных за последие год-два отошла на десятый план
Очень жаль: надо как-нибудь собрать митап или конференцию а-ля "BaseConf", где все будут рассказывать свои кейсы, как бейзлайнами побеждают SOTA в индустрии 😁
Ну а вообще тема с бейзлайнами и сбором качественных данных за последие год-два отошла на десятый план
Очень жаль: надо как-нибудь собрать митап или конференцию а-ля "BaseConf", где все будут рассказывать свои кейсы, как бейзлайнами побеждают SOTA в индустрии 😁
😁34🗿4
Forwarded from эйай ньюз
Увидел в Threads анекдот: Bloomberg потратил ~$10 миллионов (в AWS SageMaker) на тренировку BloombergGPT (50B параметров на 700B токенов), специально для финансовых задач. Иииии.... модель всухую проиграла на этих же финансовых тасках GPT-4, которая вышла за две недели до этого.
И тут всё было бы очевидно: "нужно сдаваться GPT-4". Если бы не одна маленькая деталь — GPT-4 в свою очередь либо проигрывала либо еле-еле перегоняла (используя Chain of Thoughts) специализированные файнтюны таких динозавров как BERT (2018, 110 лямов параметров) и RoBERTa Large (2019, ~700 млн параметров).
Мораль басни такова: если вы не лидер AI гонки, то не соревнуйтесь с OpenAI в общих задачах, это дорого и трудно. Но если есть прямые руки и конкретный таск — перегнать даже SOTA general purpose модель вполне возможно. А, и ещё: тренировать в AWS безумно дорого😂
@ai_newz
И тут всё было бы очевидно: "нужно сдаваться GPT-4". Если бы не одна маленькая деталь — GPT-4 в свою очередь либо проигрывала либо еле-еле перегоняла (используя Chain of Thoughts) специализированные файнтюны таких динозавров как BERT (2018, 110 лямов параметров) и RoBERTa Large (2019, ~700 млн параметров).
Мораль басни такова: если вы не лидер AI гонки, то не соревнуйтесь с OpenAI в общих задачах, это дорого и трудно. Но если есть прямые руки и конкретный таск — перегнать даже SOTA general purpose модель вполне возможно. А, и ещё: тренировать в AWS безумно дорого
@ai_newz
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🫡6
RecSys R&D Tеam Lead @ Wildberries - моя новая роль с февраля
Прошло уже 2 месяца, как я вышел на новую работу - пора рассказать, почему решил идти именно сюда
🚀 Масштаб
WB входит в топ-10 маркетплейсов мира... и растет ежегодно почти х2
Тут безумно много данных: 100М+ пользователей и еще больше товаров. И до кучи почти все модальности: ивенты пользователей (~таблички), текст, картинки, категории. Идеально, чтобы поработать с ними всеми:)
🦾 DL-емжечь сердца людей улучшать уже довольно хорошие модели
Можно смеяться над бейзлайном из топ-популярных товаров ровно до 10 провала его побить. Ну а если серьезно, то в WB конечно же есть двухуровневый пайплайн из ALS/BERT4Rec/Другие кандидаты + Catboost. Кстати, про BERT4Rec в wb недавно вышла статья
В общем, настало время более хитрых нейронок, beyond accuracy метрик, дебаясинга и прочих ml-радостей!
И даже уже получается добиваться занятных результатов на оффлайне 🤫
🧠 Катить в прод без страданий на C++ / разработки прод инфры
Development в R&D не случайное слово: мы целимся в проверку рискованных гипотез, чтобы в итоге выкатить их в прод, и заработать доп деньги компании. Целимся не только в доп деньги в моменте, но и удовлетворенность пользователей (читай, ретеншен и частотность). Написание статей - не приоритет, но если очень уж захочется, то можно!
Пока большинство моделей работают offline раз в ночь - можно ставить почти любую по сложности модель на airflow job и предгенерить рекомендации для всех пользователей. Безрегистрации и смс стремления попасть в 100мс -ный инференс. Идеально подходит для концепции SOTA ML4Value!)
🙌 С нуля собирать команду
Круто, что можно будет самому собрать команду. С другой стороны, если получится, то я молодец, а если нет.. 😅
Нас уже 4 человека, но еще пара вакансий скоро появится - думаю, напишу об этом в канале)
#personal
Прошло уже 2 месяца, как я вышел на новую работу - пора рассказать, почему решил идти именно сюда
🚀 Масштаб
WB входит в топ-10 маркетплейсов мира... и растет ежегодно почти х2
Тут безумно много данных: 100М+ пользователей и еще больше товаров. И до кучи почти все модальности: ивенты пользователей (~таблички), текст, картинки, категории. Идеально, чтобы поработать с ними всеми:)
🦾 DL-ем
Можно смеяться над бейзлайном из топ-популярных товаров ровно до 10 провала его побить. Ну а если серьезно, то в WB конечно же есть двухуровневый пайплайн из ALS/BERT4Rec/Другие кандидаты + Catboost. Кстати, про BERT4Rec в wb недавно вышла статья
В общем, настало время более хитрых нейронок, beyond accuracy метрик, дебаясинга и прочих ml-радостей!
И даже уже получается добиваться занятных результатов на оффлайне 🤫
🧠 Катить в прод без страданий на C++ / разработки прод инфры
Development в R&D не случайное слово: мы целимся в проверку рискованных гипотез, чтобы в итоге выкатить их в прод, и заработать доп деньги компании. Целимся не только в доп деньги в моменте, но и удовлетворенность пользователей (читай, ретеншен и частотность). Написание статей - не приоритет, но если очень уж захочется, то можно!
Пока большинство моделей работают offline раз в ночь - можно ставить почти любую по сложности модель на airflow job и предгенерить рекомендации для всех пользователей. Без
🙌 С нуля собирать команду
Круто, что можно будет самому собрать команду. С другой стороны, если получится, то я молодец, а если нет.. 😅
Нас уже 4 человека, но еще пара вакансий скоро появится - думаю, напишу об этом в канале)
#personal
🔥62👍18💩14❤11😁2
Middle+ / Senior DL Engineer (RecSys, NLP) в Wildberries
250-350к/мес net для middle+
350-500к/мес net для senior
Ищу к себе в команду RecSys R&D Lab еще пару сильных людей 💪
Что за команда?
Новый отдел Recsys R&D Lab, направленный на тестирование необычных гипотез в рекомендациях и свежий взгляд на текущую систему. Фокус у нас на создании решения для продакшена, а не написание статей. Стремимся не только увеличить выручку в моменте, но и удовлетворенность пользоватеоей (читай, ретеншен и частотность)
Мы занимаемся полным циклом моделей: от идеи и данных, до самой модели и выкатки ее в продакшен. Нет, C++ знать не нужно, но airflow джобы писать придется)
Что ожидаю от кандидата
- Глубокое понимание блоков нейросетей: BatchNorm / LayerNorm, Dropout, Attention и тд
- Опыт работы с эмбеддингами товаров/пользователей: от простых (word2vec, ALS) до более сложных (BERT, Е5, CLIP)
- Готовность глубоко погружаться в бизнес-задачи (Как сделать рекомендации разнообразнее? Как повысить средний чек?) и переводить их в ML термины (loss, метрики, трюки в архитектуре)
- 2+ года опыта в обучении/файнтюне RecSys/NLP моделей, для Senior - 3+ года
Note: Если вы не из мира RecSys, но хорошо разбираетесь в NLP -- приходите пообщаться!) Обычно переход таких людей в RecSys достаточно прост
Не обязательно, но будет плюсом
- Понимание специфических моделей для рекомендаций: SASRec / BERT4Rec, EASE, LightGCN, RecVAE
- Опыт ускорения обучения и инференса нейросетей: DeepSpeed, multi-gpu обучение, mixed precision training, квантизация эмбеддингов
- Опыт обучения трансформеров с нуля, metric learning, графовых нейросетях, RL
Наш стек: GreenPlum / Hadoop, Python (pytorch, nltk, opencv), gitlab, airflow
Мощности: Для экспериментов используем рисерч кластер. На одну машину можно взять 384 gb RAM и до 4шт A100
Можно отправить резюме напрямую мне в личку @Ivan_maksimov 🧠
250-350к/мес net для middle+
350-500к/мес net для senior
Ищу к себе в команду RecSys R&D Lab еще пару сильных людей 💪
Что за команда?
Новый отдел Recsys R&D Lab, направленный на тестирование необычных гипотез в рекомендациях и свежий взгляд на текущую систему. Фокус у нас на создании решения для продакшена, а не написание статей. Стремимся не только увеличить выручку в моменте, но и удовлетворенность пользоватеоей (читай, ретеншен и частотность)
Мы занимаемся полным циклом моделей: от идеи и данных, до самой модели и выкатки ее в продакшен. Нет, C++ знать не нужно, но airflow джобы писать придется)
Что ожидаю от кандидата
- Глубокое понимание блоков нейросетей: BatchNorm / LayerNorm, Dropout, Attention и тд
- Опыт работы с эмбеддингами товаров/пользователей: от простых (word2vec, ALS) до более сложных (BERT, Е5, CLIP)
- Готовность глубоко погружаться в бизнес-задачи (Как сделать рекомендации разнообразнее? Как повысить средний чек?) и переводить их в ML термины (loss, метрики, трюки в архитектуре)
- 2+ года опыта в обучении/файнтюне RecSys/NLP моделей, для Senior - 3+ года
Note: Если вы не из мира RecSys, но хорошо разбираетесь в NLP -- приходите пообщаться!) Обычно переход таких людей в RecSys достаточно прост
Не обязательно, но будет плюсом
- Понимание специфических моделей для рекомендаций: SASRec / BERT4Rec, EASE, LightGCN, RecVAE
- Опыт ускорения обучения и инференса нейросетей: DeepSpeed, multi-gpu обучение, mixed precision training, квантизация эмбеддингов
- Опыт обучения трансформеров с нуля, metric learning, графовых нейросетях, RL
Наш стек: GreenPlum / Hadoop, Python (pytorch, nltk, opencv), gitlab, airflow
Мощности: Для экспериментов используем рисерч кластер. На одну машину можно взять 384 gb RAM и до 4шт A100
Можно отправить резюме напрямую мне в личку @Ivan_maksimov 🧠
🔥23👍9🤡3❤2🆒2
В поисках SOTA для рекомендательных систем
Однозначный лидер есть и в табличках (бустинг), и в LLM (GPT-4, Claude 3) и много где еще. Но в мире рекомендаций его нет!
На paperswithcode на каждом датасете свой лидер: ALS, EASE, SASRec,… где-то даже tf-idf 😅
Крупнейшие компании абсолютно по-разному строят свои рек системы. EBay ушел в кластеризацию товаров + поиск похожих, Pinterest полюбил трансформеры, при этом кое-где зажигает и классический ALS
На мой взгляд, SOTA нет, потому что задача «рекомендаций» в каждой индустрии своя
В соц сетях часто нужно показывать новые посты от любимых авторов/друзей. В фильмах - популярные сейчас и похожие. В продуктовом ритейле - стандартную корзину покупателя (повторные покупки)
Хотите поэкзотичнее? В одежде чуть ли не главный челлендж - учет размера 📐
По некоторым прикидкам, если онлайн-ритейлеры одежды с этим справятся и снизят возвраты, то это похоронит оффлайн магазины одежды
В общем, сфера рекомендаций не так проста, как кажется 💯
P.S. Если знаете клевые рек модели в вашей индустрии - пишите в комментарии, очень интересно 🧐
#recsys
Однозначный лидер есть и в табличках (бустинг), и в LLM (GPT-4, Claude 3) и много где еще. Но в мире рекомендаций его нет!
На paperswithcode на каждом датасете свой лидер: ALS, EASE, SASRec,… где-то даже tf-idf 😅
Крупнейшие компании абсолютно по-разному строят свои рек системы. EBay ушел в кластеризацию товаров + поиск похожих, Pinterest полюбил трансформеры, при этом кое-где зажигает и классический ALS
На мой взгляд, SOTA нет, потому что задача «рекомендаций» в каждой индустрии своя
В соц сетях часто нужно показывать новые посты от любимых авторов/друзей. В фильмах - популярные сейчас и похожие. В продуктовом ритейле - стандартную корзину покупателя (повторные покупки)
Хотите поэкзотичнее? В одежде чуть ли не главный челлендж - учет размера 📐
По некоторым прикидкам, если онлайн-ритейлеры одежды с этим справятся и снизят возвраты, то это похоронит оффлайн магазины одежды
В общем, сфера рекомендаций не так проста, как кажется 💯
P.S. Если знаете клевые рек модели в вашей индустрии - пишите в комментарии, очень интересно 🧐
#recsys
👍28🔥13💩2🤡2
Если готовитесь к собесам 📈
>1900 вопросов с собеседований по анализу данных, машинному обучению, cv, статистике. Вопросы разбирают сеньоры, которые сами проводят собесы и дают примеры правильных ответов
Можно сильно упростить прохождение собесов, если заранее изучить популярные вопросы 💼
Только реально вдумывайтесь в решение, а не просто заучивайте - иначе не сработает 😅
Реклама тг-канала Machine learning interview
>1900 вопросов с собеседований по анализу данных, машинному обучению, cv, статистике. Вопросы разбирают сеньоры, которые сами проводят собесы и дают примеры правильных ответов
Можно сильно упростить прохождение собесов, если заранее изучить популярные вопросы 💼
Только реально вдумывайтесь в решение, а не просто заучивайте - иначе не сработает 😅
Реклама тг-канала Machine learning interview
Telegram
Machine learning Interview
Разбираем вопросы с собеседований по Machine Learning, Data Science, Deep Learning и Нейронным сетям, Python.
Вопросы - @notxxx1
@itchannels_telegram -🔥лучшие it каналы
РКН: clck.ru/3FmwRz
Вопросы - @notxxx1
@itchannels_telegram -🔥лучшие it каналы
РКН: clck.ru/3FmwRz
🔥63👍43💩13❤6👎2
В чем моя суперсила в ML?
Смотрю аниме Blue lock. Там топ-300 футбольных нападающих тренируются вместе и соревнуются между собой, чтобы остался один лучший. Главный герой задумывается, как определить свою суперсилу (дрибблинг, скорость, точный удар, ...) и возвести ее в абсолют, чтобы победить
И вот я задумался, а в чем моя суперсила в ML?
Не то чтобы я самый мощный кодер, или читаю SOTA на следующий день после ее выхода
Но в чем я точно хорош - это ML system design (эго распирает, да 👑)
ML system design состоит из нескольких кусочков - попробую описать, что помогает мне в каждом
🎯 Понимание, чего хочет бизнес + перевод этого в метрики
Тут конечно бэкграунд в экономике здорово помогает. Довольно хорошо разбираюсь в юнит экономике, моделях монетизации и P&L
Если не знаете, что это - мой настоятельный рекомендасьон ознакомиться)
Одержимость метриками бизнеса даже привела к тому, что я строил несколько АВ-платформ и не раз спорил с фин директором про метрики 😅
💡Навык разглядеть потенциал в данных
Как-нибудь надо записать курс про то, что можно творить простейшими преобразованиями данных
В Лавке, например, нам удалось достичь очень многого... упрощением данных. Перешли от прогноза спроса на склад-час-товар к прогнозу на город-день-товар. Очевидные зависимости (типа в следующий понедельник продадим +- столько же, сколько в прошлый) учли эвристикой, а катбустом прогнозировали уже ее ошибки. Подробнее я рассказывал на ML Conf
🦾 Модель в моменте и потенциал ее развития
Тут играет на руку опыт в разных сферах: от классических прогноза спроса и оптимизации цен до рекомендаций, uplift-моделей и NLP
Еслидолго смотреть в бездну, то она взглянет на тебя делать разные модели, то начинаешь видеть очень много общих кусков. Например, рекомендации, uplift и оптимизация цен - невероятно похожие задачи по своей сути. В них даже ключевой подводный камень одинаковый: каннибализация. Про нее, кстати, аж 4 года назад рассказывал на конфе от Х5
Ну и удается продумывать не только как построить модель сейчас, но и как сделать ее улучшаемой и масштабируемой. Как-то даже с лидом поиска в Delivery Сlub залетели на Highload++ с рассказом про применение одной ML-модельки в поиске, которая изначально вообще была не для него. Но легко масштабировалась и в итоге применялась в поиске, рекомендациях, маркетинге и аналитике
🪄 Вжух, вжух и в продакшен
Довелось и батч джобы обвешивать мониторингами с алертами, а сервисы на fastapi писать, и даже вместе с mlops продумывать архитектуру go-шного риалтайма
Но все это обьединяла идея: давайте научимся катить в прод очень быстро и надежно. И получалось же!)
Тут описал далеко не все, но, пожалуй, хватит сегодня ссылок на мои выступления 😊
#personal
Смотрю аниме Blue lock. Там топ-300 футбольных нападающих тренируются вместе и соревнуются между собой, чтобы остался один лучший. Главный герой задумывается, как определить свою суперсилу (дрибблинг, скорость, точный удар, ...) и возвести ее в абсолют, чтобы победить
И вот я задумался, а в чем моя суперсила в ML?
Не то чтобы я самый мощный кодер, или читаю SOTA на следующий день после ее выхода
Но в чем я точно хорош - это ML system design (эго распирает, да 👑)
ML system design состоит из нескольких кусочков - попробую описать, что помогает мне в каждом
🎯 Понимание, чего хочет бизнес + перевод этого в метрики
Тут конечно бэкграунд в экономике здорово помогает. Довольно хорошо разбираюсь в юнит экономике, моделях монетизации и P&L
Если не знаете, что это - мой настоятельный рекомендасьон ознакомиться)
Одержимость метриками бизнеса даже привела к тому, что я строил несколько АВ-платформ и не раз спорил с фин директором про метрики 😅
💡Навык разглядеть потенциал в данных
Как-нибудь надо записать курс про то, что можно творить простейшими преобразованиями данных
В Лавке, например, нам удалось достичь очень многого... упрощением данных. Перешли от прогноза спроса на склад-час-товар к прогнозу на город-день-товар. Очевидные зависимости (типа в следующий понедельник продадим +- столько же, сколько в прошлый) учли эвристикой, а катбустом прогнозировали уже ее ошибки. Подробнее я рассказывал на ML Conf
🦾 Модель в моменте и потенциал ее развития
Тут играет на руку опыт в разных сферах: от классических прогноза спроса и оптимизации цен до рекомендаций, uplift-моделей и NLP
Если
Ну и удается продумывать не только как построить модель сейчас, но и как сделать ее улучшаемой и масштабируемой. Как-то даже с лидом поиска в Delivery Сlub залетели на Highload++ с рассказом про применение одной ML-модельки в поиске, которая изначально вообще была не для него. Но легко масштабировалась и в итоге применялась в поиске, рекомендациях, маркетинге и аналитике
🪄 Вжух, вжух и в продакшен
Довелось и батч джобы обвешивать мониторингами с алертами, а сервисы на fastapi писать, и даже вместе с mlops продумывать архитектуру go-шного риалтайма
Но все это обьединяла идея: давайте научимся катить в прод очень быстро и надежно. И получалось же!)
Тут описал далеко не все, но, пожалуй, хватит сегодня ссылок на мои выступления 😊
#personal
YouTube
Иван Максимов | 13 способов ускорить А/В тест, или "Не CUPED-ом единым"
ML in Marketing hub: https://ods.ai/hubs/ml-in-marketing
Телеграм-канал https://news.1rj.ru/str/mlinmarketing
Спикер: Иван Максимов, Data Science Team Lead at Delivery Club
Многие аналитики для ускорения А/В тестов в первую очередь используют достаточно сложные статистические…
Телеграм-канал https://news.1rj.ru/str/mlinmarketing
Спикер: Иван Максимов, Data Science Team Lead at Delivery Club
Многие аналитики для ускорения А/В тестов в первую очередь используют достаточно сложные статистические…
👍39🔥16❤7🤔2😱1
Пропасть между middle и senior в России растет
По калькулятору зарплат хабр карьеры за 2-ю половину 2023 медианная зп ML-специалистов в Москве выросла:
+20% (290к --> 360к) у Senior
+4% (210к --> 220к) у Middle
Из имхо наблюдений достаточно много висит вакансий senior с вилками 300-450к в крупнейших (топ-20) компаниях на рынке
То есть в теории с переходом из middle средней компании на senior в топ-20 компаний, можно увеличить зп в 1.5-2 раза 😱
Но это только в теории. Есть у меня пара уже более печальных гипотез, почему такая пропасть по зп между этими грейдами
- Всех Senior людей (которых немного) пробуют схантить топ-20 компаний или же синьеры устраиваются зарубеж
- Возможно, в России острая нехватка Senior мл-щиков и переизбыток Middle. Если год-два назад все говорили, что слишком много junior, то сейчас они уже стали миддлами. При этом вряд ли это касается крепких middle+
- От Senior уже ждут понимания доменной области: nlp/cv/таблички, особенности ритейл/банковской/... индустрий, чтобы приносить деньги компании сразу после выхода
А вы что думаете на этот счет? Пишите в комменты ⬇️
Канал @ml4value
#career
По калькулятору зарплат хабр карьеры за 2-ю половину 2023 медианная зп ML-специалистов в Москве выросла:
+20% (290к --> 360к) у Senior
+4% (210к --> 220к) у Middle
Из имхо наблюдений достаточно много висит вакансий senior с вилками 300-450к в крупнейших (топ-20) компаниях на рынке
То есть в теории с переходом из middle средней компании на senior в топ-20 компаний, можно увеличить зп в 1.5-2 раза 😱
Но это только в теории. Есть у меня пара уже более печальных гипотез, почему такая пропасть по зп между этими грейдами
- Всех Senior людей (которых немного) пробуют схантить топ-20 компаний или же синьеры устраиваются зарубеж
- Возможно, в России острая нехватка Senior мл-щиков и переизбыток Middle. Если год-два назад все говорили, что слишком много junior, то сейчас они уже стали миддлами. При этом вряд ли это касается крепких middle+
- От Senior уже ждут понимания доменной области: nlp/cv/таблички, особенности ритейл/банковской/... индустрий, чтобы приносить деньги компании сразу после выхода
А вы что думаете на этот счет? Пишите в комменты ⬇️
Канал @ml4value
#career
👍32🔥10😱6
70% фейлят ML System design 😱
За последние пару месяцев я провел 20+ ml system design собеседований.
~70% кандидатов после него оценил на грейд ниже ожиданий / неподходящие к вакансии (но Ок на другие) / no hire
Дам несколько советов, как можно улучшить результаты на таких собесах 🚀
У вас будет +- 40 минут на дизайн всей системы:
- Понять бизнес-проблему
- Сформулировать, зачем мы ее решаем + на какие бизнес-метрики влияем
- Перевести все это в ML-задачу
- Определить X, y
- Не забыть про loss и ml metrics (часто это разные вещи)
- Рассказать про алгоритм
- Способ валидации
- Обсудить, как катить все это дело в прод
- Проведение А/В
- Выкатка на 100%, мониторинг в проде и пару слов о дальнейшем развитии
1. Потренируйся хотя бы 2-3 раза
Как видите, пунктов много. Забыли хотя бы один - огромный минус. Потренируйтесь проходить такой тип собесов
У меня был кандидат, который пришел на ML system design, но даже не погуглил, что это - конечно это был фейл 🥲
2. Используйте Miro / draw.io
Если вы рисуете хорошую схему архитектуры, то становится в разы понятнее + вы точно не забудете детали. Но опять же, потренируйтесь рисовать схемы - иначе вы просто будете терять время на рисование непонятных квадратиков
3. Расскажите бейзлайн подробно, SOTA - кратко
Цель собеса - сделать рабочее решение. Показать свои знания SOTA - важно, но вторично. Поэтому сначала сделайте бейзлайн-решение со всеми пунктами выше, кратко упоминая как можно его улучшить. Останется время - в конце вернетесь к пункту Х и расскажете подробнее про SOTA
Хорошо: В бейзлайн версии переводим текстовое название и описание товара в вектор предобученным FastText. Потом можно потестировать файнтюн BERT / E5 / your_fancy_model
Плохо: Переводим текстовое описание в вектор через GPT-4о
В плохом варианте сразу возникнут вопросы, на которые вы НЕ успеете ответить: Как же стоимость api? как на проде это будет работать? что с перс данными? а кандидат точно знает, как работает gpt? и тд. Даже если вы знаете ответы - можете не успеть их рассказать, и впечатление будет смазанным
4. Простойкак пробка продакшен
Вы даже не представляете, сколько кандидатов посыпалось на дизайне real-time рекомендаций, потому что это правда сложно
Если можете задизайнить batch-предикт для продакшена раз в ночь - сделайте лучше так. Останется время - попробуете вместо рассказа про SOTA прикинуть, как можно делать batch-предикт раз в пару минут или real-time
5. Не забывайте, что вы решаете бизнес-проблему
Очень легко в задаче "Удержания клиента" закончить на дизайне классификатора оттока. Проблема в том, что сам классификатор проблему не решает 🧠
Нужно еще поверх него накрутить логику push-рассылок с промокодами, понять издержки на них, выбрать оптимальную скидку и много всего вот этого бизнесового. Хорошо расскажете про бизнес - почти гарантированно получите +1 грейд
Прочитали? Вспомните п.1 и потренируйтесь -- решите хотя бы в 5-минутном MVP варианте дизайн для "Матчинг товаров нашего маркетплейса с маркетплейсом-конкурентом для прайсинга: Хотим ставить цены не дороже конкурента". Готов после ответов в комментариях накидать каверзные вопросы ⬇️
тг-канал @ml4value
#system_design #career
За последние пару месяцев я провел 20+ ml system design собеседований.
~70% кандидатов после него оценил на грейд ниже ожиданий / неподходящие к вакансии (но Ок на другие) / no hire
Дам несколько советов, как можно улучшить результаты на таких собесах 🚀
У вас будет +- 40 минут на дизайн всей системы:
- Понять бизнес-проблему
- Сформулировать, зачем мы ее решаем + на какие бизнес-метрики влияем
- Перевести все это в ML-задачу
- Определить X, y
- Не забыть про loss и ml metrics (часто это разные вещи)
- Рассказать про алгоритм
- Способ валидации
- Обсудить, как катить все это дело в прод
- Проведение А/В
- Выкатка на 100%, мониторинг в проде и пару слов о дальнейшем развитии
1. Потренируйся хотя бы 2-3 раза
Как видите, пунктов много. Забыли хотя бы один - огромный минус. Потренируйтесь проходить такой тип собесов
У меня был кандидат, который пришел на ML system design, но даже не погуглил, что это - конечно это был фейл 🥲
2. Используйте Miro / draw.io
Если вы рисуете хорошую схему архитектуры, то становится в разы понятнее + вы точно не забудете детали. Но опять же, потренируйтесь рисовать схемы - иначе вы просто будете терять время на рисование непонятных квадратиков
3. Расскажите бейзлайн подробно, SOTA - кратко
Цель собеса - сделать рабочее решение. Показать свои знания SOTA - важно, но вторично. Поэтому сначала сделайте бейзлайн-решение со всеми пунктами выше, кратко упоминая как можно его улучшить. Останется время - в конце вернетесь к пункту Х и расскажете подробнее про SOTA
Хорошо: В бейзлайн версии переводим текстовое название и описание товара в вектор предобученным FastText. Потом можно потестировать файнтюн BERT / E5 / your_fancy_model
Плохо: Переводим текстовое описание в вектор через GPT-4о
В плохом варианте сразу возникнут вопросы, на которые вы НЕ успеете ответить: Как же стоимость api? как на проде это будет работать? что с перс данными? а кандидат точно знает, как работает gpt? и тд. Даже если вы знаете ответы - можете не успеть их рассказать, и впечатление будет смазанным
4. Простой
Вы даже не представляете, сколько кандидатов посыпалось на дизайне real-time рекомендаций, потому что это правда сложно
Если можете задизайнить batch-предикт для продакшена раз в ночь - сделайте лучше так. Останется время - попробуете вместо рассказа про SOTA прикинуть, как можно делать batch-предикт раз в пару минут или real-time
5. Не забывайте, что вы решаете бизнес-проблему
Очень легко в задаче "Удержания клиента" закончить на дизайне классификатора оттока. Проблема в том, что сам классификатор проблему не решает 🧠
Нужно еще поверх него накрутить логику push-рассылок с промокодами, понять издержки на них, выбрать оптимальную скидку и много всего вот этого бизнесового. Хорошо расскажете про бизнес - почти гарантированно получите +1 грейд
Прочитали? Вспомните п.1 и потренируйтесь -- решите хотя бы в 5-минутном MVP варианте дизайн для "Матчинг товаров нашего маркетплейса с маркетплейсом-конкурентом для прайсинга: Хотим ставить цены не дороже конкурента". Готов после ответов в комментариях накидать каверзные вопросы ⬇️
тг-канал @ml4value
#system_design #career
👍65🔥19🤔6❤5
DataFest 2024: RecSys
Неожиданно для себя вернулся в Москву сегодня в 2 ночи и …успел на оффлайн день DataFest в VK!)
До 18 буду в основном зале слушать доклады по RecSys. Если у вас есть желание пообщаться на больших перерывах
14:30-15:30, 17:00-18:00, пишите в комменты - постараемся встретиться 🙂
Неожиданно для себя вернулся в Москву сегодня в 2 ночи и …успел на оффлайн день DataFest в VK!)
До 18 буду в основном зале слушать доклады по RecSys. Если у вас есть желание пообщаться на больших перерывах
14:30-15:30, 17:00-18:00, пишите в комменты - постараемся встретиться 🙂
🔥35👍2❤1
Хайлайты DataFest: RecSys
Послушал все доклады на вчерашнем datafest, с частью спикеров пообщались в кулуарах — сформировал несколько хайлайтов в индустриальном recsys
💡 В академических статьях много скама
- Игрушечные датасеты
- Лики в валидации
- Неправильные метрики
Имхо, самая большая проблема еще в том, что все соревнуются в end-to-end рекомендациях одной моделью. А реальные продакшен системы многостадийные + на первом этапе делается union нескольких моделей. Поэтому надо делать модели с разными рекомендациями (растить union метрики), а не соревноваться, какая из 10 +- одинаковых побеждает на 2%
💡 Трансформеры уже везде, но есть нюанс
Open source реализации часто работают хуже статей и страдают от багов. Все спикеры писали SasRec/Bert4Rec с нуля
В WB, кстати, тоже самописный ALBERT4Rec
💡 Рекомендации категорий, а не товаров
Зачастую сложно угадать, какой товар понравится пользователю - давайте угадаем хотя бы категорию (моторные лодки, сообщество про котиков и тп)
Супер полезная штука для холодного старта (мало знаем о пользователе), кросс-категорийных рекомендаций и разнообразия
Тг-канал @ml4value
#recsys
Послушал все доклады на вчерашнем datafest, с частью спикеров пообщались в кулуарах — сформировал несколько хайлайтов в индустриальном recsys
- Игрушечные датасеты
- Лики в валидации
- Неправильные метрики
Имхо, самая большая проблема еще в том, что все соревнуются в end-to-end рекомендациях одной моделью. А реальные продакшен системы многостадийные + на первом этапе делается union нескольких моделей. Поэтому надо делать модели с разными рекомендациями (растить union метрики), а не соревноваться, какая из 10 +- одинаковых побеждает на 2%
Open source реализации часто работают хуже статей и страдают от багов. Все спикеры писали SasRec/Bert4Rec с нуля
В WB, кстати, тоже самописный ALBERT4Rec
Зачастую сложно угадать, какой товар понравится пользователю - давайте угадаем хотя бы категорию (моторные лодки, сообщество про котиков и тп)
Супер полезная штука для холодного старта (мало знаем о пользователе), кросс-категорийных рекомендаций и разнообразия
Тг-канал @ml4value
#recsys
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Выжимаем максимум из ALBERT4Rec
Введение Привет! В прошлой статье я рассказывал как заводил ALBERT4Rec для персональных рекомендаций на главной Wildberries. Сегодня поделюсь подходами к развитию модели, которые мы успешно внедряли на протяжении прошлого года. Гиперпараметры и около того…
👍35🔥5❤4
Гиганты индустрии учат зарабатывать деньги на рекомендациях 💸
Пару постов назад писал, что академические статьи в рекомендациях редко бывают полезными: много откровенных фейков, неправильно проведенных экспериментов и тд. Вот статьи от гигантов индустрии - другое дело! Но и тут все не так просто
Гиганты индустрии (Netflix, Pintereset, Alibaba, Amazon, Google, ...) уже настолько большие, что им разумно вкладываться в оптимизацию метрик второго порядка:
- Более дешевое обучение моделей: экономит им миллионы на инфраструктуре
- Рост "справедливости" рекомендаций: продвижение нового / узкоспециализированного контента
- Счастье авторов и другое
Напрямую про существенный рост денег они пишут редко (из-за NDA в том числе), но бывают приятные исключения!
Трансформеры в персональных рекомендациях - PinnerFormer (Pinterest)
Если внимательно приглядеться, то они завели не более традиционные SASRec / BERT4Rec, а довольно близкий к реалиям трансформер: Предсказывают все действия пользователя за следующие 28 дней. Это лучше коррелирует с результатами А/В и помогает растить разнообразие
Похожие товары на графах - Billion scale commodity embeddings (Alibaba)
Показывали еще в 2018 году, что графы рулят!) Ну и что в них можно впихнуть любую информацию о товарах: рейтинги, цены и тп - это тоже помогает
В общем, моя рейкомендасьон к прочтению 🧐
тг-канал @ml4value
#recsys #articles_review
Пару постов назад писал, что академические статьи в рекомендациях редко бывают полезными: много откровенных фейков, неправильно проведенных экспериментов и тд. Вот статьи от гигантов индустрии - другое дело! Но и тут все не так просто
Гиганты индустрии (Netflix, Pintereset, Alibaba, Amazon, Google, ...) уже настолько большие, что им разумно вкладываться в оптимизацию метрик второго порядка:
- Более дешевое обучение моделей: экономит им миллионы на инфраструктуре
- Рост "справедливости" рекомендаций: продвижение нового / узкоспециализированного контента
- Счастье авторов и другое
Напрямую про существенный рост денег они пишут редко (из-за NDA в том числе), но бывают приятные исключения!
Трансформеры в персональных рекомендациях - PinnerFormer (Pinterest)
Если внимательно приглядеться, то они завели не более традиционные SASRec / BERT4Rec, а довольно близкий к реалиям трансформер: Предсказывают все действия пользователя за следующие 28 дней. Это лучше коррелирует с результатами А/В и помогает растить разнообразие
Похожие товары на графах - Billion scale commodity embeddings (Alibaba)
Показывали еще в 2018 году, что графы рулят!) Ну и что в них можно впихнуть любую информацию о товарах: рейтинги, цены и тп - это тоже помогает
В общем, моя рейкомендасьон к прочтению 🧐
тг-канал @ml4value
#recsys #articles_review
👍28🔥5❤2
Прикольные товары или Serendipity
Считается, что пользователям стоит рекомендовать необычные товары, которые их «удивят» (придумали даже термин serendipity). Это в теории растит удовлетворенность сервисом и заставляет раз за разом возвращаться - растет retention и выручка в долгосроке
Есть разные вариации метрики serendipity. Например, можно считать «необычным» товар, если мы его рекомендуем юзеру Х, товар ему релевантен, при этом всем остальным его рекомендуем редко
Но иногда попадаются настоящие товары-шедевры. Как думаете, какой метрикой можно отловить подобную «необычную» рекомендацию? 😅
Считается, что пользователям стоит рекомендовать необычные товары, которые их «удивят» (придумали даже термин serendipity). Это в теории растит удовлетворенность сервисом и заставляет раз за разом возвращаться - растет retention и выручка в долгосроке
Есть разные вариации метрики serendipity. Например, можно считать «необычным» товар, если мы его рекомендуем юзеру Х, товар ему релевантен, при этом всем остальным его рекомендуем редко
Но иногда попадаются настоящие товары-шедевры. Как думаете, какой метрикой можно отловить подобную «необычную» рекомендацию? 😅
😁30👍3❤2😱2