Погрузитесь в NLP: освойте различные языковые модели и создайте собственный телеграм-бот. Для кого этот курс? Для дата-сайентистов, аналитиков данных и специалистов по машинному обучению. Необходимые знания: базовое знакомство с Python базовые знания линейной алгебры, математического анализа, математической статистики базовые навыки работы с ML (pandas, sklearn, линейная регрессия, логистическая регрессия) Что такое Natural Language Processing? Natural Language Processing (NLP, обработка естественного языка) – это направление, которое объединяет в себе лингвистику, компьютерные науки и искусственный интеллект. NLP применяет алгоритмы машинного обучения для анализа естественных языков, ResNet и EfficientNet, до самых современных Vision Transformers, таких как MViT Что даст вам этот курс? Знаний, которые дают ML/DL курсы, часто оказывается недостаточно, чтобы стать специалистом в области NLP. Data Scientist'ам, которые решили заняться методами, связанными с автоматической обработкой текстов, необходимы дополнительные знания из этой области. Данный курс представляет собой уникальное сочетание глубоких знаний из области NLP и "повседневных" практических навыков. С одной стороны, программа курса по наполненности и изучаемым темам ничуть не уступает аналогичным вузовскими курсам. С другой стороны, в курсе, помимо теоретичечских знаний, особое внимание уделяется практическим навыкам. После завершения курса вы сможете: работать с текстовыми данными парсить, собирать данные с сайтов из интернета создавать телеграм-ботов применять методы классического NLP для решения ML задач, связанных с текстами работать с нейросетевыми моделями архитектуры трансформер применять модели архитектуры трансформер для широкого спектра NLP задач решать задачу распознавания именованных сущностей создавать вопросно-ответные системы На курсе изучаются современные подходы и модели, которые на данный момент являются стандартом в области, но еще не успели войти в большинство программ, так как были предложены совсем недавно. Стоит отметить, что на курсе делается акцент на особенностях работы с русскоязычными моделями и данными на русском языке. Проектная работа: Мы стремимся, чтобы студенты выбирали темы выпускных проектов – сами, а не работали по шаблонным заготовкам. Поэтому все выпускные проекты на курсе– это ценные исследования для ML. Вот темы некоторых из них: Умный поиск по базе отзывов методами NLP Поиск по базе фильмов на основе естественного языка Разработка телеграмм бота клиентской поддержки пользователей пассажирских сервисов Финтех вопросно-ответная система Использование NLP моделей для классификации отзывов и определения тональности Генерация коротких текстов в жанре фэнтези, по заданным параметра (Habr) RAG-агент для автоматизации инцидент-менеджмента Программа: Бонус: Методы машинного обучения Модуль познакомит вас с различными продвинутыми моделями машинного обучения для задач обучения с учителем (регрессия и классификация), начиная от классических методов деревьев решений и заканчивая продвинутыми методами градиентного бустинга. Тема 1: Метод градиентного спуска Тема 2: Повторение основных понятий задачи классификации на практике: EDA, cross-validation, метрики качества Тема 3: Деревья решений Тема 4: Ансамбли моделей Тема 5: Градиентный бустинг Тема 6: Метод опорных векторов Бонус: Введение в PyTorch и глубокое обучение В этом модуле мы коснёмся методов Deep Learning и работы с нейронными сетями. Вы узнаете принципы работы и обучения нейронных сетей, а также освоите нейросетевые архитектуры для работы с изображениями (сверточные нейросети) и последовательностями (рекуррентные нейросети). Тема 1: Продвинутые методы оптимизации, backpropagation и обучение нейронных сетей Тема 2: Борьба с переобучение нейросетей, взрыв и затухание градиентов Тема 3: Сверточные сети (Convolutional Neural Networks) Бонус: Дополнительные продвинутые занятия Тема 1: Практическое занятие: теория промптинга LLM Тема 2: LangChain Тема 3: RAG - генерация на основе базы знаний Python для работы с текстами Вводный модуль, посвященный повторению основных методов работы с данными в Python и работе с текстами. В модуле также рассмотрены методы парсинга данных и методы работы с регулярными выражениями — необходимые навыки в NLP. Тема 1: Введение в NLP Тема 2: Recap python/ data analysis/ визуализации Тема 3: Работа со строками + регулярные выражения Тема 4: Парсинг данных // ДЗ Deep Learning для NLP Вводный модуль по Deep Learning. Данный модуль дает общее представление о нейронных сетях, фокусируясь на методах и архитектурах, востребованных в NLP. Тема 1: Введение в нейросети Тема 2: Градиентный спуск и backpropagation Тема 3: PyTorch. Часть 1 // ДЗ Тема 4: PyTorch. Часть 2 Тема 5: Рекуррентные сети. Часть 1 Тема 6: Рекуррентные сети. Часть 2 Классичесикие методы NLP Модуль посвящен традиционным подходам в обработке естественного языка. В нем рассматриваются ключевые этапы предобработки текстовых данных, различные способы представления слов в векторном пространстве, а также классические рекуррентные нейросетевые архитектуры, включая RNN и seq2seq, используемые для задач машинного перевода и генерации текста. Тема 1: Предобработка данных и векторные представления слов // ДЗ Тема 2: Понятие языковой модели, RNN для работы с текстом Тема 3: Машинный перевод и seq2seq Трансформерные модели Модуль посвящен современным трансформерным моделям и их применению в NLP. В нем изучаются архитектура Transformer, механизмы transfer learning, модель BERT и работа с предобученными языковыми моделями. Рассматриваются задачи именованного распознавания сущностей (NER), генеративные языковые модели, а также подходы к промптингу и использование LLM в диалоговых системах. Тема 1: Архитектура Transformer Тема 2: Transfer learning Тема 3: Работа с предобученными языковыми моделями. Задача NER Тема 4: Генеративные языковые модели и энкодер-декодер архитектуры Тема 5: Towards ChatGPT Тема 6: Теория промптинга LLM // ДЗ Тема 7: Q&A Дополнительные главы NLP В модуле рассмотрены дополнительные вопросы из области NLP, выходящие за рамки основной программы: распределенные вычисления, вопросы оценки языковых моделей, тематическое моделирование. На практике будет рассмотрено, как создавать телеграмм-ботов и встраивать в них обученные модели. Тема 1: Оценка LLM // ДЗ Тема 2: Создание телеграм-бота // ДЗ Проектный модуль Проектный модуль, во время которого студенты выполняют финальную работу на основе методов, изученных на курсе. Тема 1: Выбор темы и организация проектной работы Тема 2: Предзащита №1 Тема 3: Предзащита №2 Тема 4: Защита проектных работ Преподаватели: Мария Тихонова Лидер Research кластера, Сбер, ВШЭ Александр Брут-Бруляко DS инженер (к.э.н.), Сбер GigaLegal Софья Феничева Дмитрий Павлов Антон Витвицкий (к.ф.-м.н.) Director of Computer Vision, Boost Arria NLG Алексей Клочков Data Science Team Lead, Kept Андрей Коняев Consultant GenAI Machine Learning Engineering, Deutsche Telekom AG - T-Systems International GmbH Александр Гавриленко Инженер-исследователь, АНО "Институт Искусственного Интеллекта" AIRI Дмитрий Гайнуллин Machine Learning Engineer, AIC Алексей Кисляков (д.э.н., к.т.н.) преподаватель/ученый-исследователь, Российская академия народного хозяйства и государственной службы при Президенте РФ (Владимирский филиал) Андрей Носов AI Architect, Raft, PhD Communication Science, Tampere University (Finland) Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания