Автоматическая обработка текста 24/25 (МОВС23) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (add deadlines for optional track and weights for hw1-3 if no exam)
 
(не показано 17 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
==О курсе==
 
==О курсе==
  
Занятия проводятся в [ Zoom] '''по ...<день>... в ...<время>...'''
+
NLP — это область искусственного интеллекта, направленная на решение задач, связанных с обработкой человеческого языка, таких как извлечение информации, машинный перевод, автоматическое суммирование и диалоговые системы. За последние годы мы увидели значительный прогресс благодаря статистическому и глубокому обучению. Демонстрация возможностей современных диалоговых систем по типу ChatGPT от OpenAI позволила нам переосмыслить перспективы NLP в повседневной жизни, что привлекло к области внимание как со стороны исследователей и инженеров, так и институциональных инвесторов, готовых финансировать бурный рост отрасли.
  
Онлайн-курс в дополнение к парам: [[ online-course link]]
+
Данный курс ставит перед собой следующие цели:
 +
* познакомить слушателя с ключевыми направлениями современного развития области, сформировать понимание запросов, с которыми сталкиваются инженеры и исследователи в повседневной работе.
  
==Контакты==
+
* развить понимание фундаментальных концепций, необходимых для самостоятельного решения задач как прикладного, так и исследовательского характера.
  
Канал курса в TG: [[ channel link]]
+
* познакомить слушателя с инструментами, необходимыми для решения прикладных задач.
 +
 
 +
Курс основан на материалах [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: [[ chat link]]
+
Чат курса в 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-playlist]]
+
Ссылка на плейлист курса на YouTube: [https://www.youtube.com/playlist?list=PLmA-1xX7IuzBARI5ES_l6WOduw0CZs3t4 YouTube-playlist]
  
Ссылка на GitHub с материалами курса: [[ GitHub repository]]
+
Ссылка на плейлист в 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| 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/ разбор] архитектуры от Джея Аламмара
| style="background:#eaecf0;" | '''5''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
 
 +
Прекрасный [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;" | '''6''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| 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''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
|-
+
| style="background:#eaecf0;" | '''9''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
|-
+
| style="background:#eaecf0;" | '''10''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
|-
+
| style="background:#eaecf0;" | '''11''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
|-
+
| style="background:#eaecf0;" | '''12''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
 
|-
 
|-
 +
| 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/
 
|}
 
|}
  
 
=== Записи консультаций ===
 
=== Записи консультаций ===
 
  
 
==Формула оценивания==
 
==Формула оценивания==
  
Оценка = ...<вес 1>...*О<sub>...<форма контроля 1>...</sub> + ...<вес 2>...*О<sub>...<форма контроля 2>...</sub> + ...<вес 3>...*О<sub>...<форма контроля 3>...</sub>
+
=== При участии в устном экзамене ===
  
 +
Оценка = 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

  1. Обучение эмбеддингов с помощью библиотеки fasttext, реализация реального движка поиска эмбеддинга-ответа по запросу в векторной БД
    - Выдана 21.11.24, Дедлайн - 23:59 (МСК), 01.12.24 (Вс.), Ноутбук
    - Весит 30% от итога (если выбираете идти на экзамен) и 40% при перевзвешивании в случае отказа от экзамена
  2. Тонкая настройка (fine-tuning) BERT на собственных данных // Имплементация GPT 2
    - Выдана 03.12.24, Дедлайн - 23:59 (МСК), 15.12.24 (Вс.), Ноутбук (BERT), Ноутбук (GPT)
    - Весит 20% от итога (если выбираете идти на экзамен) и 30% при перевзвешивании в случае отказа от экзамена
  3. Тонкая настройка 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 и устраивает студента, ее можно зачесть в виде автомата.

Литература

Статьи, упомянутые в лекциях