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

Контакты: @anokhinn
Download Telegram
Статьи с #recsys23 все не заканчиваются!
STREC: SPARSE TRANSFORMER FOR SEQUENTIAL RECOMMENDATIONS
https://dl.acm.org/doi/10.1145/3604915.3608779
👍2
ML — это ОК
Статьи с #recsys23 все не заканчиваются! STREC: SPARSE TRANSFORMER FOR SEQUENTIAL RECOMMENDATIONS https://dl.acm.org/doi/10.1145/3604915.3608779
С самого зарождения архитектуры трансформера стали появляться её реализации для задач рекомендаций, в частности для последовательных рекомендаций (Sequential Recommender Systems, SRS). Ключевая особенность архитектуры трансформера – механизм внимания, который до сих пор используется в неизменном виде в большинстве моделей SRS. Его недостаток в том, что он вычисляет веса внимания между всеми возможными парами айтемов. Это ощутимо съедает вычислительные ресурсы и память, что негативно сказывается на производительности модели.

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

В качестве отправной точки авторы взяли классическую архитектуру SRS – SASRec. Изучив матрицу внимания этой модели, исследователи обратили внимание (каламбур!) на феномен разреженного внимания. Рассмотренная матрица оказывается низкоранговой в двух аспектах (см. диаграмму):
- лишь небольшая часть взаимодействий оказывает влияние на выход (зелёные столбцы на рисунке);
- векторы весов внимания (строки на тепловой карте) оказываются одинаковыми.

Чтобы учесть феномен разреженного внимания, авторы придумали архитектуру Sparse Transformer model for sequential Recommendation (STRec). Её базовая структура такая же, как и у SASRec. Отличается механизм внимания, который авторы называют cross-attention. Он подсчитывает внимание между исходной последовательностью айтемов и некоторой выборкой из этой последовательности. Шанс айтема быть выбранными выучивается моделью и зависит от времени взаимодействия пользователя с айтемом. Интуиция в том, что больше всего на рекомендации влияют айтемы, с которыми пользователь взаимодействовал недавно (это видно на диаграмме с матрицей внимания). В этой модели вычислительная сложность снижается за счёт кратного уменьшения количества пар айтемов, по которым считается внимание.

Получившаяся модель оценивалась на датасетах ML-20M, Gowalla и Amazon-Electronics по двум составляющим:
- качеству предсказания;
- эффективности затрачиваемых ресурсов.

По качеству предсказаний STRec победил другие модели в 6 экспериментах из 9 (см таблицу 2), но существенного прироста метрик авторы не получили (и не ожидали). А вот что ожидали, так это уменьшение времени предсказания и требуемых ресурсов (см. таблицу 3). Тут представленное решение — практически абсолютный чемпион. Конкуренцию смогла составить лишь сеть Informer.

Таким образом:
- Обоснованные преобразования в механизме внимания позволили существенно сократить требуемые ресурсы, и при модель превзошла по качеству ряд конкурентов.
- С помощью гиперпараметров можно регулировать размер семпла и до определённого порога решение всё ещё будет лучше базовой архитектуры — SASRec. (рисунки 4-5)

Код для воспроизведения экспериментов выложен в открытый доступ, а вот сама статья – нет 🤦‍♂️.

Замечание. Авторы используют понятие sparsity скорее как маркетинговый ход: подход больше похож на обрезку матрицы запросов, и его можно описать словом shrinking, которое в статье также встречается.
3
🪬🔮🪬Тайная ложа адептов логистической регрессии приглашает вас на заседание ридинг-группы 14 декабря в 17:00. Обсудим Code Llama – очередной коварный заговор по лишению нас работы. Образ врага обрисует младший иерофант обучения машин ОК Никита Грищенков. Не сдаёмся, братья!

Зум:
https://us05web.zoom.us/j/82554759737?pwd=Fp4ZYnFdSXeLXwSn3PQY97QidbeSCz.1
😁14🔥7🥰4
Завершаем разбор #recsys23 отчётом о воркшопе LARGE-SCALE VIDEO RECOMMENDER SYSTEMS. Воркшоп был посвящен видео лишь отчасти – скорее получилась FAANG-тусовка, на которой представители топовых компаний делились опытом и планами масштабирования рекомендеров. В нашем посте – основные выводы, которые мы сделали из воркшопа.
ML — это ОК
Завершаем разбор #recsys23 отчётом о воркшопе LARGE-SCALE VIDEO RECOMMENDER SYSTEMS. Воркшоп был посвящен видео лишь отчасти – скорее получилась FAANG-тусовка, на которой представители топовых компаний делились опытом и планами масштабирования рекомендеров.…
Foundation modes. YouTube и Netflix рассказывают, что обучают большие мультимодальные нейросети. Они используются в нескольких рекомендерах как универсальные базовые модели (см. пример архитектуры на рисунке). Докладчик из YouTube приводит такие данные: c 2015 года количество параметров выросло в тысячу раз, размер данных – в пять раз. Вдохновение черпают в успехе LLM, и это оправдано, потому что:
- у рекомендаций последовательная природа, почти как в текстах;
- модель можно обучать и применять на несколько модальностей: видео, фото, посты;
- большие компании собирают достаточно данных для обучения больших моделей;
- улучшение базовой модели быстро разлетается по всем рекомендерам, где она используется.

