ML — это ОК
2.08K subscribers
83 photos
45 videos
1 file
149 links
Канал ML-команды ОК. 12 лет делаем крутые вещи и делимся ими здесь

Контакты: @anokhinn
Download Telegram
Media is too big
VIEW IN TELEGRAM
📹Запись ридинг-группы от 25 апреля 2024 года. Макс Каледин из ВШЭ рассказал про удаление шума из аудиопотока с помощью GAN
🔥9🤩1🆒1
Всем привет!

Ребята из Mail.ru делают классное мероприятие: smartmail:ML Meetup, уютный офлайн-митап по NLP, LLM и ML в целом.

17 мая в 18:00 по МСК
📍Офис VK

🦾 На митапе будут доклады от тимлидов Mail.ru, где ребята обсудят NLP-подходы, а также расскажут про свой AutoML пайплайн. А ещё обязательно поделятся опытом по заведению LLM-фич in the wild!

🦿Участие в митапе для всех свободное, но необходимо пройти регистрацию.

Рекомендуем!
👍10
😁14
Ранжирование ленты – задача, для решения которой нужна команда ML-инженеров. Эта задача становится ещё сложнее, когда к ней добавляются требования, выходящие за рамки одной рекомендательной выдачи («хотим отдавать 5% трафика локальным группам»). Для поддержки этих требований можно использовать эвристики («умножаем скоры локальных групп на 2»). Но эвристики нужно настраивать, и они не гарантируют оптимальности. Авторы статьи Ranking with Long-Term Constraints предлагают своё решение задачи ранжирования с учётом долгосрочных требований.

Предложенные в статье алгоритмы наводят мост между долгосрочным контролем рекомендательной системы и построением ленты «в моменте». Долгосрочная цель формулируется как сумма полезности, извлеченной пользователями, и штрафов за несоблюдение требований. И если полезность легко разбивается по отдельным выдачам, то со штрафами дело обстоит сложнее. Авторы предлагают три подхода:
- Myopic controller равномерно «размазывает» все штрафы по всем выдачам.
- Stationary controller в реальном времени следит за выполнением требований и приоритезирует те, что выполнены хуже остальных.
- Predictive controller добавляет к stationary controller прогноз трафика, чтобы учитывать выполнение требований в будущем.

Для ранжирования с дополнительными требованиями нет хороших реальных датасетов, поэтому эксперименты в статье синтетические. Они показывают эффективность предложенных алгоритмов. При этом для применения результатов статьи нужно решить практические вопросы (Как выбрать горизонт планирования? Где взять хорошую модель прогнозирования трафика? Что делать с меняющимися требованиями?). Тем не менее статья заслуживает внимания, потому что предлагает идеи, позволяющие поддерживать долгосрочное здоровье системы. А это более важная задача для ML-инженеров, чем увеличение NDCG на 0,005.
🔥1032👍1
📄На ридинг-группе 16 мая Александр Петров из Университета Глазго представит свою статью RecJPQ: Training Large-Catalogue Sequential Recommenders. Поговорим о том, как сделать трансформерные рекомендеры более эффективными в задачах рекомендаций с большими каталогами айтемов. Встречаемся в зуме в 18:00.

Зум: ссылка

Идентификатор конференции: 732 1727 3314
Код доступа: okdsrg
🔥22🆒2
Media is too big
VIEW IN TELEGRAM
📹Запись ридинг-группы от 16 мая 2024 года. Александр Петров из Университета Глазго рассказал про то, как сделать трансформерные рекомендеры более эффективными в задачах рекомендаций с большими каталогами айтемов.
🔥131👍1
На следующей неделе, в субботу, 25 мая, пройдет Data Fest в гостях у VK. Помимо классных докладов будут активности, в которых будут участвовать ребята из нашей команды. Например, Сергей Ермилов, который недавно разбирал SANSA, будет играть в “Достань тимлида”.

Отличный шанс допросить его про наши вакансии и инфраструктуру. Приходите, регистрация ещё открыта.
12👍73🆒2
⚡️На ридинг-группе 30 мая обсудим статью нашего коллеги Андрея Аргаткина DenseAttention: No-Compromise Exact All NxN Interactions Algorithm with O(N) Space and Time Complexity. Андрей расскажет о том, как убрать из стандартного трансформерного блока несколько компонентов, не потеряв в качестве, но выиграв в скорости (даже у flash attention!). Встречаемся в зуме в 17:00.

