ML for Value / Ваня Максимов – Telegram
ML for Value / Ваня Максимов
5.59K subscribers
191 photos
1 video
1 file
119 links
Путь от ML-модели до Value для компании | RecSys, Search, LLM, Pricing и CLTV

Ваня Максимов, @Ivan_maksimov
Head of AI | Recsys, search, llm @Y.Market, ex-WB, ex-Delivery Club

Консультирую компании, Веду курсы
Публикую релевантную рекламу
Download Telegram
Зимовка в Азии: Вьетнам, Дананг 🇻🇳

Как и писал выше, в канале добавится немного постов про меня, номадство и другие social штуки)

Второй год провожу 1.5-2 месяца зимы в тепле и вообще об этом не жалею:) Был в прошлом году на Шри-Ланке, а в этом во Вьетнаме в Дананге - strongly recommended!


Дананг - Мекка digital nomad-ов во Вьетнаме

- Клевое и +- доступное жилье. Хорошая квартира на 2их будет стоить 600-1000$ в мес. Конечно можно и дешевле, но… не рекомендую:) В этом году это сильно дешевле, чем в Тае или Бали
- Куча хипстерских кафе (Puna и Bikini bottom ❤️‍🔥)
- Дананг - большой город с идеальным пляжем и инфраструктурой
- Тут можно заниматься теннисом (8/10) и серфингом (6/10) 🎾
- Много достопримечательностей в часе езды, мой топ-3: Древняя столица Хюэ, город ремесленников и фонариков Хойан, Мраморные горы 🏔️

Но есть пара моментов:
- Селиться нужно строго в розовой области на карте - 90% nomad-инфраструктуры именно там
- Без мопеда тяжело. Тут работает Grab такси, но тем не менее
- Это все же Азия. Поэтому можно встретить типикал караоке на всю улицу до 22, местные закусочные, рынки на каждом углу : кому-то заходит, а кому-то не очень 😅

В общем Дананг для зимовки - highly recommended
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍97
3 всадника рекомендательного апокалипсиса

Сделать персональные рекомендации легко, но почти все системы настигают 3 проблемы

1. Оффлайн метрики, а не онлайн
Можно бесконечно долго оптимизировать ML-метрики типа recall@k, а в результате получить, например рекомендации очень релевантных пакетов или выдачу из одних утюгов

Далеко не всегда оффлайн метрики хорошо коррелируют с деньгами (онлайн): нужно очень хорошо постараться, чтобы найти связь


2. Каннибализация
Доля заказов из рекомендаций 60% - какие мы молодцы!

Нет)) Мы могли просто каннибализировать тот же поиск.
Могло стать даже хуже: каннибализировали поиск, где конверсия выше

На практике эффект ~1 к 10. То есть доля заказов из рек 60% - реальный прирост заказов vs без рек = 6%

Возможно для кликов/заказов из рек надо совершать меньше действий (скролл vs подумать над запросом, написать его, выставить фильтры). Но если юзер знает, что ищет (айфон 14 pro max), то он и без рек его найдет - поэтому в реках важно diversity, surprise

Вообще хорошо бы подумать, как сделать реки НЕ похожими на результаты поиска. YouTube например, убирает из данных для модели последний поисковой запрос даже!

3. Конверсия, а не деньги
Все мы любим оптимизировать конверсию: это понятно и не так сложно. Но реальный мир суров: можно вырастить конверсию и уронить средний чек - в итоге упадет выручка. А можно, например, рекомендовать супер релевантные товары, которые поедут из Южной Америки - и потерять деньги на логистике. В общем, деньги имеют значение 💰

@ml4value
👍47🔥94🤡2
ML4RecSys: что происходит? февраль 2024

Последнее время читаю про недавние прорывы в рекомендательных системах... и там все очень сомнительно

Даже не верится что в 2024 году в статьях с топовых конференций классические «стажерские» ошибки:
- неправильный train-test split
- сравнение с явно недо-тюнеными бейзлайнами
- выбор для сравнения только тех датасетов, где модель побеждает…

Поэтому выудить что-то явно работающее очень сложно 😕
Тем не менее, на мой взгляд, в адекватных статьях взлетели:
- Трансформеры для отбора кандидатов
- Разные стратегии поиска Hard negatives (покупка - позитивный таргет, но найти хороший негативный - занятная задача)
- Таргет более близкий к деньгам (не клики, а хотя бы клики дольше 10 сек)

Дальше уже разные топ компании репортят совсем разные вещи:
- У одних лучше encoder (BERT4Rec), у других - decoder модели (SASRec)
- Как будто огромное значение играет не архитектура, а выбор данных / как берут негативы / лосс
- В академии SOTA показывают модели с дополнительным contrastive loss, но в индустрии этого пока не видно
- Почти у всех проблемы метча оффлайн/онлайн метрик или рост конверсии + падения чека, но никто не говорит, как с этим справляется
- Многие внедряют разнообразие / novelty в рекомендации через постпроцесинг без всякого ML
- Как будто градиентый бустинг для ранжирования все еще на уровне с SOTA