В то же время при внедрении foundation models в рекомендациях возникают сложности:
- Предложение в тексте – это просто последовательность слов, в то время как последовательности действий пользователя более сложные: они состоят из различных действий и в них меньше структуры. Вопрос в том, как всё это учесть в модели.
- Количество эмбеддингов в рекомендациях на порядки больше, чем в LLM. Например, на YouTube загружено порядка миллиарда видео, а токенов в языковых моделях – «всего» сотни тысяч. Поэтому масштабирование больших рекомендательных моделей и инфраструктура для них – отдельная сложная задача.

Objectives. Ещё одна важная тема в индустриальных рекомендерах – выбор метрики, которую оптимизировать. Netflix практикует multi-task, Google Brain работает над определением долгосрочных целей пользователей, YouTube и KuaiShou используют подходы из Reinforcement Learning. В любом случае все согласны, что простая оптимизация CTR больше не работает. Особенно для трансформерных моделей – они слишком выразительные и легко ломают business value, если обучены на неудачную метрику.

Incremental training. Важно не только иметь мощную модель, но и заставить её как можно быстрее реагировать на изменения мира: появление новых пользователей и айтемов, возникновение трендов или глобальных событий. Эти вопросы обсуждались в докладах YouTube и Netflix.

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

Спасибо, что читали наш разбор #recsys23!❤️
7👏3
💀Быть или не быть? Тварь ли я дрожащая или право имею? LLM – запоминалка n-грамм или AI? Эти вечные вопросы не покидали нас весь 2023 год. И если с первыми двумя более-менее понятно, то третий требует дополнительных пояснений. На предновогодней ридинг-группе обсудим, может ли LLM понимать такие человеческие понятия, как пространство и время. Статью исследователей из MIT представит Андрей Кузнецов, руководитель группы машинного обучения в ОК. Ждем вас 28 декабря в 17.00.

Зум: https://us04web.zoom.us/j/71281811641?pwd=DMFfVekoFAQg6a4ccC1AeyZu9CRbpM.1
🔥1821
🎄В 2023 году мы делились знаниями больше, чем в любой предыдущий год. Вспоминаем наши выступления, митапы, конференции, статьи и блоги.
😁7
ML — это ОК
🎄В 2023 году мы делились знаниями больше, чем в любой предыдущий год. Вспоминаем наши выступления, митапы, конференции, статьи и блоги.
Выступления
ML Инфраструктура с настоящим хайлоадом Андрей Кузнецов, Code Fest в Новосибирске
Рекомендации друзей в «Одноклассниках» Коля Анохин, RecSys Meetup в Нижнем Новгороде
Как мы учим модели и обрабатываем данные для рекомендаций Евгений Кувшинов, VK Education Talks в Москве
ML в Одноклассниках Сергей Малышев, выступление в MADE в Москве
Less is More Даша Никанорова, ML Tech Talks (наш митап!) в Санкт-Петербурге
Многообразия, графы и машинное обучение Александр Тараканов, Dark Geometry Fest в Москве
Hadoop в Облаке — это ОК Михаил Марюфич, SmartData в Москве
Пишем рекомендательную систему музыки на Java Андрей Кузнецов, Joker в Санкт-Петербурге
Hadoop в Облаке: история миграции сотен петабайт Михаил Марюфич, Highload++ в Сколково
Large-scale tensor decomposition with spark Сергей Ермилов, Конференция «Рекомендательные системы в исследованиях и индустриальных приложениях» в Москве
Item2vec: как и зачем векторизовать посты и пользователей в социальной сети Дмитрий Решетников, VK IT Point в Минске
Применение методов машинного обучения для вычисления собственных функций дифференциальных операторов Александр Тараканов, семинар HDI Lab в Москве

Статьи
Обзор современных подходов персонализации диффузионных нейронных сетей
Итоги RecSys 2023: разбор знаковых статей прошедшей конференции. Часть 1
Итоги RecSys 2023: разбор знаковых статей прошедшей конференции. Часть 2

