Получи случайную криптовалюту за регистрацию!

ML for Value

Логотип телеграм канала @ml4value — ML for Value M
Логотип телеграм канала @ml4value — ML for Value
Адрес канала: @ml4value
Категории: Бизнес и стартапы
Язык: Русский
Количество подписчиков: 3.04K
Описание канала:

О том, как преодолеть путь от ML модели до реального Value для бизнеса
Ваня Максимов, @Ivan_maksimov
ML team lead Yandex.Lavka, ex- Delivery Club, ex-PwC
Консультирую компании, веду курсы по data science

Рейтинги и Отзывы

3.67

3 отзыва

Оценить канал ml4value и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

2

3 звезд

1

2 звезд

0

1 звезд

0


Последние сообщения

2022-08-22 19:22:46 Как тестировать рекомендательные системы

Под одним из прошлых постов было много вопросов о тестировании рек систем: как не выкатить на прод рекомендации в обратном порядке, например)

Я на практике использовал такие тесты:

1. Полнота данных
70% ошибок максимально глупые: упала база и не залились данные. Сменился год с 21 на 22 и у вас полетела часть запросов
Решается обычным assert-ом на кол-во строк, уникальных дат/юзеров/товаров

2. Качество фичей
Есть тысяча статей про distribution shift, детекцию выбросов и т.д., но обычно проблемы куда проще. Использовать np.mean вместо np.nanmean и получить 90% NaN в фиче? Иметь средние чеки в 1млрд руб, хотя реальные чеки до 5-10к? Вот с чем стоит побороться в первую очередь!
Решается также обычным assert-ом

3. ML и бизнес метрики
Assert-ы на ml метрики на тестовой выборке. Если позволяет инфра, то каждое переобучение модели сопровождать мини-АВ

4. Бизнес-адекватность
У 70% пользователей в топе рекомендаций рестораны с рейтингом < 3.0? Популярные товары не в топе? Тоже стоит с этим побороться

Лучше классическими автотестами на real-time / батчевых запросах к модели

Обычно хватает ~1к запросов и базовой логики с теми же assert-ами

5. Смотреть глазами
Никто не любит это делать, но потратьте 3 минуты своего времени и посмотрите рекомендации модели для себя и своего соседа на адекватность перед выкаткой. Это спасет вам много времени и денег
2.1K viewsedited  16:22
Открыть/Комментировать
2022-08-19 09:59:38 Сегодня пост про soft-навыки

Есть у меня странное хобби: я собираю истории провалов ML проектов

В историях успеха на конференциях вы чаще всего слышите про новые архитектуры нейронок, хитрые аналитические приемы и все то, что называется hard skills. Но в извечтных мне историях провалов чаще говорят про soft: не обсудили до конца финальный ml-результат, поехали сроки на полгода, отлично решили не ту задачу - и это еще не полный список

Недавно видел общедоступную историю не успеха в канале "Нескучный data sceince" https://t.me/not_boring_ds
В общем, кейс довольно сильно совпадает с моим опытом. Действительно, стоит заранее убедиться, что:
- бизнес понимает, зачем ему нужна модель
- как ее применять
- какой бизнес-эффект

Помимо этого я бы добавил от себя:
- определены промежуточные и финальный дедлайн, есть роудмап
- проговорили зависимости с соседними командами
- есть человек, который ведет роудмап. Обычно это проджект, но если его нет - то найдите кого-то, кт оисполнит его роль

Всем успешных ML-проектов!)
1.5K views06:59
Открыть/Комментировать
2022-08-13 10:54:46 Lessons learned

Наткнулся на отличную статью от Андрея Лукьяненко про опыт, полученный за 10 лет в DS. Подписываюсь под каждым пунктом!

Что из неочевидного хочу добавить от себя

1. Ваш руководитель / старший товарищ - это ваш "ресурс"

Я глобально верю в идею TLaaS - Team Lead as a Service. TL очень заинтересован в вашем росте, поэтому если у вас есть блокеры (инфраструктура, непонятные требования etc), то вы можете "использовать" TL как ваш ресурс)

2. Вы лучше всех в компании разбираетесь в своей области