В общем, пока инженерный подход в рекомендациях решает 🔥

Если вы знаете прикольные открытия / рабочие инженерные подходы в RecSys, делитесь в комментариях ⬇️
👍28🔥17🤓21🤡1
Вдогонку к прошлому посту про «стажерские» ошибки в статьях по RecSys - даже рисерч отдел Google немножко 🤏 ошибся с неймингом своих моделей

В итоге многие думали, что смотрят на Gemma-7B (7B параметров) как на похожего по размеру конкурента условного Mixtral-7B, но… у Gemma-7B около 8.5В (+21%) параметров - правильнее ее называть Gemma-9B

Соответственно «в лоб» такие модели сравнивать не очень корректно
👍1
Точность в нейминге размера модели критически важна для LLM, поскольку это влияет на справедливость сравнения, воспроизводимость результатов и понимание компромиссов между размером модели и её производительностью.

Решил создать тред на HF. так что поддержать идею о переименовании модели Gemma7B в Gemma-9B можно тут:

👉 https://huggingface.co/google/gemma-7b/discussions/34

А то ресерч-маркетологи ведут себя как на рынке, ну и вообще, камон, округление все в начальной школе проходили.
👍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
😁40👍18🤔63🔥3
Зачем нужен тимлид ...и как им стать?

После поста про мамка-менеджера случилось несколько холиваров (где я тоже поучаствовал 😅) на тему, а зачем самостоятельной команде в принципе нужен тимлид? При этом многие стремятся вырасти в тимлида. Давайте разбираться в этой дилемме:)


*Что вообще делает хороший тимлид?*

Решает 10% самых сложных проблем каждого члена команды
Да, чтобы при команде в 5 человек решать всего 5 * 10% = 50% человеко-проблем (самых сложных!) команда должна быть на 90% самостоятельной. Иногда при бОльшем проценте таких проблем тимлид в них тонет, и в общем-то на этом заканчивается его работа 🥲

Зачастую работает техлидом
Очень часто написать идеально отдельные кусочки кода легко, а вот продумать, как он ложится во всю архитектуру системы (ваши фреймворки, время расчета, RPS, масштабируемость) - та еще задачка
Помимо этого зачастую тимлид ревьюит код, да и сам его пишет

Переводит бизнес-проблемы в понятные тех задачи
Путь от "Кажется, наши промо-акции неэффективны" до "Давайте прогнозировать спрос в зависимсоти от скидки + делать оптимизацию поверх" не так прост, как кажется. Нужно не только это сформулировать, но и убедить бизнес, что так стоит делать. У некоторых стейкхолдеров бывают страхи насчет ML, возможно были неудачные прошлые попытки - надо все это разрулить
Часто бывает, что нужно за стейкхолдеров вообще сформулировать, в чем заключается их бизнес-проблема 😅

Представитель команды в компании
На ревью, демо, при обсуждении бюджетов и новых ставок, дополнительных плюшек - в общем, вы даже не представляете, насколько успех вашей команды и вас персонально зависит от этого скилла у тимлида. Как думаете, какая команда и конкретные люди будут расти быстрее: Про которую все понимают, что она делает, и результаты которой заметны всем или той, про которую вспоминают только на ревью?

продолжение ниже...
#career
👍20🔥6🤡3🙈21
начало поста про Тимлидство выше ⬆️

Развитием людей в команде
1-1, брейнштормы, курсы, код ревью, индивидуальные планы развития и все прочее вообще-то говоря при грамотном использовании помогает вам расти! А организовать рост даже 5 человек - ох, какая непростая задача

Bullshit-filter
Ну и напоследок, члены команды могут даже не знать про кучу странных задач, которые тимлид обсудил с маркетингом/продуктом/бабушкой CEO и убедил их, что такие задачи делать не нужно)


*Как стать тимлидом?*
Если вас не смутил список выше, то посмотрите на него повнимательнее - предлагаете вашему тимлиду помочь с одним любым пунктом - profit, через полгода вы тимлид) Без шуток, если ваш тимлид смог передать кому-то из команды даже часть этих вещей.. то обычно он становится тимлидом тимлидов!
👍234🔥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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍5🤷‍♂1
Это они еще tf-idf не пробовали..

Ну а вообще тема с бейзлайнами и сбором качественных данных за последие год-два отошла на десятый план
Очень жаль: надо как-нибудь собрать митап или конференцию а-ля "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
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
🔥62👍18💩1411😁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 🧠
🔥23👍9🤡32🆒2