Блог
За пол года, что существует наш канал, мы провели 11 встреч ридинг-группы, разобрали 21 статью, например, статьи про Llama 2, HyperDreamBooth. А ещё провели эпический разбор Recsys 2023 в двух частях, на котором выступали авторы статей с конференции.

Это очень много для команды из тридцати человек, а ведь мы ещё и работаем: делаем рекомендации, обучаем модели классификации контента, анализируем поведение пользователей, заводим ML-модели в продакшн и запускаем A/B-эксперименты. В следующем году мы не собираемся останавливаться! Будем разбираться с тем, что нам интересно, и делиться с вами результатами. ML-команда ОК поздравляет вас с наступающим 2024 годом! 🎁
22🔥8🎉6
OPTIMIZING AIRBNB SEARCH JOURNEY WITH MULTI-TASK LEARNING
https://arxiv.org/abs/2305.18431
🔥3
ML — это ОК
OPTIMIZING AIRBNB SEARCH JOURNEY WITH MULTI-TASK LEARNING https://arxiv.org/abs/2305.18431
Multi-target постановка естественна для рекомендеров, где пользователь может совершать над рекомендацией более-менее равнозначные положительные действия. Например, в Одноклассниках под постом можно поставить «класс», оставить комментарий или поделиться. В задачах, где есть одно самое главное целевое действие, полезность multi-target менее очевидна. Зачем отвлекать модель от главной цели, обучаясь предсказывать что-то второстепенное? На этот вопрос отвечают исследователи из Airbnb. В статье с KDD’23 они рассказали о новой архитектуре нейронной сети Journey Ranker для ранжирования объявлений в поиске Airbnb. Несмотря на то, что целевая метрика только одна – количество неотменённых бронирований (uncancelled bookings) – модель состоит из четырёх модулей (см. диаграмму), отвечающих в том числе за разные таргеты.

Shared representation module. Модуль принимает на вход признаки объявления и контекста и выдает соответствующие эмбеддинги. Этот модуль не изменился по сравнению с предыдущей моделью ранжирования. Он служит для подготовки входных данных для последующих модулей.

Base module учится предсказывать «положительные» действия пользователя: клики, долгие клики, заходы на страницу оплаты, бронирования, неотменённые бронирования. Цепочка действий сконструирована так, что следующее действие возможно, только если пользователь совершил предыдущее. Например, нельзя сделать бронирование, не зайдя на страницу оплаты. Модуль устроен так, что скор предыдущего действия в цепочке используется при вычислении скора следующего действия. При обучении каждому действию сопоставляется вес, который приводит все лоссы в одну шкалу: шкалу неотменённых бронирований.

Twiddler module учится предсказывать «отрицательные» действия пользователя: отказ в бронировании, отмену брони пользователем и отмену брони владельцем. Каждому действию соответствует свой выход сети.

Combination module комбинирует (сюрприз!) выходы base module и twiddler module. Веса выходов в линейной комбинации выучиваются из эмбеддинга контекста. Такая идея близка по духу к mixture of experts. Авторы статьи подчёркивают, что веса получаются интерпретируемыми. Например, модель обращает больше внимания на вероятность отмены при бронировании на близкие даты, потому цена отмены велика – у пользователя, скорее всего, не будет шанса сделать ещё одну бронь.

Авторы указывают несколько преимуществ архитектуры Journey Ranker по сравнению с прямой оптимизацией главной целевой метрики:
1. Модель учится на большем датасете. Можно учитывать не только пользователей, которые сделали неотменённое бронирование, но и тех, кто не дошёл до него, но совершил какое-то другое «положительное» действие.
2. Модель учитывает негативные действия пользователя и автора объявления. Вес таких действий варьируется в зависимости от контекста.
3. В экспериментах Journey Ranker побеждает: прирост составил +0.5 NDCG офлайн и +0.6% уникальных пользователей, совершивших неотменённое бронирование в A/B-эксперименте.
4. Архитектура обобщается на другие задачи: авторы протестировали её в поиске развлечений Airbnb и получили прирост в метриках.

Как и другие статьи команды поиска Airbnb, эта отлично написана: авторы рассказывают про мотивацию, результаты экспериментов и обсуждают гипотезы, которые их объясняют. Мы советуем почитать её тем, кто работает над задачей ранжирования в продакшн рекомендерах.
🔥9👍3🆒1
❄️На первой в этом году ридинг-группе ОК обсудим STRec — рекомендательный трансформер с разреженным вниманием. Авторам статьи удалось сократить время инференса стандартного SASRec вдвое, а потребление памяти — на 70%. Ведущим будет Марк Шерман, младший разработчик ОК. Ждём вас на встрече 18 января в 18:00.

