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

Контакты: @anokhinn
Download Telegram
Media is too big
VIEW IN TELEGRAM
Запись ридинг-группы 07.09.23
Ведущий — Николай Рябых, руководитель команды рекомендаций ОК
🔥81
Наша ридинг-группа в последнее время какая-то неразнообразная: из пяти встреч только одна была не про рекомендательные системы (а про инфраструктуру для рекомендательных систем 😅). Мы хотели это исправить, но пока не получается – в пятницу 22 сентября в 16.00 поговорим про разнообразие в рекомендациях и алгоритм Determinantal Point Processes. Коля Анохин, ведущий специалист по машинному обучению ОК, будет эээ ведущим.
😁14🔥5
📖Ссылка на сегодняшнюю ридинг-группу в 16:00: https://shorturl.at/bcdBJ
В программе: разнообразие рекомендаций, Николас Кейдж, Вольфганг Паули, Мэйби Бэйби и Дукалис.
Приходите!
🔥7
Media is too big
VIEW IN TELEGRAM
Запись ридинг группы 2023-09-22: Practical Diversified Recommendations on YouTube with Determinantal Point Processes
🔥8
Разбираем RecSys 2023! 🧑‍🔬👩‍🔬

Проведём две сессии в слоты 16.00-18.00 5 и 6 октября. В программе уже 20 статей, помимо нашей команды рассказать про свои работы с RecSys придут сами авторы: Александр Петров, Алексей Васильев и Антон Кленицкий.

Запись как обычно будет, но онлайн всегда интереснее. Бронируйте слоты на встречу в следующий четверг и пятницу.

Зум
👍11🔥3
🤩9
Разбор RecSys 2023 уже завтра!

Стартуем завтра в 16:00 мск по плану и собираемся его придерживаться! И запись, и текстовые конспекты мы, конечно, опубликуем, но рады будем видеть всех онлайн 🤗

Зум
🔥161
Media is too big
VIEW IN TELEGRAM
Первая часть разбора RecSys 2023
🔥12👍94
Media is too big
VIEW IN TELEGRAM
Вторая часть разбора RecSys 2023
👍13🔥1
🔮Если хотите узнать подробности, приходите на ридинг-группу ОК 19 октября в 17:00. Обсудим статью Sheaf Neural Networks for Graph-based Recommender Systems. Ведущим будет Александр Тараканов, исследователь ОК.
🔥10🙈3👍1
📖Ссылка на зум нашей ридинг-группы сегодня в 17:00

Join Zoom Meeting
https://us05web.zoom.us/j/82167512039?pwd=bOPiB9Y04VHku8mu0Q1bL7p2vomF5H.1

Meeting ID: 821 6751 2039
Passcode: 5FGDD4
1
Media is too big
VIEW IN TELEGRAM
🎬 Запись ридинг-группы от 19 октября 2023 года. Александр Тараканов, исследователь в ОК, рассказывал про нейронные сети на пучках.
👍4🆒4👏3
🏗️🏠Иногда на ридинг-группе мы выходим за рамки обычной тематики: машинного обучения, рекомендательных систем, анализа данных. Следующая встреча – именно такой случай. Настало время обсудить выбор напольных покрытий! Профессиональный строитель дата-платформ, прораб разработчик ОК Владимир Ермаков расскажет про паркет: плюсы, минусы, укладку на большие кластеры. Приглашаем послушать Володю 2 ноября в 17:00.