В конкретном юпитер ноутбуке, задаче или области вы разбираетесь лучше, чем ваш старший товарищ, тим лид или CEO/CTO. Вы - эксперт) И скорее всего именно вы знаете как лучше - предлагайте свои идеи!

3. Ошибаться - нормально. Ненормально не учиться на своих ошибках

Однажды я чуть не выкатил в прод рекомендательный блок с обратным порядком сортировки товаров. Просто забыл указать
df.sort_values(ascending=False)

Но из этого кейса у меня родился неплохой подход по автотестам для рек систем. И с тех пор эта ошибка не повторялась (но конечно бывали другие )
1.9K viewsedited  07:54
Открыть/Комментировать
2022-07-28 03:55:39 Интерпретируемость ML моделей для конечного пользователя: где нужна на практике и что делать
Где нужна на практике

Мы недавно рассмотрели ключевых пользователей интерпретации ML-моделей и различия в их потребностях в интерпретации.

На практике - и в рамках концепции Reliable ML - ключевой целью работы над моделью является ее итоговое применение в бизнес-процессах и финансовая польза от этого применения. Следовательно, ключевыми целями интерпретации являются цели бизнес-заказчика (финансовая польза) и пользователя ML-решения (корректное применение в бизнес-процессе).

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

В каких блоках цикла управления продуктом продвинутой аналитики интерпретируемость моделей машинного обучения для конечного пользователя вашей модели становится важной? Поделимся своим видением.

В отдельных случаях критично думать об интерпретируемости уже на этапе разработки MVP. Особенно, когда нужно «продать» ваше решение конечному пользователю, или при очень высокой цене ошибки, когда без интерпретируемости моделей бизнес не готов идти даже на проведение пилота.

Но наиболее важное значение интерпретируемость имеет на этапах внедрения решения и мониторинга модельного риска. То есть, понятность модели конечным пользователям приобретает критическое значение именно тогда, когда модель доказала свою эффективность по итогам пилотного эксперимента и было принято решение о ролл-ауте (масштабировании модели на все целевые объекты).

Что именно становится важным?

- Доверие к результату. Принятие решений моделью должно быть понятно бизнесу как в целом (global interpretation), так и на отдельных примерах (local interpretation).

В случае низкого доверия к работе модели и к её логике принятия решений (модель позиционируется или воспринимается как черный ящик) сильно возрастают трудности с интеграцией модели в бизнес-процесс и обучением конечных пользователей ее использованию. Попросту говоря, моделью не хотят пользоваться, нарушают рекомендации, а если что-то идет не так, то виновата всегда модель. Особенно, если решение о ее ролл-ауте в итоге было принято сверху.

И наоборот, высокое доверие к модели способствует ее корректному применению и эффективной и быстрой интеграции в бизнес-процессы.

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

Понятность модели конечному пользователю в продуктиве – как модель пришла к конкретному результату (данные, факторы, логика работы, итоговый прогноз/рекомендация) – снижает риск некорректного применения модели на новых данных, при сложных кейсах, в меняющейся среде. В случае аномального поведения модели человек, которому понятна модель, с большей вероятностью исправит или предотвратит неправильное решение. Митигации риска аномального поведения модели с технической стороны также очень помогают системы мониторинга модельного риска. О них мы поговорим в отдельных постах.

- Информативность для бизнес-процесса. Конечному пользователю должно быть понятно, что делать при виде результата работы модели. Именно это называют информативностью. То есть, для работы в боевых условиях чаще всего критически важно, чтобы результат работы был не просто красивыми сведениями, а содержал конкретную рекомендацию к действию (push to action).

#interpretable_ml #business
627 views00:55
Открыть/Комментировать
2022-07-28 03:55:39 ML explainability & rude errors

Зачитался серией постов про обьяснимость ML-моделей. На мой взгляд, со стороны бизнеса чаще всего она нужна, чтобы не допускать грубых ошибок: путать класс "человек" и "обезьяна", отрицательный прогноз продаж, рекомендации алкоголя (запрещено законом) и тп

Поэтому часто обсудить с бизнесом, что такое "грубая ошибка" и учесть это в лоссе или ML-метрике становится очень хорошей идеей

