Ли Хунъи, «ML в эпоху генеративного ИИ» 2025: лекции 1–4
Конспект первых лекций курса «Машинное обучение в эпоху генеративного ИИ» (2025) профессора Ли Хунъи: обзор технологии генеративного ИИ за одну лекцию, устройство ИИ-агента (память, инструменты, планирование), «нейронаука ИИ» — что происходит внутри LLM, и конкуренты Transformer: линейное внимание, Mamba, DeltaNet.
Коротко
Заголовок раздела «Коротко»- Этот курс — продолжение «Введения в генеративный ИИ» 2024 года. Ли прямо советует перед ним посмотреть курс 2024 года (хотя бы до лекции 8) и свой курс «Машинное обучение 2021» (хотя бы до Transformer).
- Генеративный ИИ = токены + авторегрессия + глубокая сеть; если «глубины» (числа слоёв) не хватает, её заменяет «длина» — модель рассуждает дольше (масштабирование во время вывода).
- ИИ-агент — это LLM в цикле «наблюдение → действие», которая учится на опыте без изменения параметров: через память (RAG по своему опыту), инструменты и планирование.
- Внутри LLM: отдельный нейрон редко имеет ясный смысл; смысл живёт в направлениях пространства (функциональные векторы), их можно находить разреженным автокодировщиком и добавлять/вычитать, управляя поведением.
- Главное достоинство самовнимания — не «бесконечная память», а параллельное обучение. Линейное внимание — это RNN, которую тоже можно обучать параллельно; Mamba и DeltaNet возвращают ей умение забывать.
Как смотреть вместе с курсом
Заголовок раздела «Как смотреть вместе с курсом»| Лекция | Когда смотреть | Наш урок |
|---|---|---|
| 1 | после ступени 4 как «карта местности» или в начале ступени 6 | 4.1.1, 6.4.1 |
| 2 | вместе с модулем 8.3 | 8.3.1–8.3.3 |
| 3 | вместе с модулем 9.3 | 9.3.1, 9.3.2 |
| 4 | вместе с модулем 5.5 | 5.5.3 |
Лекция 1. Технический прорыв генеративного ИИ и его будущее — за одну лекцию
Заголовок раздела «Лекция 1. Технический прорыв генеративного ИИ и его будущее — за одну лекцию»Что умеет ИИ сегодня. Ли показывает своего «цифрового двойника»: текст написан ChatGPT, голос клонирован (BreezyVoice), видео собрано сервисом цифровых аватаров (HeyGen). Попытка поручить ИИ подготовку целой лекции (слайды и текст) даёт много материала быстро, но глубины, логики и юмора не хватает — замысел остаётся за человеком.
«Театр в голове». Модели вроде DeepSeek-R1 перед ответом пишут длинное рассуждение: проверяют себя, пробуют другие пути. Агенты идут дальше — выполняют многошаговые задачи: Deep Research (итеративный поиск), Computer Use / Operator (управление интерфейсом компьютера).
Как это работает. Любой объект (текст, картинка, звук) режется на конечный набор токенов и порождается авторегрессионно. Ли шутит, что поэтому сегодня любую авторегрессию зовут «языковой моделью». Нейросеть — функция, разложенная на слои: сложная задача превращается в цепочку простых шагов. Выход — распределение вероятностей следующего токена, из которого «бросают кости».
«Не хватает глубины — возьмём длиной». Число слоёв фиксировано, но если модель пишет больше промежуточных токенов, вычислений на задачу становится больше — это масштабирование во время вывода (test-time scaling): исследования показывают, что чем дольше модель «думает», тем выше точность; рассуждение можно даже искусственно продлевать, подменяя токен конца продолжением.
Слой изнутри: самовнимание (смотрит на весь контекст) + часть, которая «думает» над каждой позицией отдельно, — вместе это Transformer; кандидат на замену для длинных входов — Mamba (лекция 4).
Модель = архитектура («талант», задаёт человек — это гиперпараметр) + параметры («усердие», из данных). Размер модели (7B, 70B) — число параметров. Обучение — поиск параметров, при которых правильный следующий токен вероятнее всего; по сути генерация — это последовательность задач классификации.
От специалистов к универсалам. Сначала были кодировщики, к которым «пристёгивали» модули под задачу, потом модели, которые дообучали под каждую задачу, теперь — модели, выполняющие инструкции без изменения параметров. То же произошло в речи.
Как дать модели новую способность. Временно — инструкцией (параметры не меняются). Навсегда — дообучением, но с риском катастрофического забывания. Точечные способы — редактирование модели (поменять конкретный факт в параметрах) и слияние моделей (сложить способности без данных) — им посвящены следующие лекции.
Лекция 2. Принципы ИИ-агентов: опыт, инструменты, планирование
Заголовок раздела «Лекция 2. Принципы ИИ-агентов: опыт, инструменты, планирование»Что такое агент. Человек ставит цель, а не пошаговую инструкцию. Агент в цикле наблюдает среду, решает и действует, пока цель не достигнута. Идея старая (обучение с подкреплением: AlphaGo — тоже агент), но раньше под каждую задачу обучали свою модель и вручную придумывали награду. LLM даёт универсального агента: наблюдение — это текст на входе, действие — текст на выходе, а пространство действий не ограничено.
Где LLM-агенты пока слабы. В задачах со строгими правилами (например, шахматы по текстовой записи) модели делают недопустимые ходы. Зато они хороши в имитации поведения людей и в работе с инструментами. Новые направления — агенты, которые управляют компьютером мышью и клавиатурой по скриншотам, и голосовое общение не по очереди, а в реальном времени, с перебиваниями.
Учиться на опыте без обучения. Параметры не меняются — меняется контекст. Но весь опыт в контекст не влезет, поэтому нужна память:
- модуль записи решает, что стоит запомнить;
- модуль чтения достаёт из памяти релевантное — по сути RAG по собственному опыту;
- модуль рефлексии обобщает опыт в выводы (вплоть до графа знаний).
Наблюдения из исследований, которые приводит Ли: модели лучше учатся на положительных примерах («делай так»), чем на отрицательных; важнее качество воспоминаний, чем их количество.
Инструменты. Вызов функций (function calling): модель пишет вызов, система выполняет, результат возвращается в контекст. Инструментом может быть поиск, интерпретатор кода, другая модель — и даже инструмент, который агент написал себе сам. Но инструментам нельзя верить слепо: исследования показывают, что модели охотнее верят внешней информации, близкой к их собственным убеждениям, написанной другими ИИ, более свежей и лучше оформленной. И не каждую задачу стоит решать инструментом — иногда модель справится сама быстрее.
Планирование. Можно попросить модель сначала написать план, но план ломается при встрече с реальностью — нужно перепланирование после каждого наблюдения. Сильнее — поиск по дереву вариантов с отсечением плохих веток, а ещё лучше — проигрывать варианты «в уме», с моделью мира, не делая необратимых действий. Модели с рассуждением умеют это в своём «театре в голове», но склонны к переобдумыванию: могут так долго думать, что так и не действуют.
flowchart LR
E["Среда"] -->|"наблюдение"| L["LLM"]
L -->|"действие"| E
L <--> W["Запись"]
W --> M[("Память")]
M --> R["Чтение (RAG)"]
R --> L
M --> F["Рефлексия"]
F --> M
L <-->|"вызов / результат"| T["Инструменты"]
L <--> P["План, поиск,<br/>модель мира"]Лекция 3. Нейронаука ИИ: что происходит внутри языковой модели
Заголовок раздела «Лекция 3. Нейронаука ИИ: что происходит внутри языковой модели»Речь не об обучении, а об уже обученной модели: что происходит внутри, когда она отвечает. Ли называет это «нейронаукой ИИ».
Отдельный нейрон. Нейрон — одна координата вектора в слое: взвешенная сумма плюс функция активации. Известны громкие находки «нейрона Трампа» или «нейрона бабушки», но обычно один нейрон отвечает за многое, а одна функция распределена по многим нейронам. К тому же корреляция — не причина: надо проверять вмешательством (выключить нейрон и посмотреть, что изменится).
Слой целиком — функциональные векторы. Гипотеза: способность (например, «отказать в просьбе») — это направление в пространстве представлений слоя. Найти его можно просто: усреднить представления на запросах, где модель отказывает, вычесть среднее на обычных запросах. Прибавьте такой «вектор отказа» — модель начнёт отказывать даже на безобидных просьбах; вычтите — перестанет отказывать на опасных. Это называют representation / activation engineering. Лаборатория Ли ещё в 2020 году нашла «вектор языка», прибавление которого переключало модель с английского на китайский. Векторы работают не во всех слоях и складываются: из векторов «найти столицу первого слова» и «скопировать последнее слово» можно собрать «столица последнего слова».
Автоматический поиск векторов — разреженный автокодировщик (SAE). Предполагаем, что каждое представление — сумма немногих векторов из большого словаря, и обучаем словарь с штрафом за число активных векторов. Anthropic так нашла в Claude 3 Sonnet до 34 миллионов «признаков». Минус — очень дорого.
Несколько слоёв. Нужна «модель модели» — упрощённая схема, которая на конкретной задаче ведёт себя так же (точное воспроизведение называют faithfulness); систематический вариант — схемы (circuits). Ключ к «прозрачному мышлению» — остаточные связи: каждый слой лишь добавляет поправку к общему потоку, поэтому промежуточный поток можно сразу пропустить через выходной слой и посмотреть, какой токен модель «имеет в виду» на этом слое — это Logit Lens. Похожий метод Patchscope «просит» модель словами описать своё промежуточное представление; так видно, как многошаговый вывод (multi-hop) собирается по слоям, — и иногда, что промежуточный «язык мысли» модели не совпадает с языком вопроса.
Лекция 4. Конец эпохи Transformer? Конкуренты Transformer
Заголовок раздела «Лекция 4. Конец эпохи Transformer? Конкуренты Transformer»У каждой архитектуры есть причина. CNN — для картинок, остаточная связь — чтобы глубокие сети обучались. Чтобы понять, что заменит Transformer, нужно понять, зачем появилось самовнимание.
RNN. Скрытое состояние — «память», которую на каждом шаге обновляют по новому входу. Проблема — обучение нельзя распараллелить: шаг ждёт шага .
Самовнимание. Через Q, K, V и матричные умножения смешивает информацию всех позиций сразу; его главное достоинство — параллельное обучение на GPU. А «бесконечная память» — иллюзия: возможности внимания различать позиции ограничены размерностью векторов запросов и ключей, и когда последовательность сильно длиннее, «воспоминания» начинают путаться. Минус внимания — при выводе стоимость и память растут с длиной.
Линейное внимание = RNN, которую можно обучать параллельно. Если убрать из RNN зависимость обновления от самого состояния («рефлексию»), её можно переписать как внимание без softmax — и обучать параллельно, как Transformer, а при выводе тратить постоянную память, как RNN. Цена — память «не умеет забывать»: что записано, остаётся навсегда. Именно softmax в обычном внимании даёт относительную важность — эффект забывания и фокуса.
Возвращаем забывание. Обучаемые «ворота» затухания (Gated Retention, Mamba-2) позволяют стирать старое; DeltaNet трактует обновление памяти как шаг градиентного спуска — память «учится во время вывода». По словам Ли, Mamba стала первой архитектурой такого рода, которая по качеству чуть обошла Transformer, а при выводе заметно быстрее.
Что на практике. Mamba-подобные блоки уже используют в LLM и генерации изображений; популярный путь — не учить с нуля, а переделывать готовый Transformer, заменяя часть слоёв и дообучая.
Что сделать руками
Заголовок раздела «Что сделать руками»- Logit Lens за вечер. Возьмите Qwen3-0.6B в
transformers, получите скрытые состояния всех слоёв (output_hidden_states=True), пропустите каждое через финальную нормализацию иlm_headи напечатайте топ-1 токен по слоям для фразы «Столица Франции — это». На каком слое появляется «Париж»? - Вектор отказа. На той же модели усредните представление среднего слоя для 20 «опасных» и 20 обычных запросов, вычтите — и прибавьте разность (с коэффициентом) к представлению безобидного запроса через хук. Изменилось ли поведение? (Делайте только с локальной моделью и безобидными тестами.)
- RNN против внимания. Посчитайте память KV-кэша для 1, 32 и 128 тысяч токенов у Qwen3-8B и сравните с постоянным размером состояния у модели с линейным вниманием (урок 5.5.3).
Словарик
Заголовок раздела «Словарик»| Русский | Пояснение |
|---|---|
| «театр в голове» | рассуждение модели перед ответом |
| масштабирование во время вывода (test-time scaling) | больше вычислений на этапе ответа |
| архитектура / параметры | «талант» / «усердие» |
| непрерывное обучение | lifelong learning |
| память / рефлексия | модули агента |
| вызов функций (function calling) | |
| планирование / модель мира | |
| нейрон | одна координата представления |
| функциональный вектор | направление со смыслом |
| разреженный автокодировщик (SAE) | |
| остаточная связь | residual connection |
| линейное внимание | linear attention |