DLStories

@dl_stories


Новинки искусственного интеллекта и нейронных сетей. Разборы статей.
Ну а вообще, посчу, что захочу :)

Сотрудничество/предложения: @atmyre

Поддержать: https://t.me/dl_stories/521

DLStories

10 Oct, 15:54


А тем временем вышел новый эпизод подкаста Deep Learning Stories!

Гость эпизода — Михаил Васильев, — deep learning engineer, который начал свой путь в IT и ML после 35 лет. Начинал Михаил с курсов Яндекс.Практикума и нашей Deep Learning School, а сейчас он еще организатор одного из сообществ выпускников Практикума.

О чем поговорили с Михаилом:
- путь в IT после 35: какие сложности и вызовы ждали на пути;
- впечатления и польза от курсов. Важность коммьюнити и поддержки;
- как искать работу после курсов;
- как Михаил создавал сообщество выпускников и зачем.

Слушать:
🔊YouTube
🔊VK
🔊Apple Podcasts
🔊Spotify
🔊Яндекс.Музыка

------------------
Школа DLSchool и подкаст живут во многом благодаря вашей поддержке. Поддержать нас можно на Boosty, мы будем очень рады❤️

DLStories

09 Oct, 18:04


Наша с коллегами статья "Boundary detection in mixed AI-human texts" получила outstanding paper award на COLM! (на который, как помните, никто из нас не поехал из-за визовых трудностей в US ¯\_(ツ)_/¯)

Поздравляю коллег! По такому поводу Лаида (первый автор статьи) написала у себя в канале серию постов про то, как эта статья создавалась. История нескучная, там есть надежды, разочарования, падения и взлеты :)

Ну и ссылки ещё раз:
📃Статья
👨‍💻Код на GitHub (будем рады звездочкам🌝)

DLStories

03 Oct, 20:00


Это я и мой научник по PhD с моим постером сегодня утром на ECCV. Это был мой первый раз, было прикольно. Приходилось говорить нон-стоп, потому что люди подходили один за другим, и в какой-то момент я даже не могла больше говорить из-за пересушенного горла)

Очень жду ещё конференций и презентации своих работ там🙃

DLStories

02 Oct, 21:43


В преддверии завтрашней презентации своей статьи на ECCV-2024 накатала подробный пост о том, про что статья. Кратко — о новом способе использовать CLIP guidance для обучения модели image enhancement. Если будут вопросы по статье, спрашивайте в комментариях!

А если вы на ECCV, то приходите завтра в утреннюю постер-сессию к стенду #103, буду очень рада =)

DLStories

02 Oct, 14:18


По поводу межнара по AI (IOAI) на следующий год: в следующем году отбор и подготовка к нему будет идти более структурированно и продуманно. А отвечать за все будет Саша Гущин. И он просил передать, что один из вариантов отобраться в сборную в следующем году — попасть на всерос по AI (да, оказывается, такой есть). Регистрация на всерос открыта ещё 4 дня, так что заполняйте заявку, если ещё не.

DLStories

01 Oct, 10:36


А ещё с сегодняшнего дня я на ECCV в Милане. Если вы тоже тут и хотите встретиться, пишите!

Послезавтра (3.10) на утренней постерной сессии буду презентовать свою статью. Приходите! Ближе к делу ещё напишу о статье :)

DLStories

30 Sep, 10:08


Помните, писала, что у нас с коллегами приняли статью на COLM, но конференция в США и ни у кого из нас нет виз? Так вот, конференция 7-9 октября в Филадельфии, и мы все еще в поисках человека, который мог бы туда поехать и презентовать нашу статью😢

В том посте я писала, что нужно будет постоять рядом с нашим постером. Но теперь все немного сложнее: наша статья попала на oral (spotlight). То есть, нужно будет выйти зачитать доклад по нашей статье на 12 минут🌝 Текст и презентация доклада будут готовы.