Вроде бы очень простая идея, но я крайне редко видел, чтобы ее применяли на практике
759 views00:55
Открыть/Комментировать
2022-07-24 01:49:58
АВ police существует до сих пор

Первые члены АВ police - @ermolova и я - недоумевают, как можно запускать фичи без А/В
1.3K viewsedited  22:49
Открыть/Комментировать
2022-07-24 01:48:38 Зачем учить менеджеров и разработчиков аналитике?

Даным-давно на ранних этапах развития компании существовали 2 занятных метода провеления экспериментов: "метод ступеньки" и "города-близнецы"

Как вы могли догадаться, это сравнение неделя-к-неделе и город-к-городу. Если планомерно не обучать бизнес аналитической культуре, то все будут придумывать такие эксперименты

Как это исправить?

1. Провести единое обучение для всех менеджеров. Желательно позвать туда всех, вплоть до директоров. И предварительно до этого пообщаться с директорами про культуру экспериментов в их отделе

2. Онбординг бот для новичков. Пишет про АВ в их первый день. Просто, эффективно, надежно

3. Приходить на все запуски фичей и рассказывать, почему конкретно для этой фичи А/В тоже важен

Спойлер: это поначалу крайне сложно. Но настрйчивость и последовательность вам помогут. Раньше мы приходили под каждый пост с запуском фичи без А/В и просвещали людей. За это и стикер нас даже прозвали А/В police
1.2K views22:48
Открыть/Комментировать
2022-07-04 09:39:43 Вдруг осознал, что не написал ни строчки кода за 2 мес в роли хэда клиентской аналитики

Мне всегда было интересно, чем же, если не кодом, занимаются такие люди, и вот чем:

1. Формулируют цели
Точнее, разделают верхнеуровневые цели компании на OKR команд и крупные фичи

Путь от "увеличить выручку компании на Х" до условно "сделать садджесты в поиске, чтобы повысить конверсию поиска на Y%", как оказалось, очень непрост, но интересен

2. Сетапят новые проекты
Никогда раньше мне не приходилось питчить и защищать столько идей

Узнал про такие штуки как amazon 6-pager, пресс-релиз идеи и другое

3. Строят процессы
Да-да, это я тот человек, который ставит стендапы, регулярный встречи по проектам и т.п.

А еще помогаю найти лидеров в проектах, общаюсь со смежными отделами, получаю бюджеты и делаю прочие "неплпулярные" активности

4. Еще 1000 и 1 дело
Но об этом уже будет скучновато рассказывать)

------------
P.S. Мне все же хочется повышать уровень кода и ML, поэтому буду очень благодарен, если вы сможете мне в комментариях посоветовать годный курс по трансформерам в nlp/recsys на торче) Чтобы прям advanced, с кодом и домашками!
1.9K viewsedited  06:39
Открыть/Комментировать
2022-07-04 09:39:35
1.7K views06:39
Открыть/Комментировать
2022-06-20 23:03:06 ML helicopter view

Есть такое интересное выражение "helicopter view" - взгляд сверху, чтобы понять, а что вообще нужно делать в вашей ситуации

Кажется, в ML не хватает helicopter view. Сегодня попробую рассказать на примере, зачем это нужно и как работает

Ситуация
У вас есть модель, которая рекомендует пользователю товары в продуктовом магазине. Пользователи жалуются, что им "нерелевантно"

Что делают обычно
Тюнят модель, улучшают ml- метрики и запускают А/В

Helicopter view
А что вообще нужно пользователям? Так ли плохо, что части из них рекомендации "нерелевантны"?

Возможно, "релевантно" для пользователя - рекомендовать товары, которые он уже покупал. Тогда вы можете безо всякого ML сделать категорию "Вы покупали". А ML-ем рекомендовать что-то новое

Иногда "нерелевентность" - не так уж и плохо. Допустим, вы хотите повышать маржинальность бизнеса и продавать товары собственной торговой марки (СТМ), потому что у них выше маржа. Даже если они релевантны 15% пользователей (высокая вероятность заказа), то продвигать их в рекомендациях может быть все еще выгодно с точки зрения ожидаемой прибыли = вероятность заказа * прибыль

Так что иногда бывает полезно применять ML helicopter view
2.2K viewsedited  20:03
Открыть/Комментировать