Зум:
https://us05web.zoom.us/j/81901499743?pwd=SYI7UTEbPI8BbkqhQGpv4JwaY4d5ju.1
Meeting ID: 819 0149 9743
Passcode: 3ASKmt
😁20🔥5🤩2🙈1
В октябре мы провели традиционный разбор конференции RecSys’23. В этот раз на разборе выступали не только ребята из ОК и VK, но и авторы оригинальных статей. Мы думаем, что получилось отлично. Следующие полтора месяца будем дважды в неделю публиковать текстовые версии разборов статей. Делаем для себя, не обращайте внимания ❤️ #recsys23
4😁4👍1
AUGMENTED NEGATIVE SAMPLING FOR COLLABORATIVE FILTERING
https://arxiv.org/abs/2308.05972
ML — это ОК
AUGMENTED NEGATIVE SAMPLING FOR COLLABORATIVE FILTERING https://arxiv.org/abs/2308.05972
В задаче рекомендаций с неявным фидбэком данные состоят только из «положительных» пар пользователь-айтем. Например, в рекомендациях видео положительными могут считаться ролики, которые пользователь посмотрел до конца. Для того чтобы обучить модель, нужны и «отрицательные» пары – их получают с помощью процедуры семплирования негативных. Базовый вариант этой процедуры – выбирать в качестве негативных айтемы пропорционально их популярности.

Авторы статьи предлагают новый подход к семплированию негативных, основанный на аугментации данных. Факторы, которые описывают айтемы, делятся на две группы:
- easy factors (легкие факторы);
- hard factors (сильные факторы).
Сильные факторы положительно влияют на качество модели, в то время как легкие факторы ухудшают модель или ничего не меняют. Нужно специальным образом зашумить легкие факторы и объединить их с сильными факторами. С помощью жадного алгоритма из получившегося множества аугментированных айтемов отбирают несколько сэмплов в качестве негативных.

Авторы оценивали эффективность своего метода на трёх датасетах с использованием матричной факторизации с BPR лоссом. Почти во всех экспериментах предложенный алгоритм оказался лучше конкурентов. Недостатки подхода такие:
- время обучения вдвое больше, чем при базовом семплировании негативных;
- добавляется два гиперпараметра, которые нужно настраивать под конкретные данные. #recsys23
👍42
INTUNE: REINFORCEMENT LEARNING-BASED DATA PIPELINE OPTIMIZATION FOR DEEP RECOMMENDATION MODELS
https://arxiv.org/abs/2308.08500 #recsys23

IT-гиганты используют большие нейросети (DLRM), чтобы строить персонализированные рекомендации для сотен миллионов пользователей. Количество обучаемых параметров у таких моделей сравнимо с количеством параметров у современных языковых моделей. При этом DLRM намного проще трансформеров с точки зрения архитектуры. Поэтому при обучении DLRM узкое место — не вычисления внутри нейронной сети, а процесс подготовки данных, который состоит из нескольких этапов:
- загрузки данных с диска;
- формирования батчей;
- перемешивания;
- преобразований данных;
- загрузки данных на GPU.
Если хотя бы один из этапов «тормозит» — весь процесс замедляется, а вместе с ним замедляется и обучение. Решением в этой ситуации является распараллеливание каждого из этапов на нескольких процессорах, причем так, чтобы пропускная способность всех этапов была одинаковой.

Ключевым вопросом здесь становится выявление необходимого количества процессоров на каждом этапе. Оказывается, что для DLRM стандартные инструменты вроде AUTOTUNE работают недостаточно хорошо: процессоры используются неоптимально, переполняется память. Разработчики из Netflix предлагают собственное решение.

Представленный в статье фреймворк InTune основан на обучении с подкреплением в такой постановке:
- Action. Агент InTune может увеличивать или уменьшать количество процессоров, которое выдается каждому этапу подготовки данных.
- State. В качестве параметров среды агент наблюдает метрики процесса обучения — например, текущую пропускную способность и объём свободной памяти в кластере.
- Reward. С помощью Q-learning агент учится выделять ресурсы так, чтобы скорость обучения была максимальной при минимальном использовании памяти.

Эксперименты показали, что под управлением InTune модель обучается в 2,3 раза быстрее, чем под управлением AUTOTUNE, а доля падений по памяти снижается с 8% до нуля. Авторы не опубликовали исходный код, но идея достаточно простая, чтобы повторить её в «домашних условиях».

Бонус: предложенный в статье фреймворк может быть полезен не только для обучения DLRM. Например, его можно прикрутить для автоматического выделения ресурсов приложениям Spark.
4🔥1