Поэтому если вдруг вы или ваши коллеги едут на COLM, и готовы с этим нам помочь, напишите, пожалуйста, Лаиде. Вы очень-очень нам поможете!
(Я помню, что под предыдущим постом были люди, готовые помочь. Спасибо вам большое, что тогда откликнулись! Если вы все еще готовы помочь, будем очень рады)

DLStories

17 Sep, 15:07


А вот еще ивент для тех, кто уже немного знаком с NLP, но хочет сильнее погрузиться в эту тему с индустриальной точки зрения и порешать реальный кейс: DLS совместно с ecom.tech проводят бесплатный онлайн NLP-воркшоп.

На воркшопе вас ждет NLP-задача из индустрии в виде Kaggle-style соревнования, а также лекции и мастер-классы от специалистов ecom.tech и DLS. Авторы топ-20 решений получат призы от ecom.tech, а пятёрка лучших сможет лично встретиться со специалистами ML-команды и разобрать своё решение в индивидуальном порядке.

Воркшоп пройдет с 19 сентября по 9 октября. Регистрация открыта до 24 сентября.
Подробная информация и регистрация на интенсив — на сайте DLS (сразу под главным баннером)
После регистрации на интенсив также вступайте в тг-чат

DLStories

16 Sep, 11:14


Мы наконец открыли набор на осенний семестр Deep Learning School!

DLschool — это школа при ФПМИ МФТИ, где мы учим нейронным сетям с самых азов до продвинутого уровня. Полный курс состоит из двух частей, каждая из которых длится полгода.
- Первая часть посвящена введению в нейросети и компьютерному зрению. Начинаем с основ машинного обучения и нейросетей, переходим к CNN для обработки картинок, заканчиваем переносом стиля изображений и ГАНами. В этом семестре мы улучшили многие занятия, записали новые версии лекций и семинаров и обновили домашки.
- Вторая часть полностью посвящена обработке естественного языка (NLP). Начинаем с эмбеддингов слов и заканчиваем GPT-2,3, RLHF, RAG и другими актуальными темами вокруг LLM.

Сейчас идет набор на оба потока обучения — часть 1 (введение в DL + CV) и часть 2 (NLP).

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

Преподаватели школы — ведущие специалисты российских и зарубежных IT-компаний и научные сотрудники исследовательских лабораторий. Среди них — я (Таня), буду вести у вас несколько лекций в обеих частях курса.

Школа бесплатная. Полностью онлайн: учиться можно из любой точки мира, где есть интернет. Занятия проходят раз в неделю — лекция, семинар и домашнее задание. Обучение проходит на платформе Stepik. Берем всех, отбора нет.

❗️Для первой чати курса также есть возможность приобрести дополнительный пакет, в который входит индивидуальная поддержка от менторов и преподавателей в прохождении курса, а также дополнительные вебинары. Подробнее о нем читайте на нашем сайте.

Старт обучения — 21 сентября. В этот день откроется первое занятие и будет живой вводный вебинар.

Чтобы зарегистрироваться на курс, нажмите на кнопку "поступить" на нашем сайте.

Ссылки:
Наш сайт
Подробная программа и оргинформация обоих частей курса
Ответы на часто задаваемые вопросы (F.A.Q)
Наш YouTube (тут видео всех лекций и семинаров школы, а также открытые лекции и интервью)
Наша группа VK
🧡 Поддержать нашу школу на Boosty

Если остались вопросы, пишите нам на почту ([email protected]) или в комментарии под этим постом.

Ждём вас в чатике курса в новом семестре!

DLStories

16 Aug, 10:49


По итогу IOAI хочу собрать статейку о том, как была устроена олимпиада и какие там были задачи и их решения. Но пока что я этого не сделала, а вот один из авторов задач (да, правда автор задачи на межнар!) про свою задачу уже статью написал.

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

DLStories

14 Aug, 14:08


Закрытие и награждение теперь по этой сслыке, начинается сейчас: https://youtu.be/ni_rah3dfIw

DLStories

14 Aug, 10:01


Помните, рассказывала, что помогаю готовить школьников к межнару по AI? Так вот, финальный тур прошел 11 числа, и наши дети взяли первое место! Причем с огромным отрывом от второго =)

