Результаты обучения
После изучения урока вы сможете:
- Различать генеративную и дискриминативную постановки.
- Объяснять принципы авторегрессии, VAE, GAN и диффузионных моделей.
- Понимать роль self-supervised learning и foundation models.
- Отличать генеративную модель от RAG и системы с инструментами.
- Оценивать качество, разнообразие, достоверность и риски результата.
- Проводить эксперимент с простой авторегрессионной моделью.
1. Что значит «генерировать»
В предыдущих уроках модели классифицировали объекты, предсказывали числа, находили группы и выбирали действия. Генеративный подход отвечает на другой вопрос: какие закономерности описывают данные и как создать новый пример, похожий на обучающие данные? Например, классификатор определит тип технического документа, а генеративная модель может подготовить черновик описания. Она не «знает» конкретный объект — она моделирует закономерности данных.2. Как модель строит последовательность
Текст обычно разбивается на токены — слова, части слов, символы или другие единицы. Авторегрессионная модель оценивает следующий токен при известном контексте, добавляет выбранный токен и повторяет шаг.3. Четыре семейства генеративных моделей
Авторегрессионные модели
Продолжают последовательность по одному элементу. Удобны для текста и других последовательностей; генерация последовательна, а ошибки ранних шагов могут накапливаться.Вариационные автоэнкодеры (VAE)
Генеративно-состязательные сети (GAN)
Диффузионные модели
4. Foundation models и современные способы адаптации
5. RAG и инструменты: модель — не вся система
6. Практика Python: символьная модель биграмм
Создадим простую модель, которая считает, какие символы следуют друг за другом в учебных фразах, а затем генерирует новые последовательности. Это не нейросеть и не LLM: эксперимент показывает сам принцип условного распределения.Среда: Python 3.10+, стандартная библиотека, без доступа к сети.
from collections import defaultdict, Counter
import random
corpus = [
"вода нагревается",
"вода циркулирует",
"насос создаёт поток",
"датчик измеряет температуру",
"система поддерживает режим",
]
next_chars = defaultdict(Counter)
for text in corpus:
padded = "^" + text + "$"
for current, following in zip(padded, padded[1:]):
next_chars[current][following] += 1
def generate(max_length=80):
current, output = "^", []
for _ in range(max_length):
choices = next_chars.get(current)
if not choices:
break
chars, weights = zip(*choices.items())
current = random.choices(chars, weights=weights, k=1)[0]
if current == "$":
break
output.append(current)
return "".join(output)
random.seed(7)
for _ in range(5):
print(generate())Модель учит локальные переходы символов, а не смысл. Она может смешивать фрагменты, создавать неграмотные сочетания или повторяться. Добавьте несколько предложений и сравните генерации при разных seed. Проверьте, не копируются ли целые обучающие фразы.7. Практическое задание: выбрать архитектуру
Инженерной организации нужен AI-сервис для четырёх задач: (1) классифицировать обращения; (2) готовить черновики технических описаний по документам; (3) генерировать синтетические изображения дефектов; (4) отвечать на вопросы по схеме оборудования и регламенту. Для каждой задачи составьте карточку: нужна ли генерация; какой подход подходит (дискриминативная модель, авторегрессия, диффузия, мультимодальность, RAG или комбинация); какие данные и права нужны; два критерия качества; как обнаружить ошибку; где нужен человек. Итог — таблица из четырёх строк с обоснованием. Выбирайте минимально достаточный подход, а не самую сложную модель.Самостоятельное задание
Подготовьте таблицу из четырёх строк с обоснованием выбора и ограничениями.
8. Качество, ограничения и риски
Проверяйте соответствие задаче, фактическую достоверность, разнообразие, внутреннюю согласованность, управляемость, стоимость и задержку. Одного удачного примера недостаточно.9. Итоги и границы следующих уроков
Авторегрессия продолжает последовательности; VAE использует вероятностное латентное представление; GAN обучает генератор и дискриминатор состязательно; диффузия восстанавливает данные из шума. Foundation models переиспользуются для разных задач, мультимодальные модели связывают разные типы входа. RAG и инструменты усиливают систему, но не являются синонимами генеративной модели. Далее, в 1.4.1–1.4.2, будут подробно разобраны модель, параметры, обучение и функция потерь; математические основания — в Theme 2. Здесь цель — понимать семейства и границы подходов, а не выводить архитектуру трансформера или настраивать LLM.Источники и дополнительное чтение
- Goodfellow et al. (2014), Generative Adversarial Nets
- Kingma & Welling (2013), Auto-Encoding Variational Bayes
- Ho et al. (2020), Denoising Diffusion Probabilistic Models
- Vaswani et al. (2017), Attention Is All You Need
- Brown et al. (2020), Language Models are Few-Shot Learners
- Bommasani et al. (2021), On the Opportunities and Risks of Foundation Models
- Lewis et al. (2020), Retrieval-Augmented Generation
Словарь урока
Представляет распределение данных и создаёт новые примеры.
Оценивает класс или связь входа с целевым ответом.
Единица текста после токенизации.
Пошаговое предсказание следующего элемента по контексту.
Компактное внутреннее представление данных.
Вероятностный автоэнкодер с латентным представлением.
Состязательная система генератора и дискриминатора.
Генерация через последовательное удаление шума.
Широко предварительно обученная модель для разных задач.
Добавление найденных документов в контекст перед генерацией.
Самопроверка
Вопрос 1
Что определяет генеративную модель?
Вопрос 2
Как работает авторегрессионная генерация?
Вопрос 3
В чём идея VAE?
Вопрос 4
Что отличает GAN?
Вопрос 5
С чего начинается генерация диффузионной модели?
Вопрос 6
Что такое foundation model?
Вопрос 7
Что делает RAG?
Вопрос 8
Какие проверки полезны для генеративной системы? Выберите все варианты.