Генеративные модели в машинном обучении (ИИ 2024) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (final UPD)
 
(не показано 14 промежуточных версии 2 участников)
Строка 48: Строка 48:
 
|-
 
|-
  
| style="background:#eaecf0;" | '''2''' || Архитектуры трансформеров || [https://stepik.org/lesson/1322959 Модули 10, 11 и 12 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-2.ipynb Тетрадка], [https://colab.research.google.com/drive/1QoNg4aUmyEVkzoIWF6pFg3nJk9liIiGi?usp=sharing#scrollTo=JJbWPWj94LOP Colab] || [https://d2l.ai/chapter_attention-mechanisms-and-transformers/large-pretraining-transformers.html Кратко про BERT, GPT и T5 модели]; [https://jalammar.github.io/illustrated-bert/ The Illustrated BERT, ELMo, and co.];
+
| style="background:#eaecf0;" | '''2''' || Архитектуры трансформеров || [https://stepik.org/lesson/1322959 Модули 10, 11 и 12 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-2.ipynb Тетрадка], [https://colab.research.google.com/drive/1QoNg4aUmyEVkzoIWF6pFg3nJk9liIiGi?usp=sharing#scrollTo=JJbWPWj94LOP Colab], [https://vk.com/video-227011779_456239041 Запись продвинутая] || [https://d2l.ai/chapter_attention-mechanisms-and-transformers/large-pretraining-transformers.html Кратко про BERT, GPT и T5 модели]; [https://jalammar.github.io/illustrated-bert/ The Illustrated BERT, ELMo, and co.];
 
|-
 
|-
  
| style="background:#eaecf0;" | '''3''' || Генеративно-состязательные сети (GANs) || [https://stepik.org/lesson/1366010 Модули 14.1 и 15.1 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture03-gan.pdf Слайды], [https://vk.com/video-227011779_456239057 Лекция], [https://vk.com/video-227011779_456239059 Семинар]|| [https://www.youtube.com/watch?v=XvnC9B_hNt0 Лекция ПЗАД по GAN] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture01-gan.pdf слайды];  
+
| style="background:#eaecf0;" | '''3''' || Генеративно-состязательные сети (GANs) || [https://stepik.org/lesson/1366010 Модули 14.1 и 15.1 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture03-gan.pdf Слайды], [https://vk.com/video-227011779_456239057 Лекция], [https://vk.com/video-227011779_456239059 Семинар], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-3-gans.ipynb Ноутбук]|| [https://www.youtube.com/watch?v=XvnC9B_hNt0 Лекция ПЗАД по GAN] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture01-gan.pdf слайды]; [https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html туториал по DCGAN] от torch; [https://proceedings.neurips.cc/paper_files/paper/2014/file/5ca3e9b122f61f8f06494c97b1afccf3-Paper.pdf оригинальная статья Яна Гудфеллоу]; [https://neerc.ifmo.ru/wiki/index.php?title=Generative_Adversarial_Nets_(GAN) Wiki ИТМО]; [https://education.yandex.ru/handbook/ml/article/generativno-sostyazatelnye-seti-(gan) глава из учебника Яндекса]
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' || Вариационные автокодировщики (VAEs) и нормализующие потоки (Normalizing Flows) || [https://stepik.org/lesson/1366006 Модули 14 и 15.3 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture04-nf.pdf Слайды] || [https://www.youtube.com/watch?v=aj1U36E_RZE&list=PLEwK9wdS5g0rLIiFuHwUuDuWKupHQrVJf&index=3 Лекция ПЗАД по NF] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture02-nf.pdf слайды];
+
| style="background:#eaecf0;" | '''4''' || Вариационные автокодировщики (VAEs) и нормализующие потоки (Normalizing Flows) || [https://stepik.org/lesson/1366006 Модули 14 и 15.3 на Stepik] || [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture04-nf.pdf Слайды], [https://vk.com/video-227011779_456239066 Запись лекции], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-4-autoencoders.ipynb Семинарский ноутбук], [https://vk.com/video-227011779_456239072 Запись семинара] || [https://www.youtube.com/watch?v=aj1U36E_RZE&list=PLEwK9wdS5g0rLIiFuHwUuDuWKupHQrVJf&index=3 Лекция ПЗАД по NF] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture02-nf.pdf слайды]; [https://education.yandex.ru/handbook/ml/article/variational-autoencoder-(vae) глава учебника Яндекса про VAE], [https://www.youtube.com/watch?v=x6T1zMSE4Ts обзор] NVAE, [https://github.com/NVlabs/NVAE реализация] NVAE, [https://github.com/NVlabs/NVAE реализация] VAE на Habr; [https://education.yandex.ru/handbook/ml/article/normalizuyushie-potoki глава учебника Яндекса по NF], [https://lilianweng.github.io/posts/2018-10-13-flow-models/ заметки] о различных архитектурах NF, [https://github.com/VincentStimper/normalizing-flows репозиторий] с реализациями архитектур NF
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' || Диффузионные модели || [https://stepik.org/lesson/1366010 Модуль 15 на Stepik] || - || [https://www.youtube.com/watch?v=z7QH-WWHmfE&list=PLEwK9wdS5g0rLIiFuHwUuDuWKupHQrVJf&index=4 Лекция ПЗАД по диффузиям] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture03-diffusion.pdf слайды];
+
| style="background:#eaecf0;" | '''5''' || Диффузионные модели || [https://stepik.org/lesson/1366010 Модуль 15 на Stepik] || [https://vk.com/video-227011779_456239070 Запись лекции], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture05-diff.pdf Слайды], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-5.ipynb Тетрадка с семинара], [https://vk.com/video-227011779_456239088 Запись семинара] || [https://www.youtube.com/watch?v=z7QH-WWHmfE&list=PLEwK9wdS5g0rLIiFuHwUuDuWKupHQrVJf&index=4 Лекция ПЗАД по диффузиям] и [https://github.com/hse-ds/iad-applied-ds/blob/master/2023/lectures/lecture03-diffusion.pdf слайды]; [https://education.yandex.ru/handbook/ml/article/diffuzionnye-modeli глава в учебнике Яндекса], [https://huggingface.co/learn/diffusion-course/unit0/1 курс] HuggingFace, [https://lilianweng.github.io/posts/2024-04-12-diffusion-video/ заметки] о генерации видео, [https://habr.com/ru/companies/yandex/articles/839580/ описание] создания e2e модели генерации видео от Яндекса, [https://github.com/diff-usion/Awesome-Diffusion-Models репозиторий] с материалами по диффузиям
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' || Мультимодальные модели || [https://stepik.org/lesson/1366010 Модуль 15 на Stepik] || - || -
+
| style="background:#eaecf0;" | '''6''' || Мультимодальные модели || [https://stepik.org/lesson/1366010 Модуль 15 на Stepik] || [https://vk.com/video-227011779_456239085 Запись лекции], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture06-multi.pdf Слайды], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar-6.ipynb Семинарский ноутбук], [https://vk.com/video-227011779_456239100 Запись семинара] || [https://www.youtube.com/watch?v=hH8dcl62XsY&t=2860s&ab_channel=siberai семинар от Сбера] про различные мультимодальные архитектуры, [https://openai.com/index/clip/ статья про CLIP] от OpenAI, [https://huggingface.co/docs/transformers/model_doc/vit туториал по ViT] на HuggingFace
 
|-
 
|-
| style="background:#eaecf0;" | '''7''' || Синтез речи (Text-to-Speech) || - || - || -  
+
| style="background:#eaecf0;" | '''7''' || Синтез речи (Text-to-Speech) || - || [https://vk.com/video-227011779_456239098 Запись лекции], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture07-tts.pdf Слайды], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar_7.ipynb Семинарский ноутбук], [https://vk.com/video-227011779_456239129 Запись семинара] || [https://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B8%D0%BD%D1%82%D0%B5%D0%B7_%D1%80%D0%B5%D1%87%D0%B8 Wiki ИТМО], [https://huggingface.co/learn/audio-course/ru/chapter6/pre-trained_models туториал HuggingFace], [https://developers.sber.ru/help/salutespeech/creating-audio-from-text верхнеуровневый обзор] технологий синтеза речи от Sber, [https://github.com/markovka17/dla/tree/2023 репозиторий курса DLA]
 
|-
 
|-
| style="background:#eaecf0;" | '''8''' || Оптимизация моделей || [https://stepik.org/lesson/1366014 Модуль 16 на Stepik] || - || -  
+
| style="background:#eaecf0;" | '''8''' || Оптимизация моделей || [https://stepik.org/lesson/1366014 Модуль 16 на Stepik] || [https://vk.com/video-227011779_456239111 Запись лекции], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/lectures/lecture08-opt.pdf Слайды], [https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/seminars/Seminar_8.ipynb Семинарский ноутбук], [https://vk.com/video-227011779_456239129 Запись семинара] || [https://education.yandex.ru/handbook/ml/article/distillyaciya-znanij Про дистилляцию знаний], [https://habr.com/ru/companies/yandex/articles/800945/ Про квантизацию] (Хабр), [https://pytorch.org/tutorials/intermediate/pruning_tutorial.html Про pruning] (pytorch) и [https://education.yandex.ru/handbook/ml/article/kak-ocenivat-veroyatnosti калибровку]
 
|}
 
|}
 +
 +
 +
====Конусльтации====
 +
1. ДЗ-1 (Глеб Ершов): https://vk.com/video-227011779_456239083
  
 
==Формула оценивания ==
 
==Формула оценивания ==
Строка 88: Строка 92:
  
 
== Домашние задания ==
 
== Домашние задания ==
Инвайт в Anytask: <code>qR6fkx0</code>
+
Инвайт в Anytask: <code>uupDuUn</code>
  
 
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
 
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
Строка 101: Строка 105:
 
'''Ссылка''': https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/homeworks/homework_1.ipynb
 
'''Ссылка''': https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/homeworks/homework_1.ipynb
  
== Тесты и неоцениваемые теоретические ДЗ ==
+
 
 +
===Задание 2. Генерация параметров кластеров на изображениях для частиц: cWGAN, cVAE===
 +
Ваша задача заключается в том, чтобы с помощью генеративно-состязательных сетей научиться генерировать параметры кластеров на изображениях телескопа для каждого типа частиц (фотона или адрона)
 +
 
 +
'''Мягкий дедлайн''': <strike>09 октября (Ср.)</strike> 11 октября (Пт.) 2024 года, 23:59
 +
 
 +
'''Дедлайн''': <strike>13 октября (Вс.)</strike> 15 октября (Вт.) 2024 года, 23:59
 +
 
 +
'''Ссылка''': https://github.com/hushchyn-mikhail/gen_models_ai_hse/tree/main/2024/homeworks/hw2
 +
 
 +
 
 +
 
 +
===Задание 3. Генерация параметров кластеров на изображениях для частиц: диффузия, нормпотоки===
 +
Ваша задача заключается в том, чтобы с помощью диффузии и нормпотоков научиться генерировать параметры кластеров на изображениях телескопа для каждого типа частиц (фотона или адрона)
 +
 
 +
'''Мягкий дедлайн''': 19 октября (Сб.) 2024 года, 23:59
 +
 
 +
'''Дедлайн''': 22 октября (Вт.) 2024 года, 23:59
 +
 
 +
'''Ссылка''': https://github.com/hushchyn-mikhail/gen_models_ai_hse/tree/main/2024/homeworks/hw3
 +
 
 +
== Тесты ==
  
 
# "Attention, Transformers": [https://forms.gle/4HU7qXwKqq4HY2y87 ссылка], '''дедлайн''' -- 25.09 (Ср.), 23:59 МСК
 
# "Attention, Transformers": [https://forms.gle/4HU7qXwKqq4HY2y87 ссылка], '''дедлайн''' -- 25.09 (Ср.), 23:59 МСК
#
+
# "Классические генеративные модели: GAN, (V)AE, Normalizing Flows, Diffusion": [https://docs.google.com/forms/d/e/1FAIpQLScDNMeJYjoAoSuJqsusfYWhIagK6pHKOEt13A0A0QiaYiQvEw/viewform?usp=sf_link ссылка], '''дедлайн''' -- 07.10.24 (Пн.), 23:59
#
+
# "Мультимодальность, TTS, оптимизация инференса": [https://docs.google.com/forms/d/e/1FAIpQLSe3_NoKCdSrT1wMrG-wK2QN09c_gpSN_tAOCuD-rsRTRUJLow/viewform?usp=sf_link ссылка], '''дедлайн''' -- 21.10.24 (Пн.), 23:59
 +
 
 +
===Тренировочные тесты (неоцениваемые)===
 +
 
 +
* [https://docs.google.com/forms/d/e/1FAIpQLSc84GpwbKnl9PHsk8fKKPzmvP72VUJ3MskcmL_hf2y4_PDuUQ/viewform?usp=sf_link "Transformers, GANs, VAEs, NFs, Diffusion"]
  
 
== Экзамен ==
 
== Экзамен ==
...
+
Вопросы к экзамену: [https://docs.google.com/document/d/1eEiKyTDuHl-skvNfr-TGyryiMCA7ru9b4jwK0EV97OQ/edit?usp=sharing Google Doc]
 +
 
 +
Пробный вариант: [https://t.me/c/2219793815/4/2131 ссылка на сообщение с pdf в чате курса]
 +
 
 +
<br/>
 +
Пройдет 23.10 (Ср.) в 19:00
 +
<br/>
 +
На написание 80 мин. (одна пара), 10 мин. на загрузку заданий в Энитаск
 +
<br/>
 +
В Зуме нужно будет включить веб-камеру, выключить микрофон и запустить демонстрацию экрана.
 +
<br/>
 +
За написанием будут следить преподаватели и ассистенты
 +
<br/>
 +
От 4-х до 6-ти задач на разное количество баллов (в сумме -- 10)
  
 
== Литература ==
 
== Литература ==

Текущая версия на 07:20, 4 ноября 2024

О курсе

Курс читается на первом модуле студентам магистерской образовательной программы "Искусственный интеллект".

Канал и чат курса в ТГ: Чат

Группа Преподаватели Zoom Время
Базовая Ершов Глеб Zoom суббота 13:00 + вторник 17.09 18:10
Продвинутая Гущин Михаил Zoom четверг 18:10 + среда 25.09 18:10
Ассистенты
Прохоров Савелий
Охотин Даниил
Никифорова Соня-Аня
Кураторы
Залесинский Роман
Зуев Гордей

Материалы курса

Ссылка на плейлист курса на VK: VK-playlist

Ссылка на GitHub с материалами курса: GitHub

Ссылка на stepik: Stepik

Занятие Тема Материалы для самоподготовки к семинарам Материалы семинаров Дополнительные материалы
1 Трансформеры Модули 10 и 11 на Stepik Тетрадка, Colab, Запись_продвинутая Запись лекции про Attention и трансформеры на ИАДе, Слайды к ней; Attention is All You Need; The Illustrated Transformer; Visualizing Attention, a Transformer's Heart;
2 Архитектуры трансформеров Модули 10, 11 и 12 на Stepik Тетрадка, Colab, Запись продвинутая Кратко про BERT, GPT и T5 модели; The Illustrated BERT, ELMo, and co.;
3 Генеративно-состязательные сети (GANs) Модули 14.1 и 15.1 на Stepik Слайды, Лекция, Семинар, Ноутбук Лекция ПЗАД по GAN и слайды; туториал по DCGAN от torch; оригинальная статья Яна Гудфеллоу; Wiki ИТМО; глава из учебника Яндекса
4 Вариационные автокодировщики (VAEs) и нормализующие потоки (Normalizing Flows) Модули 14 и 15.3 на Stepik Слайды, Запись лекции, Семинарский ноутбук, Запись семинара Лекция ПЗАД по NF и слайды; глава учебника Яндекса про VAE, обзор NVAE, реализация NVAE, реализация VAE на Habr; глава учебника Яндекса по NF, заметки о различных архитектурах NF, репозиторий с реализациями архитектур NF
5 Диффузионные модели Модуль 15 на Stepik Запись лекции, Слайды, Тетрадка с семинара, Запись семинара Лекция ПЗАД по диффузиям и слайды; глава в учебнике Яндекса, курс HuggingFace, заметки о генерации видео, описание создания e2e модели генерации видео от Яндекса, репозиторий с материалами по диффузиям
6 Мультимодальные модели Модуль 15 на Stepik Запись лекции, Слайды, Семинарский ноутбук, Запись семинара семинар от Сбера про различные мультимодальные архитектуры, статья про CLIP от OpenAI, туториал по ViT на HuggingFace
7 Синтез речи (Text-to-Speech) - Запись лекции, Слайды, Семинарский ноутбук, Запись семинара Wiki ИТМО, туториал HuggingFace, верхнеуровневый обзор технологий синтеза речи от Sber, репозиторий курса DLA
8 Оптимизация моделей Модуль 16 на Stepik Запись лекции, Слайды, Семинарский ноутбук, Запись семинара Про дистилляцию знаний, Про квантизацию (Хабр), Про pruning (pytorch) и калибровку


Конусльтации

1. ДЗ-1 (Глеб Ершов): https://vk.com/video-227011779_456239083

Формула оценивания

Общая оценка: 0.5*ДЗ + 0.15*Тесты + 0.25*Экз. + 0.1*Stepik

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

Stepik

В оценку за Stepik идут только следующие модули:

Важно: Части степика с домашними заданиями делать не нужно (15.4, например). Но нужно ответить на квизы в других его частях (15.1, например).


Домашние задания

Инвайт в Anytask: uupDuUn

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.

Задание 1. Трансформеры

В этой домашней работе вам предстоит добавить к BERT'у декодерную часть и решить задачу генерации суммаризаций для текстов новостей на русском языке.

Мягкий дедлайн: 01 октября 2024 года 23:59

Дедлайн: 05 октября 2024 года 23:59

Ссылка: https://github.com/hushchyn-mikhail/gen_models_ai_hse/blob/main/2024/homeworks/homework_1.ipynb


Задание 2. Генерация параметров кластеров на изображениях для частиц: cWGAN, cVAE

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

Мягкий дедлайн: 09 октября (Ср.) 11 октября (Пт.) 2024 года, 23:59

Дедлайн: 13 октября (Вс.) 15 октября (Вт.) 2024 года, 23:59

Ссылка: https://github.com/hushchyn-mikhail/gen_models_ai_hse/tree/main/2024/homeworks/hw2


Задание 3. Генерация параметров кластеров на изображениях для частиц: диффузия, нормпотоки

Ваша задача заключается в том, чтобы с помощью диффузии и нормпотоков научиться генерировать параметры кластеров на изображениях телескопа для каждого типа частиц (фотона или адрона)

Мягкий дедлайн: 19 октября (Сб.) 2024 года, 23:59

Дедлайн: 22 октября (Вт.) 2024 года, 23:59

Ссылка: https://github.com/hushchyn-mikhail/gen_models_ai_hse/tree/main/2024/homeworks/hw3

Тесты

  1. "Attention, Transformers": ссылка, дедлайн -- 25.09 (Ср.), 23:59 МСК
  2. "Классические генеративные модели: GAN, (V)AE, Normalizing Flows, Diffusion": ссылка, дедлайн -- 07.10.24 (Пн.), 23:59
  3. "Мультимодальность, TTS, оптимизация инференса": ссылка, дедлайн -- 21.10.24 (Пн.), 23:59

Тренировочные тесты (неоцениваемые)

Экзамен

Вопросы к экзамену: Google Doc

Пробный вариант: ссылка на сообщение с pdf в чате курса


Пройдет 23.10 (Ср.) в 19:00
На написание 80 мин. (одна пара), 10 мин. на загрузку заданий в Энитаск
В Зуме нужно будет включить веб-камеру, выключить микрофон и запустить демонстрацию экрана.
За написанием будут следить преподаватели и ассистенты
От 4-х до 6-ти задач на разное количество баллов (в сумме -- 10)

Литература

Курсы по машинному обучению и анализу данных

Книги