Ли Хунъи, «Введение в генеративный ИИ» 2024: лекции 0–5
Конспект первых лекций курса «Введение в генеративный ИИ» 2024 профессора Ли Хунъи (NTU): что такое генеративный ИИ и «игра в слова», почему ChatGPT из «инструмента» стал «помощником», и как улучшить ответы модели без обучения — промпты, контекст, разбиение задачи, самопроверка, инструменты и команды моделей.
Коротко
Заголовок раздела «Коротко»- Генеративный ИИ — это цель: научить машину создавать сложные структурированные объекты (текст, картинку, звук), выбирая из практически бесконечного числа вариантов. Машинное и глубокое обучение — средства.
- Главный трюк языковых моделей — «игра в слова» (продолжи цепочку): бесконечную задачу «написать текст» разбивают на много конечных задач «выбрать следующий токен».
- Современный ChatGPT — уже не «инструмент» с одной функцией, а «человек-инструмент» (помощник «на все руки»): ему нужно говорить, что вы хотите, а не спрашивать, что он умеет.
- Если не можете переобучить модель — «обучите себя»: волшебные фразы, контекст и примеры, разбиение задачи, самопроверка, многократная генерация, инструменты (поиск, код), команды из нескольких моделей. Всё это не меняет параметры модели.
Как смотреть вместе с курсом
Заголовок раздела «Как смотреть вместе с курсом»| Лекция | Когда смотреть | Что пропустить новичку |
|---|---|---|
| 0–2 | в начале ступени 0, вместе с уроком 0.0.1 «Что такое ИИ» | ничего — это и есть «вход для всех» |
| 3–4 | перед уроком 8.1.2 «Промптинг» (можно и раньше — кода нет) | — |
| 5 | вместе с модулем 8.3 «Агенты» | обзор статей о мультиагентных системах можно пролистать |
Лекция 0. О курсе
Заголовок раздела «Лекция 0. О курсе»Мысль лекции: мир поменялся. Раньше, чтобы автоматически раскладывать статьи по темам, студент обучал свой классификатор; теперь он сначала спрашивает ChatGPT. Поэтому курс учит не столько «как пользоваться ChatGPT» (для этого хватает руководств), сколько что у него внутри и когда хватит готового инструмента, а когда нужна своя модель.
- Курс задуман как первый курс по ИИ — без предварительных требований.
- Ли сравнивает генеративный ИИ с фокусом: им можно восхищаться и без знания секрета, но понимание «трюка» даёт верные ожидания — что модель может, а чего нет.
- Техника меняется стремительно. Пример лектора: GPT-2 (2019, 1,5 млрд параметров) когда-то выглядел «сокрушительной» моделью, а к 2024 году это уже «обычная атака» — в духе заклинаний из аниме «Провожающая в последний путь Фрирен», где некогда «убийственная магия» стала базовой. Отсюда совет: учиться находить свежие статьи на arXiv.
- Задания специально дают и «негативный опыт»: долгое обучение, непредсказуемый результат — чтобы прочувствовать реальность разработки.
- Пользоваться ИИ при выполнении заданий можно; проверять задания тоже будет ИИ (LLM-оценщик).
Лекция 1. Что такое генеративный ИИ
Заголовок раздела «Лекция 1. Что такое генеративный ИИ»ИИ не имеет строгого определения — это скорее цель «машина, проявляющая разум», поэтому в научных статьях этот термин используют осторожно. Генеративный ИИ определить проще: машина создаёт сложный структурированный объект — текст из символов, картинку из пикселей, звук из отсчётов.
Почему это трудно. Ли считает: пусть в китайском 1000 употребительных иероглифов, тогда вариантов текста из 100 знаков — , а атомов во Вселенной около . Перебрать нельзя — нужно уметь создавать то, чего никогда не было в обучающих данных. Задачи «выбора из нескольких вариантов» (спам/не спам, кошка/собака) — это классификация, не генерация.
Машинное обучение — способ автоматически найти функцию по данным: модель — это функция с огромным числом неизвестных параметров, обучение (training) — поиск этих параметров по парам «вход → выход», а применение к новым данным — тестирование, или вывод (inference). Глубокое обучение — машинное обучение, где функция имеет вид нейронной сети. Нейросеть — просто функция с очень многими параметрами, а не «модель мозга».
Отношения понятий: генеративный ИИ — цель; ML — средство, которое решает и негенеративные задачи; DL — частный случай ML и сегодня самый успешный путь к генеративному ИИ.
Как ChatGPT справляется с бесконечностью вариантов. Он сводит генерацию к цепочке классификаций: «по началу текста выбери следующий токен». Это авторегрессионная генерация — объект разбивается на мелкие части, которые порождаются по одной в фиксированном порядке. Сама идея не нова: Google Переводчик — тоже генеративный ИИ, который давно в нашей жизни; почему всё «взорвалось» именно сейчас, объясняется в следующих лекциях.
Дополнительно: «Большие языковые модели за 80 минут»
Заголовок раздела «Дополнительно: «Большие языковые модели за 80 минут»»Отдельная популярная лекция Ли (её часто смотрят вместе с этим курсом; по конспекту Vincia-Jun): ChatGPT = Chat + Generative + Pre-trained + Transformer; токен — единица «игры в слова» (их должно быть конечное число, поэтому слова режут на части: unkillable → un + kill + able); три этапа обучения — предобучение, SFT, RLHF; рост GPT: GPT-1 (2018, 117 млн параметров), GPT-2 (2019, 1,5 млрд), GPT-3 (2020, 175 млрд) — по данным лекции GPT-3 многие в 2020 году считали тупиковым направлением.
Лекция 2. Чем силён сегодняшний генеративный ИИ
Заголовок раздела «Лекция 2. Чем силён сегодняшний генеративный ИИ»Из «инструмента» — в «помощника». Раньше ИИ-система делала одно дело (перевод, распознавание). Сегодняшняя LLM — универсал: переводит, пишет код, анализирует картинки. Поэтому меняется способ общения: не «что ты умеешь?», а «я хочу, чтобы ты сделал вот это».
Демонстрация. Ли показывает GPT-4 (платная версия на тот момент): тот понимает картинки, сам пишет и запускает код, а когда программа падает (например, при построении облака слов), сам находит ошибку и чинит её.
Модели «видят мир» по-разному. Разные модели обучены на разных данных, поэтому знают разные области неодинаково хорошо.
Почему универсала трудно оценивать. Пользователи просят самое разное, у одной просьбы много правильных решений. Ли проводит нарочно странный опыт — просит модели «скажи „ха-ха-ха-ха“ сто раз». Gemini начинает «смеяться» и не может остановиться — больше пятисот раз вместо ста; тайваньская модель TAIDE начинает считать «раз — ха-ха-ха-ха, два — …», а потом решает, что в этом мало смысла, и бросает; GPT-3.5 сразу отказывается от «бессмысленного повторения». Кто справился лучше — вопрос вкуса, и в этом суть: у универсала нет одной правильной метрики, а ошибки часто идут не от неумения, а от попытки «помочь» по-своему. Громким заявлениям о модели по одному примеру верить нельзя.
Риски. Раз модель создаёт новое, она может породить и вредное: брань, плагиат, дискриминацию. Защиту можно обойти, а перегиб в «политкорректности» даёт нелепые ответы — нужен баланс.
Два пути для нас: изменить себя (научиться формулировать запросы — промпт-инжиниринг) или изменить модель (дообучить открытую модель — «операция на мозге»). Первому посвящены лекции 3–5, второму — 6–8.
Лекция 3. Не можете обучить ИИ — обучите себя (часть 1): волшебные фразы и контекст
Заголовок раздела «Лекция 3. Не можете обучить ИИ — обучите себя (часть 1): волшебные фразы и контекст»Видео — в плейлисте курса (расшифровки этой лекции в наших источниках нет; пересказ по конспекту Vincia-Jun).
«Волшебные фразы». Есть формулировки, которые заметно улучшают ответы некоторых моделей на некоторых задачах: «Let’s think step by step» (давай рассуждать по шагам), «объясни свой ответ», эмоциональный нажим («это очень важно для моей карьеры»), обещание «чаевых» за лучший ответ, угроза «штрафа». Главная оговорка: такие фразы не универсальны — с новыми моделями эффект многих из них слабеет, их нужно проверять, а не заучивать.
Дайте модели недостающую информацию. Ясная постановка, контекст, кто вы и зачем — модель не читает мысли.
Примеры в запросе — обучение в контексте (in-context learning). Несколько примеров «вход → ответ» в самом промпте позволяют модели выполнять новую задачу без изменения параметров. Яркий случай из технического отчёта Gemini 1.5: язык каламанг (у него менее 200 носителей, в интернете текстов почти нет). Если положить в контекст учебник грамматики, качество перевода резко растёт и приближается к уровню человека, выучившего язык по той же книге:
| Модель | каламанг → англ. | англ. → каламанг |
|---|---|---|
| GPT-4 Turbo, без книги | 0,24 | 0,10 |
| GPT-4 Turbo, половина книги | 2,38 | 4,02 |
| Claude 2.1, без книги | 0,14 | 0,00 |
| Claude 2.1, половина книги | 3,68 | 4,54 |
| Gemini 1.5 Pro, без книги | 0,24 | 0,08 |
| Gemini 1.5 Pro, половина книги | 4,16 | 5,38 |
| Gemini 1.5 Pro, вся книга | 4,36 | 5,52 |
| Человек, изучавший язык по книге | 5,52 | 5,60 |
(Оценки качества перевода из отчёта Gemini 1.5 в изложении конспекта; чем выше, тем лучше.)
Лекция 4. Обучите себя (часть 2): разбиение задачи и инструменты
Заголовок раздела «Лекция 4. Обучите себя (часть 2): разбиение задачи и инструменты»Разбиение задачи. Сложное задание модель делает плохо «за один присест». Просите сначала план (например, оглавление доклада), потом каждую часть. Цепочка рассуждений (Chain of Thought) — та же идея: модель пишет промежуточные шаги, и каждый следующий токен опирается на уже записанные.
Самопроверка (self-reflection). Попросите модель проверить свой ответ. Работает потому, что проверять легче, чем решать. Ли отмечает, что GPT-4 действительно находит свои ошибки, а GPT-3.5 часто лишь «вежливо соглашается». На этом же построен подход Constitutional AI: модель сама сверяет ответ с набором принципов. Но помните: параметры не меняются — модель «не запоминает» урок, в следующем разговоре всё начинается заново.
Случайность и самосогласованность (self-consistency). Модель «бросает кости» при выборе каждого токена, поэтому на один вопрос даёт разные ответы. Сгенерируйте несколько и возьмите самый частый ответ. Разбиение + самопроверка + самосогласованность вместе — это Tree of Thought: дерево вариантов, где плохие ветви отсекаются оценкой.
Инструменты. У модели есть слабые места: точная арифметика, свежие факты. Решение — дать инструменты:
- поиск — генерация, дополненная поиском (RAG): найти документы и ответить по ним;
- интерпретатор кода — модель пишет программу (например, вызывает решатель уравнений) и получает точный ответ;
- генератор картинок и плагины.
Как модель «вызывает» инструмент? Всё та же игра в слова: она генерирует специальный текст-команду, система выполняет его и дописывает результат в контекст, а модель продолжает. Модели иногда понимают инструменты неверно — ошибки возможны и здесь.
flowchart LR Q["Вопрос"] --> M["LLM продолжает текст"] M -->|"спецтокены:<br/>вызов инструмента"| T["Поиск / код / картинка"] T -->|"результат дописан<br/>в контекст"| M M --> A["Ответ"]
Лекция 5. Обучите себя (часть 3): пусть модели работают вместе
Заголовок раздела «Лекция 5. Обучите себя (часть 3): пусть модели работают вместе»Лекция начинается с эпизода «Фрирен»: даже сильнейшая героиня побеждает свою копию только вместе со слабой ученицей, которая замечает «слабое место». Мораль — сотрудничество сильнее одиночки.
Распределение задач. Модели разные по силе и цене. Отдельная «маршрутизирующая» модель решает, кому отдать вопрос: простой — дешёвой модели, сложный — мощной (подход FrugalGPT). Экономия без потери качества.
Обсуждение между моделями. Ли показывает, как Claude и GPT-3.5 в несколько раундов спорят о том, как лучше перевести на английский название «Фрирен», и приходят к лучшему варианту. Исследования, на которые он ссылается, показывают: дебаты нескольких моделей чаще исправляют неверный ответ, чем самопроверка одной модели; больше участников и раундов (до разумного предела) — лучше результат.
- Формы обсуждения разные (все со всеми, по цепочке, иерархия, спор с арбитром) — универсально лучшей нет, зависит от задачи.
- Нужен судья: отдельная модель решает, достигнут ли консенсус, и подводит итог.
- Модели слишком «вежливы» и быстро соглашаются. Промпт должен побуждать к несогласию, иначе спора не будет.
Роли и разделение труда. Как в команде людей: менеджер проекта, программист, тестировщик — каждой модели своя роль через промпт (пример — системы вроде MetaGPT и ChatDev). Команду можно ещё и «оценивать по результатам», убирая слабых участников. Итоговая картина — «один человек живёт как целая команда», а в перспективе — сообщества ИИ-агентов. Сегодня такие команды на реальных сложных задачах всё ещё ошибаются.
Что сделать руками
Заголовок раздела «Что сделать руками»- Задание HW4 2024 года (по материалам лекций 3–4). Возьмите 20 школьных задач по математике, решите их моделью «как есть» и с промптом «рассуждай по шагам, затем проверь ответ». Сравните точность по 3 запускам на вариант (см. обзор заданий).
- Самосогласованность своими руками. Для 10 задач сгенерируйте по 5 ответов с температурой 0,8 и возьмите самый частый. Стало ли точнее, чем один ответ с температурой 0?
- Мини-дебаты. Попросите две разные модели (например, локальную Qwen3-8B из рецепта self-llm и любую облачную) поспорить о переводе названия книги на русский — 3 раунда, затем «судья» подводит итог.
Словарик
Заголовок раздела «Словарик»| Русский | Пояснение |
|---|---|
| генеративный ИИ | создание сложных объектов |
| «игра в слова», продолжение цепочки | предсказание следующего токена |
| авторегрессионная генерация (autoregressive) | по одному элементу, слева направо |
| параметры | «неизвестные» функции-модели |
| обучение / вывод (инференс) | найти параметры / применить модель |
| нейронная сеть | |
| «человек-инструмент», «помощник на все руки» | жаргон: тот, кого зовут на любую работу |
| «волшебные фразы» | промпты вроде «думай по шагам» |
| обучение в контексте (in-context learning) | примеры прямо в промпте |
| цепочка рассуждений (chain of thought) | промежуточные шаги |
| самопроверка / самосогласованность | self-reflection / self-consistency |
| генерация, дополненная поиском (RAG) |