Через пару часов будет награждение, прямая трансляция будет тут.
А вот видео с представлением команды еще до олимпиады.

Какие они классные, очень за них рада ☺️

P.S. Про задачи напишу как только их выложат в открытый доступ. Пока что кратко про олимпиаду и задачи можно прочитать в канале у Саши Гущина (тоже один из тренеров сборной).

DLStories

08 Aug, 11:29


Ребята из DevCrowd попросили рассказать об их исследовании специалистов DS/ML/AI. Это масштабное исследование на следующие темы:
- что входит в обязанности той или иной профессии;
- какие навыки в профессии наиболее важны и каких знаний не хватает;
- сколько зарабатывают специалисты в зависимости от опыта и грейда;
- полезные для развития каналы, курсы и книги;

Проходите опрос, рассказывайте про ваш опыт и помогите сделать исследование более масштабным! А результаты появятся в открытом доступе в конце сентября. Это поможет вам сравнить свои ожидания с рыночными, построить план своего развития, и просто понять, что происходит с индустрией.

➡️Пройти опрос
А тут можно посмотреть другие исследования проекта

DLStories

07 Aug, 20:09


Общие выводы работы из поста выше получаются такие:

Для language structures:
- LLMs выучивают структуры довольно сложных иерархических грамматик, и некоторые виды attention (relative/rotary) очень важны для этого умения;
- принцип, которым LLM обрабатывает последовательность грамматики, подобен динамическому программированию;
- выбросы и шумы в обучающих данных очень важны для повышения робастности модели.

Для reasoning авторы собрали синтетический датасет задач по математике, обучили на этом модель и получилось вот что:
- есть некоторые свидетельства того, что LLM таки не просто запоминает тренировочные примеры, но действительно учится рассуждениям и логическим выводам;
- обнаружили, что часто модель научается находить в данных такие зависимости, которые даже не нужны для решения этих задач. То есть, происходит генерализация: модель выучивает навыки, которые в принципе для хорошего результата на датасете не нужны. Как пишут авторы, "это небольшой сигнал о том, откуда может взяться буква 'G' в слове AGI";
- простой linear probing внутренних представлений модели может показать, когда модель ошибается. И ошибки можно детектировать в процессе работы модели, то есть даже до того, как модель начнет генерировать текст ответа;
- глубина (но не общий размер) модели влияет на способность LLM к reasoning. Модель с 16 слоями размерности 567 научается решать гораздо более сложные задачи, чем 4-слойная модель со слоями размерности 1970. Несмотря на то, что у 4-слойной модели в целом параметров больше;
- опять же, шумы и ошибки в обучающих данных помогают модели учиться лучше.

Knowledge: здесь авторы изучают то, как LLM запоминают факты во время обучения и потом извлекают их во время инференса для ответов на вопросы. Выводы такие:
- интересно, но если обучать LLM на смеси "тексты с фактами" + "вопрос-ответ", то LLM хорошо генерализуется. То есть, хорошо научается отвечать на вопросы про объекты, которых не было среди обучающих текстов. А вот если сначала обучить LLM на текстах с фактами, а потом дообучить на парах вопрос-ответ, такой генерализации не происходит. Похоже, говорят авторы, разнообразие данных при предобучении сильно влияет на итоговую генерализацию модели;
- при двух типах обучения, описанных выше, знания внутри модели получаются закодированы по-разному. Это влияет на способность LLM выделять нужные знания из своих внутренних представлений при ответе на вопрос;
- такая генерализация наблюдается у decoder моделей типа GPT-2, но не у encoder-моделей типа BERT;
- можно выделить некоторые типичные фейлы LLM. Например, LLM хорошо отвечают на вопросы типа "когда родился Вася", но не умеют отвечать на "обратные вопросы" вида "кто родился 05.11.1996?". Или не могут вывести строчку "четный год", не напечатав "1996". На основе таких примеров авторы предлагают собрать "универсальный тест Тьюринга", который пока не проходит ни одна LLM, даже GPT-4.

