Автоматическая обработка текста 24/25 (МОВС23) — различия между версиями
Gazuev (обсуждение | вклад) (Создание) |
м (add deadlines for optional track and weights for hw1-3 if no exam) |
||
(не показано 18 промежуточных версии 2 участников) | |||
Строка 1: | Строка 1: | ||
==О курсе== | ==О курсе== | ||
− | + | NLP — это область искусственного интеллекта, направленная на решение задач, связанных с обработкой человеческого языка, таких как извлечение информации, машинный перевод, автоматическое суммирование и диалоговые системы. За последние годы мы увидели значительный прогресс благодаря статистическому и глубокому обучению. Демонстрация возможностей современных диалоговых систем по типу ChatGPT от OpenAI позволила нам переосмыслить перспективы NLP в повседневной жизни, что привлекло к области внимание как со стороны исследователей и инженеров, так и институциональных инвесторов, готовых финансировать бурный рост отрасли. | |
− | + | Данный курс ставит перед собой следующие цели: | |
+ | * познакомить слушателя с ключевыми направлениями современного развития области, сформировать понимание запросов, с которыми сталкиваются инженеры и исследователи в повседневной работе. | ||
− | + | * развить понимание фундаментальных концепций, необходимых для самостоятельного решения задач как прикладного, так и исследовательского характера. | |
− | + | * познакомить слушателя с инструментами, необходимыми для решения прикладных задач. | |
+ | |||
+ | Курс основан на материалах [https://github.com/yandexdataschool/nlp_course/tree/2023 Школы Анализа Данных Яндекса (ШАД)], [https://web.stanford.edu/class/cs224n/ CS224n by Stanford], а также личном опыте автора. Курс приоритезирует понимание слушателями пространства существующих на сегодня в отрасли задач и умение их решать над полнотой освещения исторически важных, однако на текущий день устаревших концепций | ||
+ | |||
+ | |||
+ | Занятия проводятся в [https://us06web.zoom.us/j/85123736103?pwd=TbFnaDOVRPyqcVof2vlGbpeub1kDw5.1 Zoom] '''по четвергам в 19:40''' | ||
+ | |||
+ | ==Контакты== | ||
− | Чат курса в TG: [ | + | Чат курса в TG: [https://t.me/+7ayE2oKTNPg3M2M6 chat link] |
− | Преподаватель: | + | Преподаватель: Хажгериев Мурат Анзорович ([https://t.me/greedisneutral @greedisneutral]) |
{| class="wikitable" | {| class="wikitable" | ||
Строка 17: | Строка 25: | ||
! Ассистент !! Контакты | ! Ассистент !! Контакты | ||
|- | |- | ||
− | | style="background:#eaecf0;" | | + | | style="background:#eaecf0;" | Соня-Аня Никифорова || [https://t.me/sonya_leaf @sonya_leaf] |
|- | |- | ||
− | | style="background:#eaecf0;" | | + | | style="background:#eaecf0;" | Стас Ивашков || [https://t.me/ps1va @ps1va] |
+ | |- | ||
+ | | style="background:#eaecf0;" | Маша Харченко || [https://t.me/mister_autocrat @mister_autocrat] | ||
+ | |- | ||
+ | | style="background:#eaecf0;" | Савелий Прохоров || [https://t.me/Savely_Prokhorov @Savely_Prokhorov] | ||
|} | |} | ||
==Материалы курса== | ==Материалы курса== | ||
− | Ссылка на плейлист курса на YouTube: [ | + | Ссылка на плейлист курса на YouTube: [https://www.youtube.com/playlist?list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4 YouTube-playlist] |
− | Ссылка на GitHub с материалами курса: [ | + | Ссылка на плейлист в VK: [https://vk.com/video/playlist/-227011779_15 VK Видео] |
+ | |||
+ | Ссылка на GitHub с материалами курса: [https://github.com/greedisneutral/NLP-course GitHub repository] | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 31: | Строка 45: | ||
! Занятие !! Тема !! Дата !! Материалы для самоподготовки к семинарам !! Дополнительные материалы | ! Занятие !! Тема !! Дата !! Материалы для самоподготовки к семинарам !! Дополнительные материалы | ||
|- | |- | ||
− | | style="background:#eaecf0;" | '''1''' [[ Запись]] || [[ | + | | style="background:#eaecf0;" | '''1''' [[https://www.youtube.com/watch?v=QSLSIiQ6Mcs&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=2&pp=iAQB Запись, YouTube]] || [[https://github.com/greedisneutral/NLP-course/blob/master/1.Embeddings/Word_Embeddings.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/1.Embeddings/NLP_seminar_week_1.ipynb Тетрадка]] Карта задач и методов NLP, эмбеддинги слов (word embeddings) || 06.11.24 (Ср.) || || |
|- | |- | ||
− | | style="background:#eaecf0;" | '''2''' [[ Запись]] || [[ | + | | style="background:#eaecf0;" | '''2''' [[https://www.youtube.com/watch?v=QjmqbOe84vY&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=1&pp=iAQB Запись, YouTube]] || [[https://github.com/greedisneutral/NLP-course/blob/master/2.Classification/Classification.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/2.Classification/NLP_seminar_week_2.ipynb Тетрадка]] Классификация текста || 14.11.24 (Чт.) || || |
|- | |- | ||
− | | style="background:#eaecf0;" | '''3''' [[ Запись]] || [[ | + | | style="background:#eaecf0;" | '''3''' [[https://www.youtube.com/watch?v=q9EUpCF97VI&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=3&pp=iAQB Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/3.Seq2seq/seq2seq_attention.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/3.Seq2seq/NLP_seminar_week_3.ipynb Тетрадка], [https://github.com/greedisneutral/NLP-course/blob/master/3.Seq2seq/seq2seq_attention_whiteboard.pdf Доска]] Seq2seq, Трансформер и механим внимания || 21.11.24 (Чт.) || || [https://colah.github.io/posts/2015-08-Understanding-LSTMs/ Ссылка] на качественное объяснение того, как работает LSTM (да и RNN вообще) |
|- | |- | ||
− | | style="background:#eaecf0;" | '''4''' [[ Запись]] || [[ Ноутбук]] || ... | + | | style="background:#eaecf0;" | '''4''' [[https://www.youtube.com/watch?v=RFdDgHDiKMs&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=4&pp=iAQB Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/4.Transformers/Transformers.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/4.Transformers/HSE_NLP_seminar_4.ipynb Ноутбук]] Transfer learning: BERT, ELMO, GPT || 28.11.24 (Чт.) || |
− | + | Замечательный [https://jalammar.github.io/illustrated-transformer/ разбор] архитектуры от Джея Аламмара | |
− | + | ||
+ | Прекрасный [https://lena-voita.github.io/nlp_course/seq2seq_and_attention.html разбор] от Лены Войты в рамках NLP Course | For You | ||
+ | |||
+ | Уже ставшая бородатой [https://arxiv.org/abs/1706.03762 оригинальная статья] Attention is all you need | ||
+ | || | ||
|- | |- | ||
− | | style="background:#eaecf0;" | ''' | + | | style="background:#eaecf0;" | '''5''' [[https://www.youtube.com/watch?v=Mi21czVUyCo&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=5&pp=iAQB Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/5.Pretrain_finetune/Pretrain_finetune_slides.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/5.Pretrain_finetune/Pretrain_finetune_whiteboard.pdf Доска]] Обучение Больших языковых моделей (Large Language Models): Обучение с нуля vs Тонкая настройка (finetuning) || 12.12.24 (Чт.) || || |
|- | |- | ||
− | | | + | | style="background:#eaecf0;" | '''6''' [[https://www.youtube.com/watch?v=C5HRjlQLMBM&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=6&pp=iAQB Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/6.RLHF/RLHF_slides.pdf Слайды], [https://github.com/greedisneutral/NLP-course/blob/master/6.RLHF/RLHF_whiteboard.pdf Доска]] Reinforcement Learning From Human Feedback (RLHF), Direct Preference Optimization (DPO) || 14.12.24 (Сб.) || || |
|- | |- | ||
− | | style="background:#eaecf0;" | '''7''' [[ | + | | style="background:#eaecf0;" | '''7''' [[https://www.youtube.com/watch?v=LT_pJ56tVso&list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4&index=7&pp=iAQB Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/7.Efficiency/Efficiency_slides.pdf Слайды]] Практические подходы для эффективного обучения и развертывания LLM || 16.12.24 (Пн.) || [https://github.com/mryab/efficient-dl-systems Хороший курс] по взрослой работе с моделями || |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
+ | | style="background:#eaecf0;" | '''8''' [[https://github.com/greedisneutral/NLP-course/blob/master/8.RAG_Tools/NLP%20system%20showcase_whiteboard.pdf Запись]] || [[https://github.com/greedisneutral/NLP-course/blob/master/8.RAG_Tools/RAG_Tools_slides.pdf Доска], [https://github.com/greedisneutral/NLP-course/blob/master/8.RAG_Tools/NLP%20system%20showcase_whiteboard.pdf Ноутбук]] Retrieval-Augmented (RAG) LLM || 19.12.24 (Чт.) || | ||
+ | RAG and Tooling Frameworks: https://www.llamaindex.ai/framework, https://www.langchain.com/, https://huggingface.co/docs/transformers/en/agents | ||
+ | |||
+ | Graph RAG-specific Repos: https://github.com/HKUDS/LightRAG, https://github.com/microsoft/graphrag | ||
+ | || | ||
+ | Faiss (vectorDB): https://github.com/facebookresearch/faiss, https://github.com/facebookresearch/faiss/wiki/Guidelines-to-choose-an-index | ||
+ | |||
+ | GraphDB (turn-on your VPN): https://neo4j.com/docs/getting-started/graph-database/ | ||
|} | |} | ||
=== Записи консультаций === | === Записи консультаций === | ||
− | |||
==Формула оценивания== | ==Формула оценивания== | ||
− | + | === При участии в устном экзамене === | |
+ | Оценка = 0.3*О<sub>Устный экзамен</sub> + 0.7*О<sub>ДЗ</sub> | ||
+ | |||
+ | === При отказе от устного экзамене === | ||
+ | |||
+ | Оценка = 1.0*О<sub>ДЗ</sub> | ||
== Домашние задания == | == Домашние задания == | ||
− | + | ||
− | # | + | '''После выдачи домашнего задания студентам предоставляется 2 (две) недели на выполнение'''. |
− | # | + | |
− | # | + | '''Каждый день просрочки штрафуется 1 баллом от максимальной оценки за соответствующее задание.''' |
+ | |||
+ | === Main Track === | ||
+ | # Обучение эмбеддингов с помощью библиотеки fasttext, реализация реального движка поиска эмбеддинга-ответа по запросу в векторной БД <br /> - Выдана 21.11.24, '''Дедлайн - 23:59 (МСК), 01.12.24 (Вс.)''', [https://github.com/greedisneutral/NLP-course/blob/master/2.Classification/NLP_hw_week_2.ipynb Ноутбук] <br /> - Весит 30% от итога (если выбираете идти на экзамен) и 40% при перевзвешивании в случае отказа от экзамена | ||
+ | # Тонкая настройка (fine-tuning) BERT на собственных данных // Имплементация GPT 2 <br /> - Выдана 03.12.24, '''Дедлайн - 23:59 (МСК), 15.12.24 (Вс.)''', [https://github.com/greedisneutral/NLP-course/blob/master/4.Transformers/HSE_NLP_HW_BERT.ipynb Ноутбук (BERT)], [https://github.com/greedisneutral/NLP-course/blob/master/4.Transformers/HSE_NLP_HW_GPT.ipynb Ноутбук (GPT)] <br /> - Весит 20% от итога (если выбираете идти на экзамен) и 30% при перевзвешивании в случае отказа от экзамена | ||
+ | # Тонкая настройка LLM (LLAMA 3 8b) с помощью PEFT <br /> - Выдана 12.12.24, '''Дедлайн - 23:59 (МСК), 22.12.2024 (Вс.)''', [https://github.com/greedisneutral/NLP-course/blob/master/5.Pretrain_finetune/NLP_seminar_finetuning_raw.ipynb Ноутбук] <br /> - Весит 20% от итога (если выбираете идти на экзамен) и 30% при перевзвешивании в случае отказа от экзамена | ||
+ | |||
+ | === Optional Track === | ||
+ | '''Мягкий дедлайн - 27.12.24 (Пт.)''', ''жёсткий - 30.12.24 (Пн.)'' | ||
+ | |||
+ | * Тонкая настройка собственной модели с использованием библиотеки TRL <br /> - Выдана 14.12.24, [https://github.com/greedisneutral/NLP-course/blob/master/6.RLHF/HSE_NLP_HW_4_optional.ipynb Ноутбук] <br /> - Весит 15% от итога | ||
+ | * Реализация Round-to-Nearest (RTN), Generalized Post-Training Quantization (GPTQ) <br /> - Выдано 16.12.24, [https://github.com/greedisneutral/NLP-course/blob/master/7.Efficiency/HSE_NLP_HW_5_optional.ipynb.ipynb Ноутбук] <br /> - Весит 15% от итога | ||
+ | |||
+ | == Устный экзамен == | ||
+ | |||
+ | Программой курса предусмотрен устный экзамен, в рамках которого студентам будет предложено тянуть случайный билет с вопросом по пройденному материалу. | ||
+ | |||
+ | == Автоматы == | ||
+ | На курсе предусмотрены автоматы: | ||
+ | Если оценка студента за блок “домашние задания” ≥ 4 и устраивает студента, ее можно зачесть в виде автомата. | ||
== Литература == | == Литература == | ||
− | + | Статьи, упомянутые в лекциях | |
− | + | ||
− | + | ||
− | + |
Текущая версия на 04:29, 21 декабря 2024
Содержание
О курсе
NLP — это область искусственного интеллекта, направленная на решение задач, связанных с обработкой человеческого языка, таких как извлечение информации, машинный перевод, автоматическое суммирование и диалоговые системы. За последние годы мы увидели значительный прогресс благодаря статистическому и глубокому обучению. Демонстрация возможностей современных диалоговых систем по типу ChatGPT от OpenAI позволила нам переосмыслить перспективы NLP в повседневной жизни, что привлекло к области внимание как со стороны исследователей и инженеров, так и институциональных инвесторов, готовых финансировать бурный рост отрасли.
Данный курс ставит перед собой следующие цели:
- познакомить слушателя с ключевыми направлениями современного развития области, сформировать понимание запросов, с которыми сталкиваются инженеры и исследователи в повседневной работе.
- развить понимание фундаментальных концепций, необходимых для самостоятельного решения задач как прикладного, так и исследовательского характера.
- познакомить слушателя с инструментами, необходимыми для решения прикладных задач.
Курс основан на материалах Школы Анализа Данных Яндекса (ШАД), CS224n by Stanford, а также личном опыте автора. Курс приоритезирует понимание слушателями пространства существующих на сегодня в отрасли задач и умение их решать над полнотой освещения исторически важных, однако на текущий день устаревших концепций
Занятия проводятся в Zoom по четвергам в 19:40
Контакты
Чат курса в TG: chat link
Преподаватель: Хажгериев Мурат Анзорович (@greedisneutral)
Ассистент | Контакты |
---|---|
Соня-Аня Никифорова | @sonya_leaf |
Стас Ивашков | @ps1va |
Маша Харченко | @mister_autocrat |
Савелий Прохоров | @Savely_Prokhorov |
Материалы курса
Ссылка на плейлист курса на YouTube: YouTube-playlist
Ссылка на плейлист в VK: VK Видео
Ссылка на GitHub с материалами курса: GitHub repository
Занятие | Тема | Дата | Материалы для самоподготовки к семинарам | Дополнительные материалы |
---|---|---|---|---|
1 [Запись, YouTube] | [Слайды, Тетрадка] Карта задач и методов NLP, эмбеддинги слов (word embeddings) | 06.11.24 (Ср.) | ||
2 [Запись, YouTube] | [Слайды, Тетрадка] Классификация текста | 14.11.24 (Чт.) | ||
3 [Запись] | [Слайды, Тетрадка, Доска] Seq2seq, Трансформер и механим внимания | 21.11.24 (Чт.) | Ссылка на качественное объяснение того, как работает LSTM (да и RNN вообще) | |
4 [Запись] | [Слайды, Ноутбук] Transfer learning: BERT, ELMO, GPT | 28.11.24 (Чт.) |
Замечательный разбор архитектуры от Джея Аламмара Прекрасный разбор от Лены Войты в рамках NLP Course | For You Уже ставшая бородатой оригинальная статья Attention is all you need |
|
5 [Запись] | [Слайды, Доска] Обучение Больших языковых моделей (Large Language Models): Обучение с нуля vs Тонкая настройка (finetuning) | 12.12.24 (Чт.) | ||
6 [Запись] | [Слайды, Доска] Reinforcement Learning From Human Feedback (RLHF), Direct Preference Optimization (DPO) | 14.12.24 (Сб.) | ||
7 [Запись] | [Слайды] Практические подходы для эффективного обучения и развертывания LLM | 16.12.24 (Пн.) | Хороший курс по взрослой работе с моделями | |
8 [Запись] | [Доска, Ноутбук] Retrieval-Augmented (RAG) LLM | 19.12.24 (Чт.) |
RAG and Tooling Frameworks: https://www.llamaindex.ai/framework, https://www.langchain.com/, https://huggingface.co/docs/transformers/en/agents Graph RAG-specific Repos: https://github.com/HKUDS/LightRAG, https://github.com/microsoft/graphrag |
Faiss (vectorDB): https://github.com/facebookresearch/faiss, https://github.com/facebookresearch/faiss/wiki/Guidelines-to-choose-an-index GraphDB (turn-on your VPN): https://neo4j.com/docs/getting-started/graph-database/ |
Записи консультаций
Формула оценивания
При участии в устном экзамене
Оценка = 0.3*ОУстный экзамен + 0.7*ОДЗ
При отказе от устного экзамене
Оценка = 1.0*ОДЗ
Домашние задания
После выдачи домашнего задания студентам предоставляется 2 (две) недели на выполнение.
Каждый день просрочки штрафуется 1 баллом от максимальной оценки за соответствующее задание.
Main Track
- Обучение эмбеддингов с помощью библиотеки fasttext, реализация реального движка поиска эмбеддинга-ответа по запросу в векторной БД
- Выдана 21.11.24, Дедлайн - 23:59 (МСК), 01.12.24 (Вс.), Ноутбук
- Весит 30% от итога (если выбираете идти на экзамен) и 40% при перевзвешивании в случае отказа от экзамена - Тонкая настройка (fine-tuning) BERT на собственных данных // Имплементация GPT 2
- Выдана 03.12.24, Дедлайн - 23:59 (МСК), 15.12.24 (Вс.), Ноутбук (BERT), Ноутбук (GPT)
- Весит 20% от итога (если выбираете идти на экзамен) и 30% при перевзвешивании в случае отказа от экзамена - Тонкая настройка LLM (LLAMA 3 8b) с помощью PEFT
- Выдана 12.12.24, Дедлайн - 23:59 (МСК), 22.12.2024 (Вс.), Ноутбук
- Весит 20% от итога (если выбираете идти на экзамен) и 30% при перевзвешивании в случае отказа от экзамена
Optional Track
Мягкий дедлайн - 27.12.24 (Пт.), жёсткий - 30.12.24 (Пн.)
- Тонкая настройка собственной модели с использованием библиотеки TRL
- Выдана 14.12.24, Ноутбук
- Весит 15% от итога - Реализация Round-to-Nearest (RTN), Generalized Post-Training Quantization (GPTQ)
- Выдано 16.12.24, Ноутбук
- Весит 15% от итога
Устный экзамен
Программой курса предусмотрен устный экзамен, в рамках которого студентам будет предложено тянуть случайный билет с вопросом по пройденному материалу.
Автоматы
На курсе предусмотрены автоматы: Если оценка студента за блок “домашние задания” ≥ 4 и устраивает студента, ее можно зачесть в виде автомата.
Литература
Статьи, упомянутые в лекциях