Лето. Питер. GenAI
26-27 июня в Питере пройдет Conversations 2025 — конференция по СonversationalAI и GenAI для бизнеса и разработчиков. Будет много про RAG-и, агентов и мультимодольность
В Technology Track (а есть еще business, product и startup) есть занятные доклады:
- ETL для RAG: как отделить стог сена от стога иголок и не спалить серверную? (Альфа банк и Just AI)
- LLM в клиентских ботах МТС: галлюцинации, громоздкие промпты и другие неочевидные вызовы (МТС)
- LLM под капотом Алисы: реальная история внедрения GPT-технологий (Яндекс)
В общем, 2 дня насыщенной программы, 4 трека, 40+ спикеров, нетворкинг с вечеринкой и первая в России премия по genAI🔥
Вот здесь — сайт Conversations, здесь — программа и билеты.
Скидка 10% на билеты по промокоду: CNVS25sPtS
26-27 июня в Питере пройдет Conversations 2025 — конференция по СonversationalAI и GenAI для бизнеса и разработчиков. Будет много про RAG-и, агентов и мультимодольность
В Technology Track (а есть еще business, product и startup) есть занятные доклады:
- ETL для RAG: как отделить стог сена от стога иголок и не спалить серверную? (Альфа банк и Just AI)
- LLM в клиентских ботах МТС: галлюцинации, громоздкие промпты и другие неочевидные вызовы (МТС)
- LLM под капотом Алисы: реальная история внедрения GPT-технологий (Яндекс)
В общем, 2 дня насыщенной программы, 4 трека, 40+ спикеров, нетворкинг с вечеринкой и первая в России премия по genAI🔥
Вот здесь — сайт Conversations, здесь — программа и билеты.
Скидка 10% на билеты по промокоду: CNVS25sPtS
🔥7👍6🤔4🤣3
AB платформа X5 - reverse engineering
Периодически слежу за развитием подходов А/В в индустрии. За год вышло немало статей от Х5 про их АВ-плафторму + наткнулся на новость, что ее проверили на ФКН Вышки и подвтердили, что все валидно. Тех репортов нет, но кто мне помешает сделать reverse engineering этой АВ платформы по статьям Х5 с Хабра?)
Отправная точка - 2019г
Была подробная статья про А/В экспы Х5 в оффлайне на 15к магазинах
Если я все верно понял, то 5 лет назад все работало так:
1. Сэмплируем контрольную группу из K магазинов
2. К каждому контрольному магазину подбираем 1 наиболее похожий тестовый магазин по фичам на предтестовом периоде
3. Проводим А/В
4. Применяем методы снижения дисперсии (почему-то сюда вписана и линеаризация, ну да ладно)
5. Применяем стандартный Т-тест
После этого было довольно много статей на Хабре - так давайте обьединим их в одну картинку
А/В плафторма X5 на 2025г из этих разрозненных кусочков на Хабре (сугубое имхо)!
1. Статистический фильтр
В оффлайне маленькое кол-во данных (15-30к магазинов) - это огромная проблема. Приходится выстраивать очередь экспов. Логичная идея: давайте сначала проверять на исторических данных, можно ли вообще ожидать эффект от фичи? Если да, то только тогда зпускать АВ. Как я понял, способ такой проверки у Х5 эволюционировал от diff-in-diff до поиска коинтеграции временных рядов через эконометрические VECM модели (мое бакалаврское прошлое ликует 🔥). В общем случае VECM-модель - это хиттрая линейная регрессия на временных рядах, которую можно посчитать и на исторических данных без АВ, и потом уже в самом АВ для снижения дисперсии
2. Разбиение магазинов
Видимо осталось тем же, что и в 2019-ом: К каждому контрольному магазину подбираем 1 наиболее похожий тестовый
3. Проводим сам А/В
4. Снижение дисперсии через линейную регрессию
Когда-то в своем видео "13 способов ускорить А/В тест: не CUPED-ом единым" я и сам рассказывал, что все методы ускорения А/В сводятся к линейной регрессии. Похоже, этот подход и внедрен в Х5
5. Т-тест: все еще один в поле воин!)
Была просто куча статей про плюсы/минусы разных стат критериев. Чем плох баес, можно ли заменить t-test на welch test, как поживает манн-уитни. Но из этих статей я делаю вывод, что T-test все еще держится по совокупности плюсов и минусов
6. Мета-анализ
Тут начинается кое-что занятное) Часто одна команда проводит за квартал серию экспов на улучшение одной и той же метрики. Хорошо бы понять, а какой прирост метрики был в сумме от всех внедрений? Спойлер - это часто сильно меньше суммы каждого отдельного внедрения. Есть разные способы делать такой подсчет. Сразу несколько статей про мета-анализ наводит на мысль, что Х5 живет инвестиционными циклами в квартал-полгода. И на самом деле важны не сами зеленые А/В, а суммарные эффект от команды/продукта за период. Такой подход одобряем
Если вы из Х5 и готовы сказать, в чем я прав, а в чем - нет, то welcome в комментарии ⬇️
// Reverse engineering AB плафтормы X5 подготовил тг-канал @ml4value
Периодически слежу за развитием подходов А/В в индустрии. За год вышло немало статей от Х5 про их АВ-плафторму + наткнулся на новость, что ее проверили на ФКН Вышки и подвтердили, что все валидно. Тех репортов нет, но кто мне помешает сделать reverse engineering этой АВ платформы по статьям Х5 с Хабра?)
Отправная точка - 2019г
Была подробная статья про А/В экспы Х5 в оффлайне на 15к магазинах
Если я все верно понял, то 5 лет назад все работало так:
1. Сэмплируем контрольную группу из K магазинов
2. К каждому контрольному магазину подбираем 1 наиболее похожий тестовый магазин по фичам на предтестовом периоде
3. Проводим А/В
4. Применяем методы снижения дисперсии (почему-то сюда вписана и линеаризация, ну да ладно)
5. Применяем стандартный Т-тест
После этого было довольно много статей на Хабре - так давайте обьединим их в одну картинку
А/В плафторма X5 на 2025г из этих разрозненных кусочков на Хабре (сугубое имхо)!
1. Статистический фильтр
В оффлайне маленькое кол-во данных (15-30к магазинов) - это огромная проблема. Приходится выстраивать очередь экспов. Логичная идея: давайте сначала проверять на исторических данных, можно ли вообще ожидать эффект от фичи? Если да, то только тогда зпускать АВ. Как я понял, способ такой проверки у Х5 эволюционировал от diff-in-diff до поиска коинтеграции временных рядов через эконометрические VECM модели (мое бакалаврское прошлое ликует 🔥). В общем случае VECM-модель - это хиттрая линейная регрессия на временных рядах, которую можно посчитать и на исторических данных без АВ, и потом уже в самом АВ для снижения дисперсии
2. Разбиение магазинов
Видимо осталось тем же, что и в 2019-ом: К каждому контрольному магазину подбираем 1 наиболее похожий тестовый
3. Проводим сам А/В
4. Снижение дисперсии через линейную регрессию
Когда-то в своем видео "13 способов ускорить А/В тест: не CUPED-ом единым" я и сам рассказывал, что все методы ускорения А/В сводятся к линейной регрессии. Похоже, этот подход и внедрен в Х5
5. Т-тест: все еще один в поле воин!)
Была просто куча статей про плюсы/минусы разных стат критериев. Чем плох баес, можно ли заменить t-test на welch test, как поживает манн-уитни. Но из этих статей я делаю вывод, что T-test все еще держится по совокупности плюсов и минусов
6. Мета-анализ
Тут начинается кое-что занятное) Часто одна команда проводит за квартал серию экспов на улучшение одной и той же метрики. Хорошо бы понять, а какой прирост метрики был в сумме от всех внедрений? Спойлер - это часто сильно меньше суммы каждого отдельного внедрения. Есть разные способы делать такой подсчет. Сразу несколько статей про мета-анализ наводит на мысль, что Х5 живет инвестиционными циклами в квартал-полгода. И на самом деле важны не сами зеленые А/В, а суммарные эффект от команды/продукта за период. Такой подход одобряем
Если вы из Х5 и готовы сказать, в чем я прав, а в чем - нет, то welcome в комментарии ⬇️
// Reverse engineering AB плафтормы X5 подготовил тг-канал @ml4value
Хабр
Как проводить A/B-тестирование на 15 000 офлайн-магазинах
Привет! На связи команда Ad-hoc аналитики Big Data из X5 Retail Group. В этой статье мы расскажем о нашей методологии A/B-тестирования и сложностях, с которыми мы ежедневно сталкиваемся. В Big Data Х5...
❤20👍15🔥10👎2
Выбрать цену и не прогореть: Юнит экономика, ч1
В России и мире некоторый кризис, поэтому опять актуальна эффективность бизнеса. Ну и куда же в ней без оптимизации цен?
Обычно мы хотим больше прибыли за счет оптимальных цен. В более продвинутых кейсах не только прибили, а баланса выручка-прибыль, но об этом в следующий раз
Прибыль = прогноз спроса * (цена - издержки) —> max
Про прогноз спроса (он, кстати, зависит от цены) я уже рассказывал на pml и писал (раз, два). Цену мы выбираем сами. Для решения задачи осталось посчитать издержки, но они вроде же известны? Закупочная цена товара есть во всех ERP-системах
Она-то есть, и через нее мы можем посчитать front маржу товара (цена - закупочная цена). Проблема в том, что так не получится прибыль, которая реально остается на счетах компании. Но она получится, если считать юнит экономику товара
UE, unit economics - цена за вычетом всех (вообще всех!) издержек на этот товар
И вот тут начинаются проблемы: на этих детали, кстати, погорело много селлеров на маркетплейсах
- Товар нужно доставить до покупателя - логистические издержки
- При доставке его могут еще и вернуть (х2 логистика), и попортить/потерять - списания
- В конце сезона / срока годности нужно хоть как-то распродать остатки - будем выдавать скидки
- Товары нужно хранить, и это стоит приличных денег - издержки хранения
- Храня товар, мы замораживаем в нем деньги. А могли бы положить их на депозит под 15-18% и получить прибыль - недополученная прибыль
🧪 Итого, мы получаем формулу прибыли:
Прибыль = прогноз спроса * UE
= sales * (price - цена закупки - логистические издержки - скидки для продажи) - списания * цена закупки - фикс косты - time * ст-ть хранения * средний обьем хранения - deposit_rate * time * sales * закуп - …
Несколько сложнее, чем цена - закупочная цена, да?) И нам нужно оптимизировать вот это все сразу, выбирая цену. При этом цена сидит почти в каждом компоненте: в скидках, списаниях, обьеме и времени хранения, ...
Поэтому считайте юнит экономику товара, а не "купил за 70, продал за 100"
А как прогнозировать ее компоненты (списания, обьем хранения и тп) расскажу уже в следующем посте
To be continued...
В России и мире некоторый кризис, поэтому опять актуальна эффективность бизнеса. Ну и куда же в ней без оптимизации цен?
Обычно мы хотим больше прибыли за счет оптимальных цен. В более продвинутых кейсах не только прибили, а баланса выручка-прибыль, но об этом в следующий раз
Прибыль = прогноз спроса * (цена - издержки) —> max
Про прогноз спроса (он, кстати, зависит от цены) я уже рассказывал на pml и писал (раз, два). Цену мы выбираем сами. Для решения задачи осталось посчитать издержки, но они вроде же известны? Закупочная цена товара есть во всех ERP-системах
Она-то есть, и через нее мы можем посчитать front маржу товара (цена - закупочная цена). Проблема в том, что так не получится прибыль, которая реально остается на счетах компании. Но она получится, если считать юнит экономику товара
UE, unit economics - цена за вычетом всех (вообще всех!) издержек на этот товар
И вот тут начинаются проблемы: на этих детали, кстати, погорело много селлеров на маркетплейсах
- Товар нужно доставить до покупателя - логистические издержки
- При доставке его могут еще и вернуть (х2 логистика), и попортить/потерять - списания
- В конце сезона / срока годности нужно хоть как-то распродать остатки - будем выдавать скидки
- Товары нужно хранить, и это стоит приличных денег - издержки хранения
- Храня товар, мы замораживаем в нем деньги. А могли бы положить их на депозит под 15-18% и получить прибыль - недополученная прибыль
🧪 Итого, мы получаем формулу прибыли:
Прибыль = прогноз спроса * UE
= sales * (price - цена закупки - логистические издержки - скидки для продажи) - списания * цена закупки - фикс косты - time * ст-ть хранения * средний обьем хранения - deposit_rate * time * sales * закуп - …
Несколько сложнее, чем цена - закупочная цена, да?) И нам нужно оптимизировать вот это все сразу, выбирая цену. При этом цена сидит почти в каждом компоненте: в скидках, списаниях, обьеме и времени хранения, ...
Поэтому считайте юнит экономику товара, а не "купил за 70, продал за 100"
А как прогнозировать ее компоненты (списания, обьем хранения и тп) расскажу уже в следующем посте
To be continued...
Telegram
ML for Value / Ваня Максимов
Запись моего рассказа про Прогноз спроса с Practical ML Conference, если вы не смогли вчера быть лично или на трансляции 😄
https://youtu.be/18UzF2w9nec?t=28517
https://youtu.be/18UzF2w9nec?t=28517
2👍34🔥16 6❤2
В твиттере вирусится индус Soham Parekh, который прекрасно проходит собесы, а потом работает на нескольких работах в топ стартапах сразу
Часть людей пишет, что на работах он ничего не делает и много откуда его уволили через 2-3 недели
Другие восхищаются и тиражируют мемасики на эту тему - честно скопировал этот из дружеского тг-канала
Лично я скорее позитивно отношусь к 2 работам сразу, если человек с ними обеими справляется. На практике это обычно одна основная full time и вторая - part time (преподавание,
А вы что думаете?
🔥 - уже работаю на 2+ работах: это новая реальность
👍 - пока сомневаюсь, но смотрю в эту сторону
🤔 - мне и на одной работе хорошо
🤔65👍45🔥32❤2😁2
Упрощай и властвуй: RecSys в одну стадию
Недавно на весь рекомендательный мир прогремел новый тех репорт модели OneRec от китайского аналога тиктока Kuaishou. Они заменили многостадийную рексистему на одну генеративную нейронку и получили приличный рост метрик. Но пока все еще стоит вопрос о массовой применимости такой модели.
Мои коллеги из Яндекс Лавки недавно тоже отказались от кандидатогенерации. Теперь их catboost в рантайме скорит весь ассортимент даркстора (до 5000 SKU), укладываясь в 300 мс. И это уже может быть массово полезно очень многим!
📈 Внутри статьи — рассказ о том, как инженеры Лавки избавлялись от лишних признаков, по-хитрому готовили фичи, оптимизировали рантайм катбуст, и что всё это в итоге дало.
Как знать, может скоро мы все окажемся в мире без кандидатогенерации!
Недавно на весь рекомендательный мир прогремел новый тех репорт модели OneRec от китайского аналога тиктока Kuaishou. Они заменили многостадийную рексистему на одну генеративную нейронку и получили приличный рост метрик. Но пока все еще стоит вопрос о массовой применимости такой модели.
Мои коллеги из Яндекс Лавки недавно тоже отказались от кандидатогенерации. Теперь их catboost в рантайме скорит весь ассортимент даркстора (до 5000 SKU), укладываясь в 300 мс. И это уже может быть массово полезно очень многим!
📈 Внутри статьи — рассказ о том, как инженеры Лавки избавлялись от лишних признаков, по-хитрому готовили фичи, оптимизировали рантайм катбуст, и что всё это в итоге дало.
Как знать, может скоро мы все окажемся в мире без кандидатогенерации!
👍29🔥9❤7
Хранить нельзя списать: Юнит экономика, ч2
Начнем разбирать издержки с той самой статьи расходов, которая часто и рушит бизнес: хранение товара. Просто следите за руками
Спрос = f(price)
Ст-ть хранения = g(спрос) = g(f(price)) =
= Средний обьем в мес, м2 * ставка аренды
+ Средний обьем в мес, руб * ставка депозита (связка с оборачиваемостью?)
+ max(Средний срок хранения, дни - Срок годности; 0) * себестоимость товара
Прибыль = Спрос * (цена продажи - цена закупки) - Стоимость хранения --> max(price)
Мало того, что нужно получить зависимость g(f(price)). Так этаж* g() еще и очень сложно устроена!
Вот есть у нас прогноз спроса = f(price). Он в штуках, а не в м2. Он - это не обьем хранения. Он не знает о текущих остатках на складах и сколько нужно закупить товара до некоторого оптимального обьема хранения. Он еще не знает, что закупать товар можно только коробками по 12-20 штук
Если спрос маленький (до 10 штук), то его колбасит по полноценному Пуассону. И любая ошибка прогноза (очень вероятная) приводит к покупке не 1 коробки, а 2ух коробок - здравствуйте х2 издержки хранения (списания)
😈О как..
Какое-то "хранение" превратилось в нелинейную комбинаторную невыпуклую и черт еще знает какую заадчу математической оптимизации
Допустим, мы знаем текущий сток(обьем хранения) на складе. И у нас есть прогноз спроса. Казалось бы, закупаем c учетом округлени до коробки round(Спрос - Сток) и все дела?
Типичная ошибка навичка. Мы ведь не решаем задачу продать весь сток поскорее, а хотим побольше прибыли заработать. Если товар на складе закончился, а заказы поступают - мы недополучаем прибыль от этих заказов.
Поэтому появился термин Старховые запасы. Из приятного - можно решать задачи прогноза спроса и определения страховых запасов почти независимо!
Обьем закупки = round(Спрос + Страховой запас - Сток)
Средний обьем хранения = (Сток + Спрос + 2 * Страховой запас + доп хранение из-за округления) / период между поставками
А дальше есть 2 пути
- Зубодробительно решать задачу математически, например, вот так
- Делать симуляции типа Монте-Карло, тк округления "по коробкам" все равно здорово ломают математику
Как бы я ни любил красивую математику, порекомендую заняться симуляцией
💡 Несколько интересных выводов из опыта таких симуляций :
- При маленьком обьеме спроса (до 10 штук товара за период между закупками) ловить нечего - нужно продавать много и вкладываться в рекламу
- Чем меньше размер "коробки" вы можете закупить, тем лучше
- Следите за сроками годности товаров. Фрэш со сроком годности 4 дня и меньше - кровавый океан
- Редкие поставки с большим лагом во времени очень круто растят стоимость хранения
- Если не считать, сколько товара закупать, то можно легко погореть только на хранении)) Хотя казалось бы, это просто фикс ставка за склад в месяц
- Вы удивитесь, но с маржинальностью товара = (цена - закупка) / цена менее 100% у небольшого продавца шансов на прибыль нет. Гораздо эффективнее будет положить деньги на закупку товара на депозит под 16-18%
Это была аналитика дляселлеров ml-щиков бесплатно, без регистрации и смс
Подготовлено каналом @ml4value
Начнем разбирать издержки с той самой статьи расходов, которая часто и рушит бизнес: хранение товара. Просто следите за руками
Спрос = f(price)
Ст-ть хранения = g(спрос) = g(f(price)) =
= Средний обьем в мес, м2 * ставка аренды
+ Средний обьем в мес, руб * ставка депозита (связка с оборачиваемостью?)
+ max(Средний срок хранения, дни - Срок годности; 0) * себестоимость товара
Прибыль = Спрос * (цена продажи - цена закупки) - Стоимость хранения --> max(price)
Мало того, что нужно получить зависимость g(f(price)). Так эта
Вот есть у нас прогноз спроса = f(price). Он в штуках, а не в м2. Он - это не обьем хранения. Он не знает о текущих остатках на складах и сколько нужно закупить товара до некоторого оптимального обьема хранения. Он еще не знает, что закупать товар можно только коробками по 12-20 штук
Если спрос маленький (до 10 штук), то его колбасит по полноценному Пуассону. И любая ошибка прогноза (очень вероятная) приводит к покупке не 1 коробки, а 2ух коробок - здравствуйте х2 издержки хранения (списания)
😈О как..
Какое-то "хранение" превратилось в нелинейную комбинаторную невыпуклую и черт еще знает какую заадчу математической оптимизации
Допустим, мы знаем текущий сток(обьем хранения) на складе. И у нас есть прогноз спроса. Казалось бы, закупаем c учетом округлени до коробки round(Спрос - Сток) и все дела?
Типичная ошибка навичка. Мы ведь не решаем задачу продать весь сток поскорее, а хотим побольше прибыли заработать. Если товар на складе закончился, а заказы поступают - мы недополучаем прибыль от этих заказов.
Поэтому появился термин Старховые запасы. Из приятного - можно решать задачи прогноза спроса и определения страховых запасов почти независимо!
Обьем закупки = round(Спрос + Страховой запас - Сток)
Средний обьем хранения = (Сток + Спрос + 2 * Страховой запас + доп хранение из-за округления) / период между поставками
А дальше есть 2 пути
- Зубодробительно решать задачу математически, например, вот так
- Делать симуляции типа Монте-Карло, тк округления "по коробкам" все равно здорово ломают математику
Как бы я ни любил красивую математику, порекомендую заняться симуляцией
- При маленьком обьеме спроса (до 10 штук товара за период между закупками) ловить нечего - нужно продавать много и вкладываться в рекламу
- Чем меньше размер "коробки" вы можете закупить, тем лучше
- Следите за сроками годности товаров. Фрэш со сроком годности 4 дня и меньше - кровавый океан
- Редкие поставки с большим лагом во времени очень круто растят стоимость хранения
- Если не считать, сколько товара закупать, то можно легко погореть только на хранении)) Хотя казалось бы, это просто фикс ставка за склад в месяц
- Вы удивитесь, но с маржинальностью товара = (цена - закупка) / цена менее 100% у небольшого продавца шансов на прибыль нет. Гораздо эффективнее будет положить деньги на закупку товара на депозит под 16-18%
Это была аналитика для
Подготовлено каналом @ml4value
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29🔥16👍14🤯2
Разнообразие рекомендаций: Sampled MMR
В рекомендательных системах есть 2 проблемы:дураки и дороги слишком много товаров и их однотипность. Например, у вас есть миллионы книг - хочется получить топ-10 самых релевантных от разных авторов/жанров
Чтобы обрабатывать большие каталоги товаров мы часто сэмплируем что-либо: товары, пользователей, негативы и тп.
Для борьбы с однотипностью используем методы повышения разнообразия, например Maximal Marginal Relevance (MMR). В нем при составлении списка рекомендаций мы штрафуем каждый следующий товар за похожесть по эмбеддингу на товары в списке до него. Эффектно, но долго. На практике для списков длиннее 10 скорее не работает.
Логичным выглядит скрестить сэмплирование и MMR. Что и сделали ребята из T-Bank AI Research - получился алгоритм Sampled MMR
Отличия Sаmpled MMR от классических MMR, DPP:
– Благодаря сэмплированию гораздо быстрее на длинных списках: почти х10 на списках из топ-200 товаров
– Обещают даже более высокое покрытие каталога и разнообразие между юзерами за счет все того же сэмплирования
– По парето-границе размена релевантности на разнообразие обходит MMR, DPP
Из приятного есть параметр “температуры” для управления степенью разнообразия и код на гитхабе
Кстати, Sampled MMR придумали ребята из T-Bank AI Research - можно узнать детали у них на Turbo ML Conf в Москве уже 19 июля
В рекомендательных системах есть 2 проблемы:
Чтобы обрабатывать большие каталоги товаров мы часто сэмплируем что-либо: товары, пользователей, негативы и тп.
Для борьбы с однотипностью используем методы повышения разнообразия, например Maximal Marginal Relevance (MMR). В нем при составлении списка рекомендаций мы штрафуем каждый следующий товар за похожесть по эмбеддингу на товары в списке до него. Эффектно, но долго. На практике для списков длиннее 10 скорее не работает.
Логичным выглядит скрестить сэмплирование и MMR. Что и сделали ребята из T-Bank AI Research - получился алгоритм Sampled MMR
Отличия Sаmpled MMR от классических MMR, DPP:
– Благодаря сэмплированию гораздо быстрее на длинных списках: почти х10 на списках из топ-200 товаров
– Обещают даже более высокое покрытие каталога и разнообразие между юзерами за счет все того же сэмплирования
– По парето-границе размена релевантности на разнообразие обходит MMR, DPP
Из приятного есть параметр “температуры” для управления степенью разнообразия и код на гитхабе
Кстати, Sampled MMR придумали ребята из T-Bank AI Research - можно узнать детали у них на Turbo ML Conf в Москве уже 19 июля
👍22🔥12❤4🤣1
Один АВ-тест в год или положить прод?
Всем хочется простого, человеческого счастья, чистого кода и стабильности ML-систем. Но это требует много времени и навыков. Поэтому в таких системах проводить изменения сложно и обычно катают один АВ-тест в год: не преувеличиваю, видел такого немало
Другая крайность - костыль на костыле в коде, АВ-тесты текут рекой, но половина из них невалидны
Сам я адепт быстрых изменений-костылей, но и за валидность АВ. Поэтому очень верю в концепцию двух репозиториев: research и prod. И я сам приложил руку к такой практике в паре компаний, и так уже работает во многих местах. Например, ML-cпецы финтеха Точка Банк недавно писали про это пост с докладом, где довольно хорошо раскрыли эту тему с примерами про масштабирование sklearn, тайпингами transformers и другими не всегда очевидными деталями.
В research код не такой красивый и быстрый, зато понятный и быстроизменяемый. В пределе research код вообще может возвращать csv-шку, которая заливается в прод на время А/В. И если эксперимент зеленый, то дорабатывается полноценное решение уже в prod репозитории с нормальными таймингами, стабильностью и регулярным обучением моделей
Самая большая сложность - внедрить правила / контракты, по которым эти репозитории дружат друг с другом. А не Jupyter notebook переписывать на Go с нуля каждый раз. Но если помучиться и сделать это, то дальше вас ждёт дивный новый мир, где research + prod = мощная коллаборация
А вы за какой вариант?
🌚 - Только стабильность prod кода и тайминги сразу, только хардкор
🔥 - За быстрые эксперименты, пусть и .csv. Если дает метрики, то по существующим договорённостям перенесём в prod решение с небольшими доработками
⚡️- Вжух-вжух и в продакшен, дальше видно будет. Мир быстро меняется: может за полгода выйдет gpt-6 и мы перепишем все с нуля
Всем хочется простого, человеческого счастья, чистого кода и стабильности ML-систем. Но это требует много времени и навыков. Поэтому в таких системах проводить изменения сложно и обычно катают один АВ-тест в год: не преувеличиваю, видел такого немало
Другая крайность - костыль на костыле в коде, АВ-тесты текут рекой, но половина из них невалидны
Сам я адепт быстрых изменений-костылей, но и за валидность АВ. Поэтому очень верю в концепцию двух репозиториев: research и prod. И я сам приложил руку к такой практике в паре компаний, и так уже работает во многих местах. Например, ML-cпецы финтеха Точка Банк недавно писали про это пост с докладом, где довольно хорошо раскрыли эту тему с примерами про масштабирование sklearn, тайпингами transformers и другими не всегда очевидными деталями.
В research код не такой красивый и быстрый, зато понятный и быстроизменяемый. В пределе research код вообще может возвращать csv-шку, которая заливается в прод на время А/В. И если эксперимент зеленый, то дорабатывается полноценное решение уже в prod репозитории с нормальными таймингами, стабильностью и регулярным обучением моделей
Самая большая сложность - внедрить правила / контракты, по которым эти репозитории дружат друг с другом. А не Jupyter notebook переписывать на Go с нуля каждый раз. Но если помучиться и сделать это, то дальше вас ждёт дивный новый мир, где research + prod = мощная коллаборация
А вы за какой вариант?
🌚 - Только стабильность prod кода и тайминги сразу, только хардкор
🔥 - За быстрые эксперименты, пусть и .csv. Если дает метрики, то по существующим договорённостям перенесём в prod решение с небольшими доработками
⚡️- Вжух-вжух и в продакшен, дальше видно будет. Мир быстро меняется: может за полгода выйдет gpt-6 и мы перепишем все с нуля
🔥40⚡8🌚4🗿1
Мои экс-коллеги из WB проводят RecSys Meetup!)
Обещают рассказать много всего передового: трансформеры, semantic IDs, балансировка интересов пользователей и продавцов, связь онлайн и оффлайн метрик рекома
А если подетальнее, то в программе:
- Semantic IDs: архитектура и наш опыт внедрения
- Трансформеры в персональных рекомендациях: от гипотез до AB-тестирования
- Счастье пользователя vs счастье продавца. Онлайн-доранжирование и байесовская оптимизация в товарных рекомендациях
- Как мы обучаем CLIP-ы для текстовых тегов
Митап пройдет 28 августа в 18:00 оффлайн и онлайн
Для участия оффлайн нужна регистрация по ссылке
Обещают рассказать много всего передового: трансформеры, semantic IDs, балансировка интересов пользователей и продавцов, связь онлайн и оффлайн метрик рекома
А если подетальнее, то в программе:
- Semantic IDs: архитектура и наш опыт внедрения
- Трансформеры в персональных рекомендациях: от гипотез до AB-тестирования
- Счастье пользователя vs счастье продавца. Онлайн-доранжирование и байесовская оптимизация в товарных рекомендациях
- Как мы обучаем CLIP-ы для текстовых тегов
Митап пройдет 28 августа в 18:00 оффлайн и онлайн
Для участия оффлайн нужна регистрация по ссылке
🔥18❤9🥴7🤣6👍3
Хуже = лучше
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
научились стат значимо метрику дискавери снижать 🌚
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
🔥28👍16❤7😁4
Где деньги, Лебовски?
Этот вопрос беспокоит меня больше всего в моих начинаниях. Не зря ж канал назван ml4value.
И наконец я нашел целое рисерч направление, которое занимается деньгами/прибылью от рекомендаций:
🧑💻 💵 Economic recsys research
Что лично мне интересно в этой сфере
- Как балансировать рекламу и релевантность? В маркетплейсах до 30% прибыли идет от рекламы в рекомендациях, в соцсетях - до 80%
- Правильно посчитать и учесть юнит экономику товара сразу в ML модели (желательно в лосс функции)
- Какие механики апселла (продаем более дорогой и маржинальный товар) хорошо работают? Как их визуально отображать? Например, продать не просто чайник за 4к, а умный чайник xiaomi за 7к
- Как и где удачнее всего делать кросс-селл новых категорий: не только аксессуары/сопутка, но и продажа бандлов (например, не 1 джинсы, а сразу образ из 4 вещей)
- Где во всей этой битве маржинальности счастье пользователя / релевантность, и как ее посчитать?
Очень верю, что в ближайшие пару лет мир сильно продвинется в ответах на эти вопросы. Тренд по числу публикаций положительный, но
но все еще выходит всего по 15-20 статей за год 🥶
Короче, Economic recsys research - интересная, прибыльная, но пока достаточно сырая сфера. Почти все крутится поверх переранжирования / аукциона над маленьким топом рекомеднаций (20-100 товаров) и "с этим товаром покупают"
Какие проблемы в области
Problem №1: Нет нормальных открытых датасетов с юнит экономикой товаров. Даже с ценами товаров в данных большая проблема
Problem №2: Большинство рисерчей валидируются на симуляциях, а не в АВ. Моя практика показывает, что в вопросах юнит экономики оффлайн метрики часто расходятся с онлайном
Поэтому многие прорывы делатся внутри компаний под достаточно строгим NDA
Но если интересно познакомиться со сферой, то все же кое-что просачивается и на arxiv: https://arxiv.org/pdf/2308.11998
На картинках к посту - как раз скрины из этого овервью: о каких темах в области пишут, где успешно внедрено, и на каких датасетах валидируются. Датасеты эти использовать не советую, а остальное - норм)
Буду теперь двигать Economic recsys research в массы 🔥
Этот вопрос беспокоит меня больше всего в моих начинаниях. Не зря ж канал назван ml4value.
И наконец я нашел целое рисерч направление, которое занимается деньгами/прибылью от рекомендаций:
Что лично мне интересно в этой сфере
- Как балансировать рекламу и релевантность? В маркетплейсах до 30% прибыли идет от рекламы в рекомендациях, в соцсетях - до 80%
- Правильно посчитать и учесть юнит экономику товара сразу в ML модели (желательно в лосс функции)
- Какие механики апселла (продаем более дорогой и маржинальный товар) хорошо работают? Как их визуально отображать? Например, продать не просто чайник за 4к, а умный чайник xiaomi за 7к
- Как и где удачнее всего делать кросс-селл новых категорий: не только аксессуары/сопутка, но и продажа бандлов (например, не 1 джинсы, а сразу образ из 4 вещей)
- Где во всей этой битве маржинальности счастье пользователя / релевантность, и как ее посчитать?
Очень верю, что в ближайшие пару лет мир сильно продвинется в ответах на эти вопросы. Тренд по числу публикаций положительный, но
но все еще выходит всего по 15-20 статей за год 🥶
Короче, Economic recsys research - интересная, прибыльная, но пока достаточно сырая сфера. Почти все крутится поверх переранжирования / аукциона над маленьким топом рекомеднаций (20-100 товаров) и "с этим товаром покупают"
Какие проблемы в области
Problem №1: Нет нормальных открытых датасетов с юнит экономикой товаров. Даже с ценами товаров в данных большая проблема
Problem №2: Большинство рисерчей валидируются на симуляциях, а не в АВ. Моя практика показывает, что в вопросах юнит экономики оффлайн метрики часто расходятся с онлайном
Поэтому многие прорывы делатся внутри компаний под достаточно строгим NDA
Но если интересно познакомиться со сферой, то все же кое-что просачивается и на arxiv: https://arxiv.org/pdf/2308.11998
На картинках к посту - как раз скрины из этого овервью: о каких темах в области пишут, где успешно внедрено, и на каких датасетах валидируются. Датасеты эти использовать не советую, а остальное - норм)
Буду теперь двигать Economic recsys research в массы 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥14❤4
Осенний сезон конференци обьявляю открытым!
Традиционно в сентября-ноябре проходит много конференций по ML. Успел уже выступить на NDA части PML conf: рассказывал, как рекомендациями растить действия в новых для юзера категориях, и зачем это вообще нужно
Были прикольные доклады про рекомендации в я.картах и про маршрутизацию роверов-доставщиков (обожаю ml в оффлайне)
Хайлайтом PML preparty имхо стало название команды рекома в я.картах "Группа магии дискавери" 🪄✨
P.S. Очень жду в этом сезоне побольше докладов про эффективность и зарабатывание денег от ML (и особенно LLM) внедрений - пока таких явно не хватает. Если вы раскаазываете (или только планируете) что-то про денежки от ML - пишите, пересечемся на ближайших конференциях!)
Традиционно в сентября-ноябре проходит много конференций по ML. Успел уже выступить на NDA части PML conf: рассказывал, как рекомендациями растить действия в новых для юзера категориях, и зачем это вообще нужно
Были прикольные доклады про рекомендации в я.картах и про маршрутизацию роверов-доставщиков (обожаю ml в оффлайне)
Хайлайтом PML preparty имхо стало название команды рекома в я.картах "Группа магии дискавери" 🪄✨
P.S. Очень жду в этом сезоне побольше докладов про эффективность и зарабатывание денег от ML (и особенно LLM) внедрений - пока таких явно не хватает. Если вы раскаазываете (или только планируете) что-то про денежки от ML - пишите, пересечемся на ближайших конференциях!)
🔥12❤5👍5🦄3🥱1
Как выглядит собеседование Data Scientist’а внутри Авито? 13 октября в 18:30 мы проведем открытое интервью с реальным кандидатом и покажем всё изнутри – от постановки задачи до финального фидбека.
Разберём кейс, который недавно предлагали на собеседовании, обсудим влияние ML-решений на пользователей и расскажем, какие навыки отличают сильного DS-специалиста. Интервью проведут руководители DS-направлений Авито Максим Каширин и Александр Ледовский, а кандидатом станет Дмитрий Савелко, LLM-инженер и автор блога «Еbout Data Science».
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6👍5😁1🌚1
Вы не готовы, пацаны
Прочитал сегодня очередной пост про быстрые итерации, lean startup, все дела. Ощущение, что уже все хотят проверять по 300к гипотез в наносекунду. Но, по факту, мало кто к этому готов
2 А/В в месяц ломают хребет B2B-стартапам
Возникают риски для клиентов - нестабильный продукт, нужно обьяснять изменение метрик даже третьего порядка.
Внезапно оказывается, что эксперименты могут стоить денег! Не только потенциальная потеря метрик, но и косты на те же GPU. А минимальный бюджет на них выделить забыли
А еще и логгировать все данные нужно корректно: если у вас теряется 10% логов, тооо замерить эффект в +5% вряд ли получится
20 А/В - тестируют аналитическую культуру средних компаний
Неожиданно, но 20 А/В в месяц означает, что в среднем каждый день нужно принимать решение по завершившемуся АВ.
Это означает: корректно разводить аудиторию между АВ, пофиксить баги в сборе данных, сделать автоматические скрипты расчета всех метрик, договориться что все в компании смотрят на однин и тот же набор метрик и версию расчета конверсии, договориться о размене метрик...
Ну и самое главное: научиться по готовому анализу быстро принимать бинарное решение: катим в прод / нет.
А нет, погодите, еще при выкатке в прод фиксить все конфликты, накопившиеся за период экспа + костыли эксперимента превращать в продакшен-код:)
200 А/В - проверяют все процессы в IT-гигантах
Столько экспериментов в месяц означает, что их массово проводят все команды: продукт, маркетинг, логистика и тп. Следить за всеми невозможно. Тут придется налаживать процессы на уровне всей компании, чтобы проверка гипотез была полезной, а не запутывала все еще больше
Влияют ли эксперименты разных команд друг на друга? Одни катают экспы по 5 дней, другие только на сегменте ios, третьи показывают в копеечном экспе +30% выручки -- а каким экспериментам мы вообще можем доверять?
Придется построить плафторму А/В. Придется договариваться о метриках. Придется говорить, что в А/В маркетинг принес +3% клиентов, а не атрибуцировал к открывшим пуш 60% заказов
А вам оно надо? 😂
В общем, lean startup и быстрая проверка гипотез - это здорово, я сам очень топлю за это. Но будьте готовы, что нужно вложить немало усилий и денег, чтобы все это действительно приносило пользу
❤️ - В моей компании идет 200+ АВ тестов в месяц
🔥- 20-200 АВ
👍 - 2-20 АВ
😀 - Живем без АВ и счастливы
Прочитал сегодня очередной пост про быстрые итерации, lean startup, все дела. Ощущение, что уже все хотят проверять по 300к гипотез в наносекунду. Но, по факту, мало кто к этому готов
2 А/В в месяц ломают хребет B2B-стартапам
Возникают риски для клиентов - нестабильный продукт, нужно обьяснять изменение метрик даже третьего порядка.
Внезапно оказывается, что эксперименты могут стоить денег! Не только потенциальная потеря метрик, но и косты на те же GPU. А минимальный бюджет на них выделить забыли
А еще и логгировать все данные нужно корректно: если у вас теряется 10% логов, тооо замерить эффект в +5% вряд ли получится
20 А/В - тестируют аналитическую культуру средних компаний
Неожиданно, но 20 А/В в месяц означает, что в среднем каждый день нужно принимать решение по завершившемуся АВ.
Это означает: корректно разводить аудиторию между АВ, пофиксить баги в сборе данных, сделать автоматические скрипты расчета всех метрик, договориться что все в компании смотрят на однин и тот же набор метрик и версию расчета конверсии, договориться о размене метрик...
Ну и самое главное: научиться по готовому анализу быстро принимать бинарное решение: катим в прод / нет.
А нет, погодите, еще при выкатке в прод фиксить все конфликты, накопившиеся за период экспа + костыли эксперимента превращать в продакшен-код:)
200 А/В - проверяют все процессы в IT-гигантах
Столько экспериментов в месяц означает, что их массово проводят все команды: продукт, маркетинг, логистика и тп. Следить за всеми невозможно. Тут придется налаживать процессы на уровне всей компании, чтобы проверка гипотез была полезной, а не запутывала все еще больше
Влияют ли эксперименты разных команд друг на друга? Одни катают экспы по 5 дней, другие только на сегменте ios, третьи показывают в копеечном экспе +30% выручки -- а каким экспериментам мы вообще можем доверять?
Придется построить плафторму А/В. Придется договариваться о метриках. Придется говорить, что в А/В маркетинг принес +3% клиентов, а не атрибуцировал к открывшим пуш 60% заказов
В общем, lean startup и быстрая проверка гипотез - это здорово, я сам очень топлю за это. Но будьте готовы, что нужно вложить немало усилий и денег, чтобы все это действительно приносило пользу
❤️ - В моей компании идет 200+ АВ тестов в месяц
🔥- 20-200 АВ
👍 - 2-20 АВ
😀 - Живем без АВ и счастливы
😁57❤41👍30🔥11🥴5
LLM ради денег, а не хайпа
Наконец, многие начали задумываться, приносят ли LLM-проекты реальную прибыль (пора перименовываться в LLM4Value 💀). По ощущениям:
~5% LLM и правда приносят прибыль
~20% примерно также эффективны по деньги-качество как и более простые решение (да-да, регулярки)
~75% адски жгут бюджеты и веру в скорый AGI
Хочется поскорее узнать о набитых шишках и провальных llm-инвестициях, чтобы не наступать на грабли
Конференция Conversations обещает быть как раз таким местом: много докладов про экономику LLM-проектов
5 декабря, оффлайн в Москве и онлайн отовсюду
Какие анонсы докладов меня заинтриговали:
- GenAI в разработке: как внедрять генеративные технологии в вашей самой дорогой команде и считать профит в деньгах и других метриках. Григорий Бездольный, Axenix
- LLM для слов, MCP для цифр: как можно оптимизировать экономику проектов с помощью MCP-серверов. Иван Четвериков, Raft
Как я и говорил, деньги-то начинают считать!)
- Автоматизация на грани: почему LLM-проекты терпят фиаско и как этого избежать? Дмитрий Легчиков, 2ГИС
Надеюсь на доклад в факап-митап стиле. Обычно фейлы идут из-за "классических" проблем с данными (нет нормального val dataset, итераций улучшения), таргетом (да-да, для llm его надо еще более строго определять) и несходимости экономики LLM-проекта
- AI-боты вместо звонков: как управлять диалогом с помощью LLM и масштабировать клиентский сервис. Александр Жариков, МТС
Имхо, ai чат-боты в поддержке - одна из немногих сфер положительного ROI от LLM
Еще будут доклады от Яндекс, Т-Банк, Just AI, Plata card и не только.
Полную программу можете посмотреть на сайте.
И там же взять билет со скидкой 10% по промокоду CVS25mlVm
Реклама. ООО «Маинд Крафт» ИНН: 7813286694 erid: 2W5zFJhLDUU
Наконец, многие начали задумываться, приносят ли LLM-проекты реальную прибыль (пора перименовываться в LLM4Value 💀). По ощущениям:
~5% LLM и правда приносят прибыль
~20% примерно также эффективны по деньги-качество как и более простые решение (да-да, регулярки)
~75% адски жгут бюджеты и веру в скорый AGI
Хочется поскорее узнать о набитых шишках и провальных llm-инвестициях, чтобы не наступать на грабли
Конференция Conversations обещает быть как раз таким местом: много докладов про экономику LLM-проектов
5 декабря, оффлайн в Москве и онлайн отовсюду
Какие анонсы докладов меня заинтриговали:
- GenAI в разработке: как внедрять генеративные технологии в вашей самой дорогой команде и считать профит в деньгах и других метриках. Григорий Бездольный, Axenix
- LLM для слов, MCP для цифр: как можно оптимизировать экономику проектов с помощью MCP-серверов. Иван Четвериков, Raft
Как я и говорил, деньги-то начинают считать!)
- Автоматизация на грани: почему LLM-проекты терпят фиаско и как этого избежать? Дмитрий Легчиков, 2ГИС
Надеюсь на доклад в факап-митап стиле. Обычно фейлы идут из-за "классических" проблем с данными (нет нормального val dataset, итераций улучшения), таргетом (да-да, для llm его надо еще более строго определять) и несходимости экономики LLM-проекта
- AI-боты вместо звонков: как управлять диалогом с помощью LLM и масштабировать клиентский сервис. Александр Жариков, МТС
Имхо, ai чат-боты в поддержке - одна из немногих сфер положительного ROI от LLM
Еще будут доклады от Яндекс, Т-Банк, Just AI, Plata card и не только.
Полную программу можете посмотреть на сайте.
И там же взять билет со скидкой 10% по промокоду CVS25mlVm
Реклама. ООО «Маинд Крафт» ИНН: 7813286694 erid: 2W5zFJhLDUU
1❤4👍2👎2🔥1