Ох сколько интересного чтения предстоит =)

DLStories

07 Aug, 20:08


Очень классный туториал с недавнего ICML: Physics of Language Models.

Я бы даже сказала, что это не туториал, а довольно большая работа по LLM explainability. Конкретнее, авторы хотят приблизиться к ответу на вопросы "где находится и как устроен intelligence у LLM" и "что делать, чтобы intelligence усилить, т.е. подойти ближе к AGI".

Подход у них довольно интересный. Авторы делят intelligence на три категории:
- Language structures. Это о том, как LLM выучивает сложную структуру языка. Т.е. какие механизмы в этом задействованы и как идейно происходит обработка текста;
- Reasoning. Это про способность LLM к рассуждениям, выводам и аргументации;
- Knowledge. Как устроено хранение информации в LLM, как ей манипулировать и как объем информации, которую вмещает LLM, зависит от количества ее параметров.

Изучать это все предлагают следующим образом: давайте для каждой категории сгенерируем синтетические данные с заранее известными свойствами, на которых будем обучать LLM и смотреть, как LLM эти свойства выучивает. К примеру, для language structures авторы предложили сгенерировать датасет семейства контекстно-свободных грамматик со сложной структурой (более сложной, чем у обычных английских текстов). Обучая модель на таких данных авторы смотрят на то, что происходит внутри модели (например, какие паттерны attention активируются) и делают выводы о том, каким образом, каким алгоритмом LLM обрабатывает язык.

В посте ниже опишу общие выводы, которые авторы делают из своей работы. А вот ссылки на видео/статьи туториала:
Сайт
Part 1: Hierarchical Language Structures:
- Видео;
- Статья на arxiv;
Part 2: Grade-School Math:
- Видео будет тут после 20 августа;
- Статьи на arxiv: часть 1, часть 2 обещают вот-вот;
Part 3: Knowledge:
- Видео;
- Статьи на arxiv: часть 1, часть 2, часть 3

DLStories

04 Aug, 11:34


Тут такое дело — мы в DLS выпустили мерч, худи и футболочки!
Изначально они выдавались в качестве призов призерам олимпиады (и мне за хорошую работу, хехе), но теперь их можно купить!

Фотки мерча и купить туть

А я жду, пока мне мои экземпляры кто-то из России привезет 🙃

DLStories

01 Aug, 16:24


Я тут недавно перед одним интервью на стажировку решила-таки немножко заботать тему inference-time ускорения и сжатия больших моделей. В конце концов, модельки становятся все больше, требуют все больше памяти и времени для работы. Именно поэтому тема ускорения и сжатия сейчас очень на слуху — хочется понимать, что там в целом происходит.

Так вот, разных подходов к ускорению/сжатию моделей, конечно, очень много. Некоторые из них используют особенности железа (строения CPU/GPU), модифицируя некоторые операции внутри моделей так, чтобы они выполнялись как можно эффективнее на конкретном железе. Примеры таких подходов — FlashAttention и Mamba. Есть и другие подходы, которые работают с самой моделькой, стараясь добиться эффективного сжатия/ускорения вне зависимости от железа. И вот тут становится интересно, тут часто возникает красивая математика. И вот на прошлой неделе на ICML 2024 представили одну такую работу от исследователей Yandex Research и IST Austria по сжатию LLM с красивой математикой и довольно внушительными результатами.

Статья называется Extreme Compression of Large Language Models via Additive Quantization. Это метод экстремального сжатия LLM (до 2-3 бита на параметр!), который при этом сохраняет в среднем 95% качества. Метрики в статье репортят на LLama 2 и Mixtral, плюс на HF уже выложили много разных вариантов моделек, квантизованных с помощью метода.

Общая идея такая: авторы адаптируют для LLM технику квантизации Additive Quantization (AQ), которая изначально была предложена для экстремального сжатия многомерных векторов с сохранением метрики расстояния между ними. Transformer-based LLM обычно состоит из блоков вида Multi-Head Attention+MLP. Параметры Attention — обучаемые матрицы W_Q, W_K, W_V, параметры MLP слоя — также обучаемые матрицы W и b. Вот эти все матрицы мы и будем квантизовать с помощью Additive Quantization. При этом нам важно, чтобы квантизованные матрицы сохранили dot product similarity, и в этом как раз преимущество метода AQ — он позволяет сохранять метрики.

AQ работает так: делит матрицы на части по p последовательных строк, и каждая часть затем представляется в виде суммы M векторов, взятых из предварительно обученных M кодовых книг (codebooks). Вот в том, как обучаются codebooks и как из них затем выбираются векторы для представления частей матрицы, и кроется красивая математика) Я пока в ней разобралась не до конца, для меня это прям отдельная новая тема сжатия информации, и надо в нее чуть закопаться.
Скажу только, что сама идея обучать codebooks для представления весов модельки не нова. Для сжатия трансформеров похожее предлагали в этой статье, например. Но разница в том, как именно обучать эти codebooks, — в этом и состоит главное преимущество Additive Quantization.

Теперь: если просто взять и квантизовать таким образом все матрицы всех слоев модели, то получится плохо. Любая квантизация вносит ошибку в модель, и все ошибки всех слоев в сумме приведут к тому, что модель станет работать плохо. Поэтому давайте делать так: во-первых, будем квантизовать блоки модели по очереди. А внутри каждого блока сначала квантизуем все матрицы, а затем пару итераций дообучим оставшиеся параметры блока так, чтобы выход блока на входные данные был как можно ближе к изначальному. Т.е. это этап коррекции той ошибки, которую внесла квантизация.

Как-то так. Для меня статья получилась хорошим стартом в область сжатия моделек. Буду рада советам о том, что еще надо обязательно почитать, чтобы примерно понимать, что происходит в этой теме (я просто вообще-вообще раньше этим не интересовалась)

Ссылки:
✔️Статья
✔️Код на GitHub
✔️Квантизованные модельки на HF
✔️Статья на Хабре

DLStories

30 Jul, 15:41


Теперь про AlphaGeometry2. Это улучшение первой версии AlphaGeometry, но основная идея их работы одинаковая. AlphaGeometry состоит из двух частей: symbolic deduction engine (SDE) и LLM. Решение задачи происходит так: сначала в модель подаются все вводные по задаче (дан треугольник такой-то, этот угол такой-то), и symbolic deduction engine на основе этих данных генерирует все возможные выводы. Например, если из вводных данных можно исходя из геометрических правил понять, что ∠ABC=60°, то SDE это выведет. SDE — это не обучаемая штука, она оперирует правилами геометрии и при работе строит граф выводов.

Однако одной SDE для решения сложных задач часто не хватает. Чтобы решить олимпиадные задачи по геометрии, часто в них нужно генерировать новые сущности. Например, сделать что-то вида "давайте обозначим середину отрезка AB через D и проведем прямую CD, тогда ∠ACD=40° и отсюда получим, что...". Чтобы научить AlphaGeometry так делать, авторы взяли LLM и учили ее на основе имеющейся инфы о задаче генерировать подобные идеи.

В итоге процесс работы AlphaGeometry выглядит так:
1. SDE выводит все возможные утверждения, пока они не закончатся или не будет найдено решение задачи;
2. Если SDE отработала и решение не найдено, LLM-часть предлагает новую сущность (типа, го поставим вот эту точку)
3. Возвращаемся в пункт 1 и продолжаем далее.
(см 1 и 2 картинку к посту для иллюстрации процесса)

LLM-часть учили на огромном количестве геом задач, многие из которых генерировали синтетически. На IMO-2024 AlphaGeometry геом в итоге решила, причем при решении тоже потребовалось обозначить новую сущность — точку E на рисунке (третья картинка к посту)

Больше про AlphaGeometry:
✔️блогпост DeepMind;
✔️статья в Nature;
✔️код на GitHub.