Всем привет! На связи ML-команда Одноклассников 🤟
Уже больше 12 лет мы делимся платформой, сервисами и своей экспертизой с бизнес-юнитами холдинга VK, а теперь готовы передать наши тайные знания и опыт всему ML-сообществу.
Что вас ждёт в этом канале?
— Погружение в CV, NLP, RL и классический ML под большими нагрузками,
— Полезные рекомендации и советы,
— Анонсы ридинг-групп, на которых мы в свободной форме разбираем интересные статьи, кейсы и прочие крутые штуки в сфере ML и смежных направлениях.
Подпишитесь, если ещё не сделали этого, и не пропустите приглашение на 100-ую (юбилейную!) ридинг-группу! Будет интересно)🤟
Уже больше 12 лет мы делимся платформой, сервисами и своей экспертизой с бизнес-юнитами холдинга VK, а теперь готовы передать наши тайные знания и опыт всему ML-сообществу.
Что вас ждёт в этом канале?
— Погружение в CV, NLP, RL и классический ML под большими нагрузками,
— Полезные рекомендации и советы,
— Анонсы ридинг-групп, на которых мы в свободной форме разбираем интересные статьи, кейсы и прочие крутые штуки в сфере ML и смежных направлениях.
Подпишитесь, если ещё не сделали этого, и не пропустите приглашение на 100-ую (юбилейную!) ридинг-группу! Будет интересно)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤩6🎉4👎1
💯 Представляем вашему вниманию 100 (это десятичная запись!) встречу ридинг-группы Одноклассников. На ридинг-группе мы обсуждаем научные статьи, главы из книг, блоги про ML. На каждой встрече есть ведущий – тот, кто читал статью внимательнее всех. Ведущий организует и направляет дискуссию, делает слайды (но это не точно) и вообще ведет себя как главный.
Для юбилейной встречи мы выбрали статью российских исследователей. Ведущим будет Сергей Ермилов, ML-инженер в команде Дружб Одноклассников.
Встреча будет zoom в 15.00 17 июля.
Для юбилейной встречи мы выбрали статью российских исследователей. Ведущим будет Сергей Ермилов, ML-инженер в команде Дружб Одноклассников.
Встреча будет zoom в 15.00 17 июля.
🔥16👍2
Нейросетки, обученные с помощью pair-wise и list-wise лоссов, обеспечивают классное ранжирование в рекомендерах. При этом масштаб скоров модели получается непредсказуемым, например, при добавлении константы к скорам лосс не меняется. В условиях автоматического обновления модели фильтровать рекомендации по порогу из-за этого сложно – обучилась новая версия модели, и старый порог уже не подходит. Исследователи из Google придумали, как решить эту проблему, причем это дело пары строк кода в лоссе: калибровка происходит при обучении модели без дополнительных этапов пост-процессинга.
И самое классное - результаты статьи воспроизодятся! На графиках сравнение скоров нашего рекомендера друзей, обученного на данных разных дней. Без предложенной калибровки (слева) соотношение скоров в разные дни непредсказуемое, тогда как с калибровкой (справа) скоры получаются стабильными. Внезапно, разницы в метриках ранжирования между оригинальной и калиброванной моделями нет. Теперь не страшно использовать пороги!
Статья
И самое классное - результаты статьи воспроизодятся! На графиках сравнение скоров нашего рекомендера друзей, обученного на данных разных дней. Без предложенной калибровки (слева) соотношение скоров в разные дни непредсказуемое, тогда как с калибровкой (справа) скоры получаются стабильными. Внезапно, разницы в метриках ранжирования между оригинальной и калиброванной моделями нет. Теперь не страшно использовать пороги!
Статья
🔥25
ML — это ОК
💯 Представляем вашему вниманию 100 (это десятичная запись!) встречу ридинг-группы Одноклассников. На ридинг-группе мы обсуждаем научные статьи, главы из книг, блоги про ML. На каждой встрече есть ведущий – тот, кто читал статью внимательнее всех. Ведущий организует…
Напоминаем, через 15 минут стартует 100 встреча ридинг-группы Одноклассников.
Ждем всех в zoom по ссылке 😉
Ждем всех в zoom по ссылке 😉
ML — это ОК
💯 Представляем вашему вниманию 100 (это десятичная запись!) встречу ридинг-группы Одноклассников. На ридинг-группе мы обсуждаем научные статьи, главы из книг, блоги про ML. На каждой встрече есть ведущий – тот, кто читал статью внимательнее всех. Ведущий организует…
Tensor_based_Sequential_Learning_via_Hankel_Matrix_Representation.mp4
75 MB
Внутри разбор статьи про то, как без шума и пыли воспроизвести SASRec без нейронок с демкой и бесценными вопросами/ответами
👍11❤2🆒2
Llama 2
Исследователь нашей лаборатории ИИ Андрей Аргаткин прочитал статью про новую Llama 2 и готов поделиться своими наблюдениями.
Вышла новая версия условно опенсорсной Llama. На сей раз, кажется, использовать модель можно действительно открыто всем, в том числе и коммерческим компаниям.
Несколько прозаических фактов, показавшихся мне интересными:
- Скачать просто так всё равно пока (?) нельзя, необходимо заполнять форму на сайте, а затем на сайте HF, если планируется скачивать веса с их платформы. Обещают рассматривать за 1-2 суток🙄
Принимая во внимание скорость рассмотрения заявок на доступ к Llama 1, надеюсь, что эту досадную формальность уберут, и не нужно будет искать ссылку на торрент.
- Обучили 4 модели таких же размеров, как и в прошлой версии (7B, 13B, 34B и 70B), но версию на 34B скачать пока не дадут — говорят, что недостаточно протестили её (lack of time to sufficiently red team в оригинале).
- Для каждого размера Meta выпустила 2 модели — Llama 2 и Llama 2 Chat с файнтюнингом, red teaming и RLHF, и непонятно, зачем не открывать обычную модель на 34B, которая даже не была заалайнена.
- Самая большая модель ожидаемо бьёт опенсорсные модели и своего предшественника и по всем «объективным» бенчмаркам в незаалайненном виде (MMLU, Big Bench Hard, MATH и прочие), и по «субъективным» в заалайненном (safety and helpfulness by humans & GPT-4 judge).
- Однако актуальные коммерческие модели (GPT-3.5, GPT-4 и PaLM-2) всё равно лучше на объективных бенчмарках. Тем не менее, Llama 2 либо лучше, либо несущественно отстаёт от PaLM-1, и это очень круто!
Теперь в наших руках есть модель не хуже, чем лучшая LLM образца середины прошлого года, и для инференса которой не нужен свой дата-центр🤗
О том, чем ещё интересна модель, в следующем посте.
Исследователь нашей лаборатории ИИ Андрей Аргаткин прочитал статью про новую Llama 2 и готов поделиться своими наблюдениями.
Вышла новая версия условно опенсорсной Llama. На сей раз, кажется, использовать модель можно действительно открыто всем, в том числе и коммерческим компаниям.
Несколько прозаических фактов, показавшихся мне интересными:
- Скачать просто так всё равно пока (?) нельзя, необходимо заполнять форму на сайте, а затем на сайте HF, если планируется скачивать веса с их платформы. Обещают рассматривать за 1-2 суток🙄
Принимая во внимание скорость рассмотрения заявок на доступ к Llama 1, надеюсь, что эту досадную формальность уберут, и не нужно будет искать ссылку на торрент.
- Обучили 4 модели таких же размеров, как и в прошлой версии (7B, 13B, 34B и 70B), но версию на 34B скачать пока не дадут — говорят, что недостаточно протестили её (lack of time to sufficiently red team в оригинале).
- Для каждого размера Meta выпустила 2 модели — Llama 2 и Llama 2 Chat с файнтюнингом, red teaming и RLHF, и непонятно, зачем не открывать обычную модель на 34B, которая даже не была заалайнена.
- Самая большая модель ожидаемо бьёт опенсорсные модели и своего предшественника и по всем «объективным» бенчмаркам в незаалайненном виде (MMLU, Big Bench Hard, MATH и прочие), и по «субъективным» в заалайненном (safety and helpfulness by humans & GPT-4 judge).
- Однако актуальные коммерческие модели (GPT-3.5, GPT-4 и PaLM-2) всё равно лучше на объективных бенчмарках. Тем не менее, Llama 2 либо лучше, либо несущественно отстаёт от PaLM-1, и это очень круто!
Теперь в наших руках есть модель не хуже, чем лучшая LLM образца середины прошлого года, и для инференса которой не нужен свой дата-центр🤗
О том, чем ещё интересна модель, в следующем посте.
🔥11
Llama 2 часть 2
Из интересных технических моментов:
- Если в первой версии Llama не использовался модный нынче Multi-Query Attention (MQA), то во второй авторы пошли дальше и встроили новый Grouped Query Attention (если честно, в первый раз слышу про него). Отличие нового механизма внимания — в нём допускается несколько голов для Key & Value матриц, а не одна (MQA), и не то же число, что и у Query (classical attention). За счёт этого можно настроить trade-off между качеством модели и размером/скоростью инференса.
- Длина контекстного окна при обучении в два раза больше (4к токенов), чем у первой версии. Но это все равно не так впечатляет, как 8к и 32к у GPT-4 и 100к у Claude, хоть и не известно, на какой длине эти модели обучались большую часть претрейна.
- 2 триллиона токенов для моделей всех размеров, что оставляет все другие open-source модели, покушавшиеся на лавры Llama, нервно курить в сторонке.
- Для тренировки самой большой модели потратили примерно 1,7 миллионов часов работы Nvidia A100, что соответствует 35 дням непрерывной работы кластера из 2048 гпушек. Для сравнения, Falcon тренили на 384 карточках в AWS на протяжении двух месяцев.
- В этот раз нет описания использованных датасетов, только информация, что все данные — из публично доступных источников и не содержат данных пользователей продуктов Meta. Отсечка — по сентябрь 2022 года для базовых моделей.
- Для Supervised Fine Tuning (SFT) использовали всего 27540 примеров. Для Reward Modeling 1,4 миллиона сравнений, созданных с помощью самостоятельно, и ещё 1,5 миллиона опенсорсных. При этом они не выкладывают свой датасет😥
- Авторы используют сразу две reward модели — одну для Helpfulness и вторую для Safety.
- Также они придумали ещё одну штуку: GAtt (Ghost Attention). Её смысл в добавлении в диалоги с большим числом реплик изначальной инструкции в начало КАЖДОЙ реплики пользователя и дообучения модели на этих примерах. Видимо, похожим образом работает system message в API GPT-4.
В целом, несмотря на некоторые недостатки по сравнению с закрытыми моделями производства Google и OpenAI, Llama 2 выглядит новой вехой в истории LLM и open source, так как её, на мой взгляд, вполне можно будет использовать вместо платных API и файнтюнить сколько угодно.
Из интересных технических моментов:
- Если в первой версии Llama не использовался модный нынче Multi-Query Attention (MQA), то во второй авторы пошли дальше и встроили новый Grouped Query Attention (если честно, в первый раз слышу про него). Отличие нового механизма внимания — в нём допускается несколько голов для Key & Value матриц, а не одна (MQA), и не то же число, что и у Query (classical attention). За счёт этого можно настроить trade-off между качеством модели и размером/скоростью инференса.
- Длина контекстного окна при обучении в два раза больше (4к токенов), чем у первой версии. Но это все равно не так впечатляет, как 8к и 32к у GPT-4 и 100к у Claude, хоть и не известно, на какой длине эти модели обучались большую часть претрейна.
- 2 триллиона токенов для моделей всех размеров, что оставляет все другие open-source модели, покушавшиеся на лавры Llama, нервно курить в сторонке.
- Для тренировки самой большой модели потратили примерно 1,7 миллионов часов работы Nvidia A100, что соответствует 35 дням непрерывной работы кластера из 2048 гпушек. Для сравнения, Falcon тренили на 384 карточках в AWS на протяжении двух месяцев.
- В этот раз нет описания использованных датасетов, только информация, что все данные — из публично доступных источников и не содержат данных пользователей продуктов Meta. Отсечка — по сентябрь 2022 года для базовых моделей.
- Для Supervised Fine Tuning (SFT) использовали всего 27540 примеров. Для Reward Modeling 1,4 миллиона сравнений, созданных с помощью самостоятельно, и ещё 1,5 миллиона опенсорсных. При этом они не выкладывают свой датасет😥
- Авторы используют сразу две reward модели — одну для Helpfulness и вторую для Safety.
- Также они придумали ещё одну штуку: GAtt (Ghost Attention). Её смысл в добавлении в диалоги с большим числом реплик изначальной инструкции в начало КАЖДОЙ реплики пользователя и дообучения модели на этих примерах. Видимо, похожим образом работает system message в API GPT-4.
В целом, несмотря на некоторые недостатки по сравнению с закрытыми моделями производства Google и OpenAI, Llama 2 выглядит новой вехой в истории LLM и open source, так как её, на мой взгляд, вполне можно будет использовать вместо платных API и файнтюнить сколько угодно.
🔥8👍2❤1
🦙🌴Пока люди (наверное, они биологи?) пытаются решить, что круче — лама или пальма, мы продолжаем обсуждать действительно важные вещи: заведение нейросетевых рекомендеров в продакшен.
На ридинг-группе 27 июля в 17.00 МСК обсудим модель DLRM и её реализацию на torchrec с дообучением онлайн. Ведущим будет Роман Болозовский, ML-инженер из команды Ленты ОK.
На ридинг-группе 27 июля в 17.00 МСК обсудим модель DLRM и её реализацию на torchrec с дообучением онлайн. Ведущим будет Роман Болозовский, ML-инженер из команды Ленты ОK.
🔥11
Сегодня рассказываем про классную статью с ICML 2023. На одном из митапов ребята из ВКонтакте озвучили идею: метрика, на которую мы настраиваем рекомендер, подсказывает авторам, какой контент мы от них ждём. Например, если площадка настраивает модель на рост timespent, то авторы будут мотивированы писать лонгриды, причем хорошо читаемые. В статье эта идея исследована (и формализована) в разрезе разнообразия рекомендаций. Авторы выстраивают свою стратегию так, чтобы их контент получал от рекомендера максимальный скор, и, следовательно, максимальные охваты. А значит, когда мы добавляем компонент разнообразия в loss модели, авторам ничего не остаётся, кроме как разнообразить свой контент. Более того, сам компонент разнообразия можно сформулировать так, чтобы поощрять именно «будущее» разнообразие контента, а не наблюдаемое в исторических данных.
Предположения, использованные в статье, скорее, не выполняются в реальных системах. Например, предполагается, что разработчики рекомендера знают, сколько стоит изменение контента для авторов, а авторы наблюдают скоры модели. Из-за этого напрямую реализовать предложенный подход в продакшен не получится. Тем не менее, результаты экспериментов получились важные. Во-первых, рекомендер определяет не только благополучие потребителей контента, но и стратегическое поведение авторов. Во-вторых, если постоянно поощрять только релевантность, со временем контент на платформе становится очень одинаковым. Мы в ОК наступали на эти грабли, но сошли с них. Согласно этой статье, всё правильно сделали.
Предположения, использованные в статье, скорее, не выполняются в реальных системах. Например, предполагается, что разработчики рекомендера знают, сколько стоит изменение контента для авторов, а авторы наблюдают скоры модели. Из-за этого напрямую реализовать предложенный подход в продакшен не получится. Тем не менее, результаты экспериментов получились важные. Во-первых, рекомендер определяет не только благополучие потребителей контента, но и стратегическое поведение авторов. Во-вторых, если постоянно поощрять только релевантность, со временем контент на платформе становится очень одинаковым. Мы в ОК наступали на эти грабли, но сошли с них. Согласно этой статье, всё правильно сделали.
🔥10👍3
OK Tech Talk: приглашаем на митап «ML в production»
18 августа, мы устраиваем первый OK Tech Talk. Тема мероприятия — «ML в production». Ждём ML-инженеров, аналитиков и дата-сайентистов.
На митапе обсудим, как снизить отправку пушей и не просадить продуктовые метрики, какие технические и продуктовые проблемы решает схема item2item и как с помощью no-code auto ML-платформы автоматизировать большую часть работы разработчика. Докладчики — сотрудники ОК, Дзена и VK Predict.
Программа
17:00-17:30 — сбор участников, приветственный кофе-брейк
17:30-18:10 — «Less is more: как снизить отправку пушей и не просадить продуктовые метрики», Дарья Никанорова, ML Engineer, Одноклассники
18:10-18:50 — «Item2item схема в Дзене», Владислав Гончаренко, руководитель группы ранжирования видео, Дзен
18:50-19:00 — перерыв
19:00-19:40 — «No-code auto ML — демократизация машинного обучения», Арсений Селякин, программист-исследователь, и Артём Агафонов, руководитель команды геоаналитики, проект predict.
19:40- 20:30 — фуршет, свободное общение
Когда: 18 августа. Сбор участников — с 17:00 до 17:30. Старт докладов — в 17:30
Где: Санкт-Петербург, оранжерея Таврического сада (ПШпалерная, 43, 1-й этаж)
Как попасть: участие бесплатное, регистрация обязательна.
18 августа, мы устраиваем первый OK Tech Talk. Тема мероприятия — «ML в production». Ждём ML-инженеров, аналитиков и дата-сайентистов.
На митапе обсудим, как снизить отправку пушей и не просадить продуктовые метрики, какие технические и продуктовые проблемы решает схема item2item и как с помощью no-code auto ML-платформы автоматизировать большую часть работы разработчика. Докладчики — сотрудники ОК, Дзена и VK Predict.
Программа
17:00-17:30 — сбор участников, приветственный кофе-брейк
17:30-18:10 — «Less is more: как снизить отправку пушей и не просадить продуктовые метрики», Дарья Никанорова, ML Engineer, Одноклассники
18:10-18:50 — «Item2item схема в Дзене», Владислав Гончаренко, руководитель группы ранжирования видео, Дзен
18:50-19:00 — перерыв
19:00-19:40 — «No-code auto ML — демократизация машинного обучения», Арсений Селякин, программист-исследователь, и Артём Агафонов, руководитель команды геоаналитики, проект predict.
19:40- 20:30 — фуршет, свободное общение
Когда: 18 августа. Сбор участников — с 17:00 до 17:30. Старт докладов — в 17:30
Где: Санкт-Петербург, оранжерея Таврического сада (ПШпалерная, 43, 1-й этаж)
Как попасть: участие бесплатное, регистрация обязательна.
🔥10👍2
ML — это ОК pinned «OK Tech Talk: приглашаем на митап «ML в production» 18 августа, мы устраиваем первый OK Tech Talk. Тема мероприятия — «ML в production». Ждём ML-инженеров, аналитиков и дата-сайентистов. На митапе обсудим, как снизить отправку пушей и не просадить продуктовые…»
HyperDreamBooth
Вышла новая статья от Google, в которой предлагается усовершенствованный подход создания персонализированной Stable Diffusion. Авторы пытаются решить проблему предыдущих подходов — большой размер хранимых весов и долгое дообучение на конкретных фотографиях. Побороть эти проблемы предлагается тремя подходами: LiDB (Lightweight DreamBooth), HyperNetwork, Relaxed Fine-tuning.
Lightweight DreamBooth (LiDB)
Это модификация существующего подхода Low-Rank Adaptation: раскладываем веса слоёв внимания не на две матрицы A и B, а на четыре — две необучаемые полуортогональные и две обучаемые (r = 1) . За счёт низкой размерности обучаемых частей получается сократить размер хранимых весов до ~130Kb, при этом итоговое качество изображений не страдает.
HyperNetwork
Обучаемые веса из LiDB — это выходы гиперсети, задача которой предсказать наиболее оптимальные начальные параметры для генерации конкретного человека. На вход сети поступает изображение целевого человека, при этом на вход Text Encoder — заготовленная фраза вида a [V] face. На выходе получаем набор векторов, которые уже и подставляем на место обучаемых весов LiDB. Гиперсеть предварительно обучается на большом датасете (для людей можно взять CelebAHQ) и дальше используется только в режиме предсказания (занимает ~2 секунды).
Relaxed Fine-tuning
Схема из двух предыдущих подходов даёт неплохие генерации, но они захватывают недостаточное количество деталей целевого человека. Поэтому предлагается использовать выход гиперсети как стартовые значения для матриц внимания, с последующим их дообучением через LoRA разложение (r > 1).
Достаточно 40 итераций (~20-30 секунд) дообучения для получения качественных результатов. Это в разы быстрее всех предыдущих методов персонализации.
Вышла новая статья от Google, в которой предлагается усовершенствованный подход создания персонализированной Stable Diffusion. Авторы пытаются решить проблему предыдущих подходов — большой размер хранимых весов и долгое дообучение на конкретных фотографиях. Побороть эти проблемы предлагается тремя подходами: LiDB (Lightweight DreamBooth), HyperNetwork, Relaxed Fine-tuning.
Lightweight DreamBooth (LiDB)
Это модификация существующего подхода Low-Rank Adaptation: раскладываем веса слоёв внимания не на две матрицы A и B, а на четыре — две необучаемые полуортогональные и две обучаемые (r = 1) . За счёт низкой размерности обучаемых частей получается сократить размер хранимых весов до ~130Kb, при этом итоговое качество изображений не страдает.
HyperNetwork
Обучаемые веса из LiDB — это выходы гиперсети, задача которой предсказать наиболее оптимальные начальные параметры для генерации конкретного человека. На вход сети поступает изображение целевого человека, при этом на вход Text Encoder — заготовленная фраза вида a [V] face. На выходе получаем набор векторов, которые уже и подставляем на место обучаемых весов LiDB. Гиперсеть предварительно обучается на большом датасете (для людей можно взять CelebAHQ) и дальше используется только в режиме предсказания (занимает ~2 секунды).
Relaxed Fine-tuning
Схема из двух предыдущих подходов даёт неплохие генерации, но они захватывают недостаточное количество деталей целевого человека. Поэтому предлагается использовать выход гиперсети как стартовые значения для матриц внимания, с последующим их дообучением через LoRA разложение (r > 1).
Достаточно 40 итераций (~20-30 секунд) дообучения для получения качественных результатов. Это в разы быстрее всех предыдущих методов персонализации.
🔥10
ML — это ОК
🦙🌴Пока люди (наверное, они биологи?) пытаются решить, что круче — лама или пальма, мы продолжаем обсуждать действительно важные вещи: заведение нейросетевых рекомендеров в продакшен. На ридинг-группе 27 июля в 17.00 МСК обсудим модель DLRM и её реализацию…
Ждём через пару минут на ридинг группе по ссылке
Media is too big
VIEW IN TELEGRAM
В этом разборе мы рассмотрели нейронный рекомендер DLRM, фреймворк для рекомендательных систем с различными низкоуровневыми оптимизациями TorchRec, а также обсудили возможные пути улучшения существующих подходов с помощью Online Learning.
🔥11