Основы генеративного ИИ на языке Python
Полное руководство по пониманию и реализации генеративного ИИ и больших языковых моделей (LLM). Этот курс охватывает переход от теоретических основ к практической разработке на языке Python, включая ГАНы, диффузионные модели, трансформеры, дообучение и развертывание в продакшене.
Уроки
Обзор курса
📚 Краткое содержание
Полное руководство по пониманию и реализации генеративного ИИ и больших языковых моделей (LLM). Этот курс охватывает переход от теоретических основ к практической разработке на Python, включая ГАНы, диффузионные модели, трансформеры, донастройку и вывод в производственную среду.
Освойте основные принципы и практическое применение современных языковых моделей и генеративных методов с помощью Python.
Автор: Карлос Родригес
Благодарности: Особая благодарность жене автора Джилл, его родителям и техническим ревьюерам Морган Бойсу, Эрику Руи и Самире Шахи (автору предисловия).
🎯 Цели обучения
- Различать классические (дискриминативные) парадигмы машинного обучения и генеративные модели ИИ.
- Определять основополагающие архитектуры генеративного ИИ, включая ГАНы, диффузионные модели и трансформеры.
- Объяснять роль и эволюцию больших языковых моделей (LLM) в более широком контексте искусственного интеллекта.
- Различать уникальные особенности и архитектурные парадигмы ГАНов, диффузоров и трансформеров.
- Анализировать достижения и ограничения каждого типа моделей, включая конкретные проблемы, такие как коллапс режимов или скорость выборки.
- Реализовать пайплайн Stable Diffusion и оценить сгенерированные результаты с использованием логитов и вероятностей на основе CLIP.
- Отследить эволюцию обработки естественного языка (NLP) от ранних методов подсчета и РНН до современных распределённых представлений и переносного обучения.
- Объяснить технические особенности многоголовочного внимания (MHA), самовнимания, маскирования и сетей прямого распространения (FFN).
- Реализовать полную архитектуру трансформера, включая токенизацию данных, позиционное кодирование и функции обучения/вывода.
- Сопоставлять функции прототипирования (например, Google Colab) с рабочими средами с использованием Docker и VS Code.
🔹 Урок 1: Основы и парадигмы генеративного ИИ
Обзор: В этом уроке рассматриваются фундаментальные изменения от традиционных парадигм машинного обучения к эпохе генеративного ИИ. Изучается эволюция архитектур — от ГАНов к трансформерам — и вводятся большие языковые модели (LLM) как основа синтетического понимания и генерации контента.
Цели обучения:
- Различать классические (дискриминативные) парадигмы машинного обучения и генеративные модели ИИ.
- Определять основополагающие архитектуры генеративного ИИ, включая ГАНы, диффузионные модели и трансформеры.
- Объяснять роль и эволюцию больших языковых моделей (LLM) в более широком контексте искусственного интеллекта.
🔹 Урок 2: Архитектурный обзор: ГАНы, диффузионные модели и трансформеры
Обзор: В этом уроке представлен всесторонний обзор трёх основных архитектурных основ генеративного ИИ: генеративных адверсиальных сетей (GANs), диффузионных моделей и трансформеров. Учащиеся изучат техническую дешифровку этих методов, их эволюционные достижения, внутренние ограничения и практическое применение в генерации изображений и оценке с использованием метрик CLIP в средах Jupyter/Colab.
Цели обучения:
- Различать уникальные особенности и архитектурные парадигмы ГАНов, диффузионных моделей и трансформеров.
- Анализировать достижения и ограничения каждого типа моделей, включая конкретные проблемы, такие как коллапс режимов или скорость выборки.
- Реализовать пайплайн Stable Diffusion и оценить сгенерированные результаты с использованием логитов и вероятностей на основе CLIP.
🔹 Урок 3: Эволюция обработки естественного языка и архитектура трансформеров
Обзор: В этом уроке прослеживается историческая траектория развития обработки естественного языка — от ранних статистических методов до революционной архитектуры трансформеров. Рассматривается переход от последовательных моделей на основе РНН к параллельно обрабатываемым механизмам самовнимания, подробно описываются компоненты оригинального трансформера (кодировщик/декодировщик) и практика реализации пайплайна перевода с использованием PyTorch.
Цели обучения:
- Отследить эволюцию обработки естественного языка от ранних методов подсчёта и РНН до современных распределённых представлений и переносного обучения.
- Объяснить технические особенности многоголовочного внимания (MHA), самовнимания, маскирования и сети прямого распространения (FFN).
- Реализовать полную архитектуру трансформера, включая токенизацию данных, позиционное кодирование и функции обучения/вывода.
🔹 Урок 4: Инженерия производства и ответственное внедрение ИИ
Обзор: В этом уроке рассматривается ключевой переход от прототипирования машинного обучения (экспериментальные этапы) к стабильным, готовым к производству решениям. Интегрируются принципы инженерии производства — такие как контейнеризация с помощью Docker и маппинг среды — с этическими требованиями ответственного ИИ, фокусируясь на снижении предвзятости, прозрачности и строгой оценке моделей с использованием метрик, таких как оценки по CLIP и лексическая близость.
Цели обучения:
- Сопоставлять функции прототипирования (например, Google Colab) с рабочими средами с использованием Docker и VS Code.
- Вычислять вычислительную сложность модели и требования к памяти для определения необходимости специализированного оборудования.
- Оценивать генеративные модели с использованием количественных метрик (BLEU, ROUGE, METEOR) и соответствия метрикам CLIP.
🔹 Урок 5: Техники донастройки и параметро-эффективное обучение
Обзор: В этом уроке рассматривается переход от адаптации моделей через шаблоны к задаче специфической донастройки. Изучаются контекстные методы обучения (нулевое и малое количество примеров), генерация с дополнением по запросу (RAG) и практическая реализация параметро-эффективной донастройки (PEFT) на языке Python. Учащиеся научатся создавать пайплайн вопрос-ответ, использовать класс Trainer Hugging Face и оценивать результаты по потере обучения и семантической близости.
Цели обучения:
- Различать между обучением по контексту (нулевое/малое количество примеров), RAG и донастройкой.
- Реализовать рабочий процесс донастройки на основе PEFT с использованием AdaLoRA и класса
TrainerHugging Face. - Вычислять и интерпретировать метрики производительности модели, включая потерю обучения и показатели семантической близости.
🔹 Урок 6: Адаптация к домену для специализированных больших языковых моделей
Обзор: В этом уроке рассматривается переход больших языковых моделей (LLM) от универсальных инструментов к специализированным экспертам в финансовой сфере. Учащиеся узнают исторический контекст адаптации к домену, освоят основные методологии обучения, такие как причинное языковое моделирование (CLM) и прогнозирование следующего предложения (NSP), и выполнят практический проект переносного обучения с использованием параметро-эффективной донастройки (PEFT). Модуль завершается строгими методами оценки с использованием метрик ROUGE и традиционных показателей классификации (точность, полнота, F1).
Цели обучения:
- Чётко формулировать историю и критическую важность адаптации общих LLM к специализированным областям.
- Выполнять полный пайплайн переносного обучения для финансового домена, включая предобработку и токенизацию.
- Различать между методологиями обучения CLM и NSP.
🔹 Урок 7: Продвинутый дизайн шаблонов и реализация поиска
Обзор: В этом уроке рассматривается эволюция взаимодействия с большими языковыми моделями (LLM), переход от традиционной донастройки к подходам на основе шаблонов. Подробно описывается стратегическое использование персонажей, ситуационного ролевого поведения и реализация генерации с дополнением по запросу (RAG) с использованием LlamaIndex для создания контекстно-зависимых, безопасных и соответствующих бренду ответов ИИ.
Цели обучения:
- Чётко формулировать переход от трудоёмкой донастройки параметров к эффективному выводу на основе шаблонов.
- Проектировать и реализовывать персонажей и ситуационное ролевое поведение для управления поведением модели и распределением вывода.
- Создавать функциональный пайплайн RAG с использованием Python и фреймворка LlamaIndex.