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

Контакты: @anokhinn
Download Telegram
Вышла статья Adversarial Diffusion Distillation, в которой представили быструю версию SDXL (без refiner-stage). Добились этого за счёт симбиоза дистилляции и GAN-подхода.

Дистилляция:
1. Ученик (идентичен учителю по архитектуре и изначальным весам) выполняет стандартный для диффузии процесс предсказания. Но при этом выбирает один из четырёх доступных шагов.
2. Аналогичное выполняет учитель, но располагает обычным диапазоном шагов — от 0 до 1000.
3. Разница (distillation loss) между шагом 2 и 3 считается с помощью L2 Loss.

Для улучшения результатов дополнительно применяется adversarial loss. Он считается благодаря сети, задача которой классифицировать сгенерировано на два класса: fake/real (аналогично GAN-подходам). Классификация применяется поверх признаков полученных с помощью DINOv2 (ViT-S).

В рамках наших экспериментов такая версия SDXL генерирует новое изображение за 200-340 мс (1-4 шага генерации) и при этом занимает 9 GB VRAM.
🆒3🔥2
💻Продолжаем разбор #recsys23
INTEGRATING OFFLINE REINFORCEMENT LEARNING WITH TRANSFORMERS FOR
SEQUENTIAL RECOMMENDATION
https://arxiv.org/abs/2307.14450
ML — это ОК
💻Продолжаем разбор #recsys23 INTEGRATING OFFLINE REINFORCEMENT LEARNING WITH TRANSFORMERS FOR SEQUENTIAL RECOMMENDATION https://arxiv.org/abs/2307.14450
В статье решается задача последовательных рекомендаций, в которой очередная рекомендация строится, исходя из предыдущих взаимодействий пользователя. Цель авторов – оптимизировать долгосрочную метрику рекомендера. Для этого они предлагают использовать offline reinforcement learning.

В основе подхода – алгоритм Actor-Critic, в котором обучаются две модели: actor и critic (сюрприз!).

- Actor принимает на вход последовательность айтемов пользователя и выдаёт рекомендацию (policy). Для эмбеддинга последовательности используется трансформер на основе DistilGPT2.

- Critic оценивает долгосрочный эффект (Q-функцию) рекомендации, которую выдал actor, также используя последовательность айтемов пользователя. Здесь последовательность эмбеддится с помощью LSTM.

Процесс рекомендаций смоделирован, как задача последовательного принятия решений RL-агентом. Оказалось, что обучать такую архитектуру только с помощью RL неэффективно, поэтому actor сперва предобучают на задаче next-item-prediction. После этого вся архитектура учится оптимизировать долгосрочный reward с помощью алгоритма CRR.

Эксперименты проводились на датасетах MovieLens 25M и Yoochoose. Предложенная архитектура сравнивалась как с бейзлайнам (SASRec, Caser), так и с собственными отдельными компонентами (Transformer-only, CRR-only). На графиках показаны кривые обучения двух этапов эксперимента на MovieLens-25M. На первом этапе претрейна Transformer-only модель быстро достигает лучших результатов. На втором этапе с помощью CRR файнтюнинга авторы улучшили модель, добившись роста метрики в 1,5 раза. В итоге предложенная модель победила бейзлайны в 11 из 12 экспериментов. Авторы не представили результаты A/B-тестов реальных рекомендеров. Так что предложенный метод пока можно считать теоретическим — он ещё требует проверок в «реальном бою».
👍91
Media is too big
VIEW IN TELEGRAM
🎥Запись ридинг-группы от 30 ноября 2023. Максим Кодрян представлял свою статью с NeurIPS'21
🔥6👍1👏1
Наш разбор статей #recsys23 продолжается!
LIGHTSAGE: GRAPH NEURAL NETWORKS FOR LARGE SCALE ITEM RETRIEVAL IN SHOPEE’S ADVERTISEMENT RECOMMENDATION
https://arxiv.org/abs/2310.19394v1
В работе представлена реализация рекомендательной системы сингапурского онлайн-магазина Shopee. Эта рекомендательная система основана на графовой нейронной сети, где каждый пользователь представлен графом, построенным на основе активности пользователя в онлайн-магазине.

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

Задача нейронной сети — порекомендовать дополнительные товары на основе графа пользователя и айтема, который он просматривает в данный момент.

Общий алгоритм работы графового рекомендера такой:
1. Пользователь просматривает айтем A.
2. Векторы признаков вершин, из которых можно попасть в айтем A за n шагов, усредняются с некоторыми весами.
3. Полученный вектор признаков подаётся на вход нейронной сети, которая вычисляет предсказание модели.

Авторы статьи предлагают три модификации общего алгоритма: новый алгоритм построения графа, новую архитектуру и новый подход к учёту айтемов из хвоста (long-tail).

Ключевой вклад состоит в построении графа. Идея в том, чтобы использовать только очень существенные действия пользователя для построения ребра между товарами. Мотивация — подавление шума. Например, учитывается только переход из описания айтема A на страницу айтема B. Проблема в том, что если оставить только такие рёбра, то граф получается разреженным. Чтобы уплотнить граф, авторы использовали два алгоритма добавления рёбер:

- Первый — реализация алгоритма Swing за авторством исследователей Alibaba.
- Второй основан на поиске по онлайн-магазину: если пользователь сделал поисковый запрос, и просмотрел айтем A и айтем B, то эти товары соединяются ребром.

Полученный граф используется для обучения модели и предсказаний.

Для улучшения архитектуры нейронной сети авторы уменьшили количество слоёв и убрали из некоторых слоёв нелинейные активации. В итоге по объёму памяти и по числу нелинейных операций сеть стала меньше конкурирующих решений.

Long-tail айтемы обрабатываются двумя разными способами — на обучении и на inference.

- При обучении айтемы из хвоста группируются по похожести. Векторы признаков усредняются внутри групп для дальнейшего использования в графе.
- На inference стратегия меняется — eсли long-tail айтем соединён ребром с айтемом, который сейчас просматривает пользователь, то он обрабатывается как обычный айтем (усреднение по соседям не применяется). В противном случае — long-tail айтем обрабатывается так же, как и при обучении (применяется алгоритм усреднения).

Общая архитектура показана на картинке. Описанный в статье алгоритм был внедрён в продакшен. Он продемонстрировал более высокую точность по сравнению с конкурентами на офлайн-данных и на A/B-тестировании. В эксперименте выросло число заказов и прибыль онлайн-магазина.🎯
🔥3👍2
Статьи с #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