Зум:
https://us05web.zoom.us/j/86918599487?pwd=c4NIvIDdHzGLaaHAoOwmBHD1jpFTmr.1
👍11🔥62
🌅 Специально для подписчиков публикуем запись аффирмаций на построение стабильной ML-платформы, которую по ошибке редактора назвали подкастом.

В этом выпуске можно найти ответы на такие важные вопросы, как:
- на какой земле должен стоять ML-инженер;
- в чём мотивация и сложность перехода из ML в инфраструктуру (не в терминах О-большое);
- как убедить бизнес инвестировать в построение ML-платформы, не применяя насилие (кроме психологического).

Ну, и немного про инструменты, инфраструктуру данных, платформу А/Б и зоны ответственности в современной ML-разработке.
🔥26😁21👍1
RANKITECT: RANKING ARCHITECTURE SEARCH BATTLING WORLD-CLASS ENGINEERS AT META* SCALE
https://arxiv.org/abs/2311.08430
*Meta признана экстремистской организацией в России
ML — это ОК
RANKITECT: RANKING ARCHITECTURE SEARCH BATTLING WORLD-CLASS ENGINEERS AT META* SCALE https://arxiv.org/abs/2311.08430 *Meta признана экстремистской организацией в России
🤖Есть хорошие способы лишить ML-инженеров работы, кроме LLM – например, AutoML. Сегодняшний пост про Rankitect – Neural Architecture Search (NAS), способный автоматически находить архитектуру ранжирующей модели с заданным количеством FLOPs. Причем точность этой модели будет даже немного выше, чем точность модели, придуманной ML-инженерами мирового уровня (по мнению самих инженеров).

С высоты птичьего полета система работает так:
1. Создаём supernet – огромный ранкер, который объединяет в себе все возможные варианты ранкеров поменьше. Блоки supernet включают в себя трансформации признаков, взаимодействия между признаками и связи с другими блоками (см. картинку).
2. Даём возможность отключать разные куски supernet с помощью масок. В зависимости от того, какие маски включены, получается конкретная реализация subnet-ранкера.
3. Используем NAS-алгоритм, позволяющий выбрать лучшую (с точки зрения метрики качества) конфигурацию масок при заданном ограничении FLOPs.
4. Применяем к supernet найденную лучшую маску и получаем искомый ранкер.

Авторы пробовали три алгоритма NAS:
- Sampling-based метод, основанный на Neural Predictor, умно семплирует subnet-кандидаты и выбирает лучшие по метрике.
- One-shot NAS with Reinforcement Learning параллельно с ранкером обучает RL-ного агента, который семплирует маски. Награда агенту – качество ранкера, измеренное на батче. Этот вариант показал себя как оптимальный с точки зрения времени обучения и качества полученных моделей.
- DNAS – маски заменяются на дифференцируемые функции с помощью Gumbel-Softmax трюка и обучаются вместе с моделью (вау).

В экспериментах Rankitect конкурировал с продакшн-моделью и новой архитектурой DHEN, которую инженеры мирового уровня придумали, пока авторы статьи пилили NAS. В итоге у Rankitect и DHEN получилось победить бейзлайн, но соотношение качества и FLOPs оказалось примерно одинаковым. Во втором эксперименте авторы использовали свой фреймворк, чтобы улучшить уже DHEN. В течение 4 дней на кластере из 64 GPU настраивались только размеры слоев DHEN. В итоге получилось превзойти базовую конфигурацию на 0,02% по метрике качества при том же FLOPs.

Статью стоит почитать: предложенный подход выглядит интересно и технологично. Но применять его имеет смысл, когда уже собраны все низко висящие фрукты, средне висящие фрукты, и остался только последний банан на самой верхушке пальмы 🌴.
10👏7👍3
Media is too big
VIEW IN TELEGRAM
«Быть или не быть?», «А судьи кто?» и другие экзистенциальные вопросы будут в следующих выпусках, а сегодня — про то, как и зачем векторизовать посты. Дима Решетников на открытии офиса VK в Минске в своём выступлении рассказал, как мы делаем это в ОК. Смотрим запись.
🔥8👏42
☁️☁️☁️ Миша Марюфич написал отличную статью про то, как мы в ОК мигрировали наш огромный кластер Hadoop в облако. Не всё шло по плану, но в итоге получилось всё так, как задумывали. К чтению предлагаем трек от нашего музыкального рекоммендера: Браво — Дорога в облака.
🔥15👍4👏1