Зум: https://us05web.zoom.us/j/82613108856?pwd=l4FUK61nYJTKRtXnKj21RalZHWnCsz.1

Meeting ID: 826 1310 8856
Passcode: 6EiSpW
🔥35💯1🆒1
Media is too big
VIEW IN TELEGRAM
📹Запись ридинг-группы ОК от 30 мая. Андрей Аргаткин рассказал про DenseAttention, придуманную им модификацию трансформерного блока.
🔥23👏3
📝Чек-лист статьи о рекомендациях в 2024 году:
✔️Новая формулировка задачи рекомендаций. Желательно “вдохновиться” смежной областью;
✔️Предложить свой блок attention. Не забыть про красивый префикс (self/cross/flash/rocket/…);
✔️Больше триллиона параметров, industrial-scale датасет, потому что воспроизводимость — не для бедных.

На ридинг-группе 13 июня разберем такую статью с ICML 2024. Роман Болозовский, МЛ-инженер ОК, представит её на полтора месяца раньше официальной презентации на конференции. Теперь наша ридинг-группа не только несёт знания, но и выгоду (вы сэкономите на поездке в Вену!). Начало разбора — в 16.00.

Зум: ссылка
Meeting ID: 737 3931 8110
Passcode: 1

Календарь: ссылка
👍21😁9🤩4
🔭Exploration в рекомендациях служит для поддержания долгосрочного качества системы. Практики признают это, но объяснения дают скорее умозрительные, чем основанные на данных. Причина в том, что для объективного измерения вклада exploration нужно крутить технически сложный A/B-эксперимент: поддерживать две версии системы, разделённые по пользователям и данным, и наблюдать, как эти версии эволюционируют в долгосрочной перспективе. Если (когда) что-то пойдёт не так, многонедельный эксперимент придётся заводить заново. Поэтому подобные эксперименты откладываются до момента, когда будут исправлены все баги. К счастью для нас, исследователи из Google провели серию таких экспериментов и рассказали об этом в своей статье на WSDM 2024. Теперь мы можем быть уверены, что существуют рекомендательные системы, в которых exploration объективно полезен. ➡️➡️
👍11😁32
ML — это ОК
🔭Exploration в рекомендациях служит для поддержания долгосрочного качества системы. Практики признают это, но объяснения дают скорее умозрительные, чем основанные на данных. Причина в том, что для объективного измерения вклада exploration нужно крутить технически…
➡️Авторы статьи подтвердили эффект от item-exploration с помощью такой процедуры:

1. Изобретаем метрику, которая с одной стороны отражает exploration, а с другой – коррелирует с пользовательским опытом. В статье выбрана метрика Discoverable Corpus@X,Y – количество айтемов, с которыми пользователи совершили как минимум X положительных взаимодействий за период Y.

2. Показываем в A/B-эксперименте, что базовая стратегия exploration увеличивает Discoverable Corpus. Результаты этого эксперимента показаны на рисунке 3.

3. Запускаем обратный эксперимент, в котором искусственно уменьшаем Discoverable Corpus. Если количество удовлетворённых пользователей в этом эксперименте уменьшится, то положительный эффект от увеличения Discoverable Corpus (и следовательно и от exploration) считаем подтверждённым. Рисунок 5 показывает, что именно это и произошло.
➡️➡️
🔥82👍2
ML — это ОК
➡️Авторы статьи подтвердили эффект от item-exploration с помощью такой процедуры: 1. Изобретаем метрику, которая с одной стороны отражает exploration, а с другой – коррелирует с пользовательским опытом. В статье выбрана метрика Discoverable Corpus@X,Y –…
➡️
4. Наконец, запускаем эксперимент уже на рост метрик, используя алгоритм exploration Neural Linear Bandit (NLB). Идея алгоритма – отпилить голову у ранжирующей нейросети и вместо неё обучать linear-payoff Thompson Sampling на normal-normal сопряженной паре. Авторы рассказывают, как запустить этот алгоритм на продакшен-рекомендере (скорее всего, речь про YouTube Shorts).

