Ли Хунъи, «Введение в генеративный ИИ» 2024: лекции 6–11
Конспект середины курса «Введение в генеративный ИИ» 2024 профессора Ли Хунъи: «история совершенствования» LLM в три этапа (предобучение, инструкционное дообучение, RLHF), ИИ-агенты, как устроен Transformer и как заглянуть внутрь модели.
Коротко
Заголовок раздела «Коротко»- «Совершенствование» LLM — три этапа, и на всех задача одна — предсказать следующий токен; меняются только данные: тексты из интернета → примеры «вопрос — ответ» от людей → оценки людей «какой ответ лучше».
- Предобучение даёт «внутреннюю силу» (знания), но не «приёмы» (умение отвечать). Инструкционное дообучение — «наставник», и данных для него нужно удивительно мало, если они качественные.
- RLHF учит модель смотреть на ответ целиком, а не на каждый токен; людей заменяет «виртуальный человек» — модель вознаграждения, у которой свои побочные эффекты.
- Transformer: токены → эмбеддинги (+ позиции) → много блоков «внимание + полносвязная сеть» → распределение следующего токена. Узкое место — квадратичная стоимость внимания по длине текста.
Как смотреть вместе с курсом
Заголовок раздела «Как смотреть вместе с курсом»| Лекция | Когда смотреть | Наш урок |
|---|---|---|
| 6 | перед модулем 5.1 (данные предобучения) | 5.1.2 |
| 7 | перед модулем 6.1 | 6.1.1, 6.1.2 |
| 8 | перед модулем 6.3 | 6.3.2, 6.3.3 |
| 9 | вместе с модулем 8.3 | 8.3.1 |
| 10 | перед модулями 4.4–4.5 (Ли сам говорит: знакомым с Transformer можно пропустить) | 4.4.1, 4.5.1 |
| 11 | вместе с модулем 9.3 | 9.3.1 |
flowchart LR P["Этап 1: самообучение<br/>тексты интернета<br/>(предобучение)"] --> S["Этап 2: наставник<br/>пары «вопрос — ответ»<br/>(инструкционное дообучение)"] S --> R["Этап 3: практика<br/>«какой ответ лучше»<br/>(RLHF)"] P -. "даёт знания<br/>и хорошие начальные параметры" .-> S S -. "этапы 2–3 вместе —<br/>выравнивание (alignment)" .-> R
Лекция 6. Этап 1: самообучение, накопление силы
Заголовок раздела «Лекция 6. Этап 1: самообучение, накопление силы»Видео на YouTube — в названии видео Ли советует знакомым с машинным обучением начинать с 15:00.
Напоминание основ. Модель — функция с миллиардами параметров; обучение — их поиск. У поиска (оптимизации) есть гиперпараметры — их выставляет человек, и «подбирать параметры» на жаргоне значит именно подбирать гиперпараметры. Обучение случайно и может провалиться — тогда меняют гиперпараметры и пробуют снова; отсюда огромный расход вычислений.
Переобучение. Оптимизация «проверяет только одно: удовлетворяют ли параметры обучающим данным» — ей всё равно, разумны ли они. Пример: если в данных все кошки чёрные, а собаки жёлтые, модель решит «чёрное — кошка» и ошибётся на жёлтой кошке. Лечение — разнообразные данные. Ещё одна ручка — начальные параметры: хорошая отправная точка работает как «априорное знание». Поиск такой точки — и есть смысл первого этапа.
Что нужно знать, чтобы хорошо продолжать текст: знание языка (грамматика — его нужно сравнительно немного данных) и знание мира (кипит ли вода при 100 °C — зависит от давления; таких знаний нужно несравнимо больше). Источник — интернет: любое предложение само собой нарезается на пары «начало → следующий токен», поэтому разметка не нужна — это самообучение (self-supervised learning).
Без людей всё же не обойтись — данные надо чистить (Ли приводит пример из статьи DeepMind о модели Gopher): убрать вредное содержимое и HTML-разметку, отдать предпочтение качественным текстам (Википедия, учебники), удалить дубликаты. Яркий пример: длинный рекламный абзац свадебного агентства встретился в веб-данных более 60 000 раз — без дедупликации модель бы его «заучила». Отдельно — вопрос авторских прав (иск New York Times к OpenAI и Microsoft).
GPT-1 → GPT-3. «Талант» (число параметров) и «усердие» (объём данных) росли: GPT-1 (2018) — 117 млн параметров, GPT-2 (2019) — 1,5 млрд, GPT-3 (2020) — 175 млрд. Но GPT-3 оставался «неуправляемым»: часто не отвечал на вопрос, а продолжал текст как-нибудь. Сравнение Ли — герой романа Цзинь Юна Ши Потянь: огромная внутренняя сила, но ни одного приёма. Чтобы научить «приёмам», нужен этап 2.
Лекция 7. Этап 2: наставник раскрывает потенциал
Заголовок раздела «Лекция 7. Этап 2: наставник раскрывает потенциал»Инструкционное дообучение (instruction fine-tuning). Люди готовят пары «вопрос → правильный ответ», и модель учится на них той же игре в слова: «Пользователь: Какая гора самая высокая на Тайване? ИИ:» → «Юй» → «шань» (Юйшань) → «[конец]». Это обучение с учителем (supervised learning) на размеченных людьми данных.
Зачем метки ролей «Пользователь:» и «ИИ:». Без них строка «Какая гора самая высокая на Тайване? Юйшань» двусмысленна: это ответ ИИ (дальше — конец) или человек сам ответил (дальше — «Верно»)? Ли предполагает, что и в ChatGPT такие метки есть «под капотом», просто их не видно.
Почему нельзя учиться только у людей. Размеченных данных мало (даже миллион диалогов — капля по сравнению с интернетом), а модель находит «ленивые» правила: научили одному вопросу — она может решить «видишь слово „самая“ — отвечай „Юйшань“». Лаборатория Ли когда-то обучала чат-бота на миллионах человеческих диалогов: он говорил грамматично, но бессодержательно. Пример из жизни — старые голосовые помощники: «не включай музыку» включало музыку.
Решение — начать с параметров предобучения. Они уже содержат сложные правила, поэтому дообучение не скатывается в «ленивые» решения и даёт обобщение. Пример Ли: многоязычный BERT, предобученный на 104 языках, дообучили на английском тесте на понимание текста и проверили на китайском (корпус DRCD) — F1 78 %, почти как у модели, которую дообучали на китайском без предобучения (78 %); с предобучением и китайским дообучением — 89 %.
Две дороги: «специалисты» и «универсал». Можно для каждой задачи дообучать отдельную модель (так делали с BERT), а можно учить одну модель всему сразу. Лаборатория Ли пробовала «универсала» ещё в 2019 году на GPT-2 и столкнулась с катастрофическим забыванием: выучив новую задачу, модель забывала старые. Затем вышли FLAN (Google, 2021) и T0 (Hugging Face); в 2022 году Google показала, что чем больше задач в инструкционном дообучении (до 1800), тем лучше модель на невиданных задачах.
InstructGPT (OpenAI, март 2022) обогнал FLAN и T0. Объяснение OpenAI — данные: не шаблоны из старых NLP-датасетов, а настоящие вопросы пользователей их API. И данных понадобилось немного — десятки тысяч примеров. Тот же вывод у Llama 2 (около 27 000 тщательно отобранных примеров, «quality is all you need») и LIMA («less is more for alignment»: 1000 примеров, написанных авторами).
Народное дообучение. У маленьких команд не было ни данных, ни предобученной модели. Данные начали получать «обратной разработкой» ChatGPT (Self-Instruct: просим сильную модель придумать вопросы и ответить на них). А открытие весов LLaMA компанией Meta «освободило мир»: появились Alpaca, Vicuna и множество потомков — дообучать стало можно каждому.
Лекция 8. Этап 3: практика оттачивает мастерство — RLHF
Заголовок раздела «Лекция 8. Этап 3: практика оттачивает мастерство — RLHF»Что меняется. Человек больше не пишет правильный ответ — он только говорит, какой из ответов лучше. Это проще (оценить легче, чем написать) и подходит для вопросов без единственного верного ответа.
Взгляд на результат целиком. На этапах 1–2 модель учится «правильно продолжать на каждом шаге» — это локальная цель. RLHF оценивает весь ответ, поэтому модель учится стратегии: какой ответ в итоге нравится людям.
Сравнение с AlphaGo. Обучение AlphaGo тоже шло так: сначала подражание партиям людей (аналог этапа 2), затем обучение с подкреплением по исходу партии. Разница: у го есть объективный исход (выигрыш), а у текста «хорошо» определяют люди — и их оценок мало.
Модель вознаграждения — «виртуальный человек». Её обучают предсказывать предпочтения людей, а затем языковая модель учится на её оценках сколько угодно. Но перебор вредит: в статье OpenAI 2020 года оценка «виртуального человека» растёт, а настоящих людей — после пика падает. Побочные эффекты Ли видит в самом ChatGPT: многословие, любовь к спискам «1, 2, 3…» с итогом «Overall», лишние извинения. Поэтому появились методы без явной модели вознаграждения — DPO и KTO; заменят ли они RLHF, по словам Ли (весна 2024), ещё неясно.
RLAIF. Оценивать может и ИИ — вплоть до самой модели, которая «рефлексирует» над своими ответами.
Что такое «хорошо»? «Научи меня делать порох»: отказ хорош с точки зрения безопасности и плох с точки зрения полезности. В Llama 2 обучали две модели вознаграждения — за полезность и за безопасность; как их совмещать — вопрос вкуса. А когда ИИ дойдёт до вопросов, на которые сами люди не знают ответа, откуда брать обратную связь?
Итог трёх лекций: этапы 2 и 3 вместе называют выравниванием (alignment) — подгонкой модели под предпочтения и потребности людей.
Лекция 9. ИИ-агенты на основе LLM
Заголовок раздела «Лекция 9. ИИ-агенты на основе LLM»Видео — в плейлисте курса; пересказ по краткому конспекту Vincia-Jun.
- Сдвиг способа использования. Сегодня мы даём ИИ разовые задачи (вопрос, перевод, текст). Агент получает цель и сам планирует, запоминает, рефлексирует и действует в несколько шагов, подстраиваясь к изменениям.
- Примеры, которые разбираются: AutoGPT, AgentGPT, BabyAGI, Godmode; «деревня» из ИИ-агентов, моделирующих социальное поведение; Voyager, который сам учится и исследует мир Minecraft; LLM, управляющие роботами; Talk2Drive — языковая модель в автопилоте.
- Цикл взаимодействия: агент наблюдает среду → сверяется с целью, памятью и планом → действует → получает новое наблюдение → при необходимости рефлексирует и меняет план.
Лекция 10. Как сегодняшние языковые модели продолжают текст — о Transformer
Заголовок раздела «Лекция 10. Как сегодняшние языковые модели продолжают текст — о Transformer»Путь входного текста через модель:
- Токенизация. Текст режется на токены по заранее составленному списку; популярный способ его построить — BPE (сливать частые пары). Этот модуль не обучается.
- Эмбеддинг токена. Каждый токен — вектор; близкие по смыслу токены оказываются рядом. Векторы — обучаемые параметры. Пока они не зависят от контекста: у слова одинаковый вектор в любом предложении.
- Позиционный эмбеддинг. К вектору прибавляется вектор позиции — иначе модель не знает порядка. Может быть задан вручную или выучен.
- Внимание (attention). Для каждого токена считаются оценки связи со всеми остальными, и векторы складываются с этими весами — получается контекстный эмбеддинг. Ли подчёркивает: статья «Attention Is All You Need» не изобрела внимание, а показала, что оно работает без RNN. В языковой модели внимание причинное — токен смотрит только налево (назад), потому что при генерации будущего ещё нет; к тому же уже посчитанное для прошлых токенов можно переиспользовать. Многоголовое внимание ловит разные типы связей.
- Полносвязная сеть (feed-forward) перерабатывает собранное вниманием.
- Блок «внимание + FFN» повторяется много раз — модель «думает» несколько раз; на выходе — линейный слой и softmax, то есть распределение вероятностей следующего токена.
Узкое место — длинный текст. Внимание считает связи всех пар, стоимость растёт как по длине: вдвое длиннее текст — вчетверо больше вычислений. Направления исследований: ускорить внимание, «обучать на коротком — применять к длинному» (train short, test long), архитектуры на замену вниманию — семейство Mamba (эффективно обучаемая разновидность RNN) и гибрид Jamba (Mamba + Transformer).
Лекция 11. О чём «думает» большая языковая модель — объяснимость
Заголовок раздела «Лекция 11. О чём «думает» большая языковая модель — объяснимость»Видео — в плейлисте курса; пересказ по конспекту Vincia-Jun.
Три слова, которые путают: прозрачность (открыты ли веса, данные, процесс обучения), интерпретируемость (модель сама по себе проста, как дерево решений), объяснимость (модель сложная, но её поведение можно объяснить внешними методами) — лекция о последней.
- Какие входы важны. «Чёрный ящик»: меняем часть входа и смотрим, как меняется ответ. «Белый ящик»: смотрим на веса внимания по слоям. Так же можно выяснить, какие примеры в промпте (in-context learning) повлияли на ответ.
- Какие обучающие данные важны. Функции влияния (influence functions; статья Anthropic 2023 года): какие примеры обучения сильнее всего повлияли на ответ — в том числе обнаружилось обучение «через языки».
- Что лежит в эмбеддингах. Пробинг — обучить маленький классификатор на векторах слоя (есть ли там, например, часть речи); у BERT нижние слои хранят поверхностные свойства, средние — синтаксис, верхние — смысл. Проекции эмбеддингов: на дерево разбора предложения, на карту мира и шкалу времени («Language Models Represent Space and Time»), «детектор лжи» по внутренним векторам.
- Пусть модель объяснит себя. GPT-4 описывает, за что отвечают нейроны GPT-2 (работа OpenAI); модель просят оценить важность слов во входе — насколько это объяснение честное, исследуется отдельно.
Что сделать руками
Заголовок раздела «Что сделать руками»- Дедупликация. Возьмите 1000 абзацев из любого веб-корпуса (например, из FineWeb-Edu) и найдите точные дубликаты хешированием. Сколько их? Это ровно эпизод с «рекламой свадебного агентства» из лекции 6.
- Роли в шаблоне. Подайте базовой модели (без чат-дообучения, например Qwen3-0.6B-Base) строку «Какая гора самая высокая в России? Эльбрус» и ту же строку с метками «Пользователь: … ИИ:» — сравните продолжения (лекция 7).
- Квадрат внимания. Посчитайте, сколько пар «токен — токен» обрабатывает внимание для 1 000, 8 000 и 128 000
токенов, и сколько это памяти для матрицы весов в
float16на одну голову (лекция 10).
Словарик
Заголовок раздела «Словарик»| Русский | Пояснение |
|---|---|
| «история совершенствования» | метафора из романов о боевых искусствах |
| предобучение | этап 1 |
| самообучение (self-supervised) | метки берутся из самих данных |
| гиперпараметры | выставляет человек |
| переобучение | |
| инструкционное дообучение | этап 2 |
| обучение с учителем | supervised learning |
| катастрофическое забывание | |
| обучение с подкреплением | RL |
| модель вознаграждения (reward model) | «виртуальный человек» |
| выравнивание (alignment) | этапы 2–3 |
| внимание / причинное внимание | attention / causal attention |
| объяснимость | explainability |