Интересно, что в эксперименте с NLB авторам удалось увеличить удовлетворенность пользователей только на 0,2%, хотя в обратном эксперименте эта же метрика упала на целых 3%. Кроме того, NLB обеспечивает только pointwise ранжирование, в то время как современные ранкеры используют pairwise или listwise подход. В любом случае, конкретный алгоритм ранжирования выглядит не так интересно, как основной вывод статьи: exploration в рекомендательных системах — полезная штука. Расходимся и продолжаем исправлять баги.👻
🥰7🔥43
🦾Foundation models — круто, приложения с ними — ещё круче. А если сделать нормально, то вообще огонь! Как сделать нормально, обсудим на ридинг-группе ОК 27 июня. Андрей Кузнецов, ML-директор OK, расскажет про паттерны проектирования агентов, основанных на больших моделях. Подготовиться можно по статье Agent design pattern catalogue: a collection of architectural patterns for foundation model based agents. Начало встречи в 16:00.

Зум: ссылка

Идентификатор конференции: 776 7298 2668
Код доступа: dsrg
🔥1751
Media is too big
VIEW IN TELEGRAM
📹 Запись ридинг-группы ОК от 27 июня. Андрей Кузнецов рассказал про паттерны проектирования агентов

Презентация
🔥12👍2👏1
🌅Рекомендательные алгоритмы в социальных сетях отвечают за retention. Чем лучше мы ранжируем ленту, тем она интереснее для пользователя, и тем охотнее он возвращается в наш сервис. В этом посте поговорим о том, что значит «хорошо ранжировать ленту» с точки зрения retention.

При формировании таргета ранжирующей модели используются данные о реакциях пользователей на посты: просмотрах, лайках, комментариях, и т.д. Такие сигналы, называемые общим словом engagement, положительно скоррелированы с retention. Это подтверждают эксперименты, в которых хронологические ленты сравниваются с ML-лентами. Но у engagement есть обратная сторона: часто посты, собирающие много реакций, могут быть низкого качества, например, кликбейтные или содержащие недостоверные данные. Такой контент уже негативно влияет на retention в долгосрочной перспективе [1]. Кроме того, рекомендуя некачественные посты, мы создаем сервису репутационные риски. В итоге модель, настроенная на engagement, только частично решает задачу увеличения retention.

Проблема решается учётом качества поста в таргете модели. Например, наряду с реакциями пользователей в таргет можно включить скоры качества, полученные с помощью классификаторов контента. Это, во-первых, научит модель поднимать хорошие посты наверх в выдаче, во-вторых, мотивирует авторов делать контент высокого качества. Можно даже попробовать вычислить оптимальный баланс между качеством и engagement в таргете, используя дополнительные предположения об их распределениях [2]. Эксперименты крупных западных платформ показывают, что модели, обученные с учётом качества контента, значимо выигрывают в retention [1].

Минус такого подхода в его субъективности. В конце концов, за решением о том, какой пост считать качественным, стоят не алгоритмы, а те, кто определяет критерии качества или размечает данные для моделей-классификаторов. От работы этих людей зависит, какие посты будут поощряться сервисом, а какие, наоборот, не получат охватов. Правильнее было бы спросить об этом самих пользователей, задав им вопросы, которые коррелируют с retention: «хотите ли вы видеть больше подобных статей? Оскорбляет ли этот пост какую-то категорию людей?» И тоже включить эти данные в таргеты ранжирующих моделей.

Ещё одна проблема учёта качества контента при ранжировании — как измерить результат. Раньше мы опирались на метрики engagement, которые легко двигаются в экспериментах. Теперь же нужно мерить retention, и это требует длинных экспериментов с риском потери метрик реакций на посты. Возможное решение — опросы пользователей. В одном из наших предыдущих постов успех измерялся именно так. Такие опросы тоже вызывают сложности: смещение аудитории, недостаток данных, результат сильно зависит от формулировки (Готовы ли вы рекомендовать наш сервис вашим друзьям и знакомым?🤮).

С одной стороны, итог банальный: универсального рецепта нет и платформы решают проблемы компромисса между engagement и качеством в ранжировании как могут. С другой стороны, система держится в том числе на иногда субъективных решениях айтишников. Так работал ранний интернет, и, говорят, он был прекрасен🦸‍♂️.

Если вам понравился пост, обратите внимание на статьи, которые мы использовали при его подготовке. Там не только расширенное обсуждение идей из поста, но и много ссылок на источники по теме.
[1] What We Know About Using Non-Engagement Signals in Content Ranking
[2] Ranking by Engagement
🔥16👍751