«Глубокое погружение в LLM»: как устроен ChatGPT
Подробный конспект 3,5-часовой лекции Андрея Карпатого: данные из интернета, токены, претрейн, базовая модель, SFT, галлюцинации и инструменты, «психология» моделей, RL, DeepSeek-R1, AlphaGo и RLHF — по главам и с таймкодами.
Лекция Андрея Карпатого (сооснователь OpenAI, бывший директор по ИИ в Tesla) для людей без технической подготовки. За три с половиной часа он проходит весь путь ChatGPT-подобной модели: от скачивания интернета до рассуждающих моделей, обученных с подкреплением. Формул нет, кода почти нет, зато много живых демонстраций и точных «ментальных моделей»: как думать о том, с кем вы разговариваете в окне чата.
Конспект написан по полной расшифровке видео. Это пересказ своими словами: порядок и главные мысли — как у автора, пояснения, связки с курсом и часть примеров — наши. Таймкоды взяты из официального списка глав в описании видео; каждый ведёт на нужную минуту.
Коротко
Заголовок раздела «Коротко»- Три стадии обучения. Сначала претрейнпредобучение, претрейнEN pretraining: модель читает отфильтрованный интернет и учится предсказывать следующий токен. Получается базовая модельбазовая модельEN base model — «симулятор интернет-документов». Потом обучение с учителем на инструкцияхобучение с учителем на инструкциях (SFT)EN supervised fine-tuning (SFT): те же алгоритмы, но на диалогах, которые написали люди по инструкциям компании. Получается ассистент. Наконец RL — модель решает задачи сама и закрепляет то, что привело к верному ответу.
- Аналогия с учебником. Объяснительный текст главы — это претрейн, разобранные примеры с решениями — SFT, задачи для самостоятельного решения с ответами в конце книги — RL.
- Знания в весах — смутное воспоминание, текст в контексте — рабочая память. Отсюда галлюцинации и способы с ними бороться: учить модель говорить «не знаю» и давать ей инструменты (поиск, интерпретатор Python).
- Моделям нужны токены, чтобы думать. На каждый токен сеть тратит ограниченный объём вычислений, поэтому решение нужно «размазывать» по многим токенам. Счёт, арифметика в уме и работа с отдельными буквами — слабые места.
- RL открывает стратегии, которых люди не писали. Рассуждающие модели (DeepSeek-R1, o1/o3) сами научились перепроверять себя. RLHF же — это «не настоящий RL»: модель вознаграждения можно обмануть, поэтому обучение приходится рано останавливать.
- Как пользоваться: как инструментом с «дырами в сыре» — для черновиков и идей, всегда проверяя результат.
Как смотреть вместе с курсом
Заголовок раздела «Как смотреть вместе с курсом»- Ступень 0. Смотрите целиком вместе с уроком 0.0.1 «Что такое ИИ, машинное обучение и LLM». Не пытайтесь понять всё: это карта местности на весь курс. Если три с половиной часа подряд — много, делите по частям этого конспекта (пять частей по 30–60 минут).
- Ступень 4. Пересмотрите главы о токенизации и инференсе перед модулями 4.1 и 4.2 — там вы напишете то же самое руками: BPE с нуля, сэмплирование.
- Ступени 5 и 6. Главы о данных и GPT-2 — перед данными для претрейна; главы о SFT, RL и RLHF — перед модулями 6.1, 6.3 и 6.4.
- Ступень 8. Главы о галлюцинациях и инструментах — перед инструментами и MCP.
- Есть любительский русский перевод видео ⚠ (не проверяли целиком); также можно включить автоперевод субтитров или закадровый перевод в Яндекс Браузере.
flowchart LR A["Интернет<br/>(FineWeb, ~15 трлн токенов)"] --> B["Претрейн<br/>месяцы, тысячи GPU"] B --> C["Базовая модель<br/>симулятор документов"] C --> D["SFT на диалогах<br/>часы"] D --> E["Ассистент<br/>(GPT-4o)"] E --> F["RL на задачах<br/>с проверяемым ответом"] F --> G["Рассуждающая модель<br/>(o1, o3, DeepSeek-R1)"]
Карта видео
Заголовок раздела «Карта видео»| № | Время | Глава оригинала | О чём | Урок курса |
|---|---|---|---|---|
| 1 | 00:00:00 | introduction | Что за текстовое окно в ChatGPT и что за ним стоит | 0.0.1 |
| 2 | 00:01:00 | pretraining data (internet) | FineWeb, Common Crawl, фильтры | 5.1.2 |
| 3 | 00:07:47 | tokenization | Биты → байты → BPE, словарь GPT-4 | 4.2.1, 4.2.2 |
| 4 | 00:14:27 | neural network I/O | Окно токенов на входе, вероятности на выходе | 4.1.1 |
| 5 | 00:20:11 | neural network internals | Параметры, трансформер как формула | 4.5.1 |
| 6 | 00:26:01 | inference | Генерация токен за токеном | 4.1.3 |
| 7 | 00:31:09 | GPT-2: training and inference | Как выглядит обучение «изнутри», GPU | 4.6.3, 5.4.3 |
| 8 | 00:42:52 | Llama 3.1 base model inference | Что умеет базовая модель | 6.1.1 |
| 9 | 00:59:23 | pretraining to post-training | Переход ко второй стадии | 6.1.1 |
| 10 | 01:01:06 | post-training data (conversations) | Диалоги, разметчики, InstructGPT | 6.1.2 |
| 11 | 01:20:32 | hallucinations, tool use, knowledge/working memory | Откуда галлюцинации и как их лечат | 8.3.2 |
| 12 | 01:41:46 | knowledge of self | Почему модель «не знает, кто она» | 6.1.2 |
| 13 | 01:46:56 | models need tokens to think | Вычисления на токен, счёт, арифметика | 6.4.4 |
| 14 | 02:01:11 | tokenization revisited | Почему модели плохо работают с буквами | 4.2.3 |
| 15 | 02:04:53 | jagged intelligence | «9.11 больше 9.9?» | — |
| 16 | 02:07:28 | supervised finetuning to reinforcement learning | Аналогия со школьным учебником | 6.3.1 |
| 17 | 02:14:42 | reinforcement learning | Пробы и ошибки на задачах с ответом | 6.4.1 |
| 18 | 02:27:47 | DeepSeek-R1 | Рассуждения как свойство, возникшее в RL | 6.4.2 |
| 19 | 02:42:07 | AlphaGo | RL обгоняет подражание людям, ход 37 | 6.0 |
| 20 | 02:48:26 | RLHF | Модель вознаграждения и почему это «не настоящий RL» | 6.3.2 |
| 21 | 03:09:39 | preview of things to come | Мультимодальность, агенты, обучение во время работы | 8.3, 9.1 |
| 22 | 03:15:15 | keeping track of LLMs | Где следить за новостями | 9.2.2 |
| 23 | 03:18:34 | where to find LLMs | Где запускать модели | 7.2.2, 8.1.1 |
| 24 | 03:21:46 | grand summary | Итог: с кем вы разговариваете | — |
Часть I. Претрейн: от интернета к базовой модели
Заголовок раздела «Часть I. Претрейн: от интернета к базовой модели»1. Вступление (00:00:00)
Заголовок раздела «1. Вступление (00:00:00)»Карпатый начинает с вопроса, который задаёт себе любой пользователь: что стоит за текстовым окном ChatGPT? Что туда писать, откуда берутся слова ответа и с чем, собственно, вы разговариваете? Цель лекции — дать «ментальные модели» этого инструмента: где он силён, где слаб и где у него острые края. Попутно автор обещает говорить о «психологических» следствиях того, как модели обучены.
2. Данные из интернета (00:01:00)
Заголовок раздела «2. Данные из интернета (00:01:00)»Первый шаг претрейна — скачать и обработать интернет. Карпатый показывает открытый датасет FineWeb от Hugging Face: у каждой крупной лаборатории есть внутренний аналог. Требования к такому набору — три: текста много, текст качественный и он разнообразный (чтобы в модель попало много знаний).
Сколько это в байтах? Неожиданно немного: после всех фильтров FineWeb занимает около 44 ТБ — несколько жёстких дисков. Интернет огромен, но мы берём только текст и выбрасываем большую часть.
Основной источник сырья — Common Crawl: организация, которая обходит интернет с 2007 года (к 2024-му проиндексировано 2,7 млрд страниц). Дальше сырые страницы проходят конвейер фильтров:
- Фильтр по адресам — чёрные списки доменов: вредоносные сайты, спам, маркетинг, сайты для взрослых, расистские.
- Извлечение текста — из HTML с разметкой, CSS и меню оставляют только содержательный текст страницы.
- Фильтр по языку — классификатор угадывает язык; FineWeb, например, оставляет страницы, где английского больше 65%. Это решение компании: выбросите испанский — модель будет плохо говорить по-испански.
- Дедупликация и другие фильтры качества.
- Удаление персональных данных — адресов, номеров документов и т. п.
На выходе — просто огромная лента текста: статья о торнадо 2012 года, заметка о надпочечниках и так далее. Если склеить даже первые 200 страниц, получится бесконечное «полотно» текста со своими закономерностями. Задача нейросети — эти закономерности усвоить.
3. Токенизация (00:07:47)
Заголовок раздела «3. Токенизация (00:07:47)»Нейросеть принимает одномерную последовательность символов из конечного набора. Какие символы выбрать?
- Компьютер хранит текст в кодировке UTF-8 — это последовательность битов. Символов всего два (0 и 1), зато последовательность очень длинная. А длина последовательности для нейросети — дорогой и ограниченный ресурс.
- Сгруппируем по 8 битов — получим байты: 256 возможных символов, последовательность в 8 раз короче. Карпатый советует думать о них не как о числах, а как о 256 разных эмодзи: число здесь — просто имя.
- Продолжим сжимать алгоритмом BPE (byte pair encoding): находим самую частую пару соседних символов (например, байт 116, за которым идёт 32) и заменяем её новым символом с номером 256. Повторяем. Каждый шаг укорачивает текст и расширяет словарь.
На практике хорошим оказался словарь около 100 тысяч символов; у GPT-4 — 100 277 токеновтокенEN tokenВ разговорной речи и статьях китайцы чаще всего пишут просто «token».. Перевод текста в токены и называется токенизацией.
Демонстрация — сайт Tiktokenizer с токенизатором cl100k_base (базовая модель GPT-4): «hello world» — это два
токена, «hello» (номер 15339) и « world» с пробелом впереди (номер 1917). Уберите пробел, поставьте два пробела или
заглавную букву — разбиение изменится. FineWeb в этих единицах — примерно 15 триллионов токенов.
4. Вход и выход нейросети (00:14:27)
Заголовок раздела «4. Вход и выход нейросети (00:14:27)»Обучение устроено так. Из данных берут случайное «окно» токенов — от нуля до некоторой максимальной длины (на практике, скажем, 8 тысяч токенов; больше — дорого). Для наглядности Карпатый берёт окно из четырёх токенов. Это контекст; задача — предсказать пятый токен.
На выходе сеть выдаёт ровно столько чисел, сколько токенов в словаре (100 277), — вероятность каждого стать следующим. В начале сеть случайная, и вероятности случайные: правильному токену досталось, допустим, 3%. Но мы знаем правильный ответ (он есть в данных), поэтому можем математически подправить сеть так, чтобы вероятность правильного токена выросла (до 4%), а остальных — упала. Это и есть шаг обучения.
Важно, что так делается не для одного окна, а одновременно для огромных пачек окон — для каждого токена в каждом окне. Обучение — это длинная серия таких маленьких поправок, после которых предсказания сети совпадают со статистикой того, какие токены за какими следуют в данных. Подробно — в уроке 4.1.1 «Что такое языковая модель».
5. Что внутри нейросети (00:20:11)
Заголовок раздела «5. Что внутри нейросети (00:20:11)»Внутри — большая математическая формула, которая смешивает входные токены с параметрами (весами). У современных сетей параметров миллиарды; в начале они случайны. Карпатый сравнивает их с ручками диджейского пульта: крутим ручки — меняются предсказания. Обучить сеть — значит найти положение ручек, при котором предсказания согласуются с данными.
Сама формула не страшная: умножения, сложения, возведения в степень, деления. Исследования архитектур — это поиск формул, которые хорошо выражают закономерности, хорошо оптимизируются и хорошо распараллеливаются.
Дальше — интерактивная 3D-визуализация маленького трансформератрансформерEN TransformerАрхитектура из статьи «Attention Is All You Need» (2017) — стопка одинаковых блоков из внимания и FFN без рекуррентности. В китайских текстах название обычно не переводят. (около 85 тысяч параметров): токены превращаются в векторы (эмбеддинги), проходят через блок внимания и многослойный перцептрон, на выходе — вероятности следующего токена. Промежуточные значения можно считать «частотой срабатывания» искусственных нейронов, но Карпатый предостерегает от аналогии с мозгом: у биологического нейрона есть память и сложная динамика, а здесь — фиксированная формула без состояния: вход → выход. Как устроен блок, вы разберёте в уроке 4.5.1.
6. Инференс (00:26:01)
Заголовок раздела «6. Инференс (00:26:01)»Инференс — генерация новых данных обученной моделью. Даём начальный токен, получаем вектор вероятностей и «подбрасываем нечестную монетку»: токены с большой вероятностью выпадают чаще. Выпавший токен дописываем в конец и повторяем.
Модель стохастична: иногда она воспроизводит кусок обучающего текста дословно, но чаще уже через несколько токенов уходит в сторону. Получаются «ремиксы» обучающих данных — статистически похожие, но не идентичные.
Ещё одна важная мысль: когда вы говорите с ChatGPT, обучения уже нет. Веса заморожены несколько месяцев назад, и всё, что происходит, — инференс: модель достраивает последовательность токенов. Поиграть с сэмплированием руками — в уроке 4.1.3.
7. GPT-2: обучение и инференс (00:31:09)
Заголовок раздела «7. GPT-2: обучение и инференс (00:31:09)»Карпатый любит GPT-2 (OpenAI, 2019): это первая модель, где сошёлся узнаваемо современный набор приёмов, — сегодня всё то же самое, только крупнее. Цифры GPT-2 против современных:
| GPT-2 (2019) | Современные модели | |
|---|---|---|
| Параметры | 1,6 млрд | сотни миллиардов — около триллиона |
| Максимальный контекст | 1024 токена | сотни тысяч — миллион |
| Токенов в обучении | ≈100 млрд | FineWeb — 15 трлн |
Обучение GPT-2 в 2019 году стоило около 40 тыс. долл. Карпатый воспроизвёл её в проекте llm.c: примерно сутки и 600 долл., «не особо стараясь», а сейчас, по его оценке, можно уложиться в 100 долл. Причины: данные стали чище, но главное — быстрее железо и лучше софт, который выжимает из железа всё.
Дальше — экран исследователя во время обучения. Каждая строка — одно обновление весов, улучшающее предсказания сразу на миллионе токенов; шаг длится около 7 секунд; всего 32 тысячи шагов, то есть примерно 33 млрд токенов. Главное число — функция потерьфункция потерьEN loss function (функция потерь): чем ниже, тем лучше предсказания. Каждые 20 шагов модель что-то генерирует: на первых шагах — случайный набор токенов, через 1% обучения — уже местами связные обрывки фраз. Остаётся пить кофе и следить, что loss падает.
Считается это не на ноутбуке, а на арендованном узле 8×H100 (Карпатый арендует у Lambda; цена в лекции — около 3 долл. за GPU в час). GPU хороши для нейросетей, потому что умножение матриц легко распараллелить. Узлы объединяют в дата-центры; за видеокартами идёт «золотая лихорадка» — и всё это, по сути, чтобы точнее предсказывать следующий токен на наборе вроде FineWeb.
8. Базовая модель Llama 3.1 (00:42:52)
Заголовок раздела «8. Базовая модель Llama 3.1 (00:42:52)»Обучить большую модель самому — десятки и сотни миллионов долларов. К счастью, некоторые компании публикуют базовые модели — результат претрейна. Публикация состоит из двух частей: код прямого прохода (несколько сотен строк, обычно стандартный) и сами параметры — главная ценность, длинный список чисел.
GPT-2 (опубликована версия на 1,5 млрд параметров) уже стара, поэтому Карпатый берёт Llama 3.1 405B от Meta: 405 млрд параметров, 15 трлн токенов. Он запускает базовую версию через сервис Hyperbolic и показывает, что это такое:
- Это не ассистент. На вопрос «сколько будет 2 + 2» модель не отвечает, а продолжает текст как веб-страницу — иногда отвечает, иногда уходит в философию. Это очень дорогое автодополнение.
- Она стохастична. Один и тот же префикс каждый раз даёт новое продолжение.
- В весах много знаний. Можно думать о 405 млрд параметров как о сжатом интернете — но сжатом с потерями, как zip-архив, который помнит «общее впечатление». Попросите «топ-10 достопримечательностей Парижа» в виде начала списка — модель продолжит, и что-то будет верным, но доверять полностью нельзя: частое запоминается лучше редкого.
- Отрыгивание (regurgitation). Вставьте первую фразу статьи Википедии о зебрах — модель продолжит её почти дословно на сотни токенов. Качественные источники вроде Википедии при обучении показывают чаще (несколько эпох), и модель их запоминает. Обычно это нежелательно.
- Галлюцинации о будущем. Знания Llama 3.1 заканчиваются концом 2023 года. Дайте ей начало фразы о выборах 2024-го — она уверенно сочинит «параллельную вселенную» с другими кандидатами, и при каждом запуске новую.
- Обучение в контексте. Базовой модели можно дать few-shotfew-shot (примеры в промпте)EN few-shot promptingНесколько пар «вход → выход» прямо в промпте; модель подхватывает формат без дообучения (in-context learning). Zero-shot — без примеров.-промпт: десять пар «английское слово — перевод на корейский» и в конце новое слово. Модель уловит закономерность и переведёт. На этом можно строить приложения даже без ассистента.
- Ассистент из одного промпта. Если оформить текст как веб-страницу с диалогом «человек — полезный ИИ-ассистент» и несколькими примерами реплик, базовая модель подхватит роль и ответит на ваш вопрос. Правда, потом начнёт сочинять следующий вопрос «человека» сама.
Итог первой стадии: интернет → токены → нейросеть предсказывает токены → базовая модель, симулятор интернет-документов на уровне токенов. Её отличие от ассистента — в уроке 6.1.1.
Часть II. Пост-трейнинг: как получается ассистент
Заголовок раздела «Часть II. Пост-трейнинг: как получается ассистент»9. От претрейна к пост-трейнингу (00:59:23)
Заголовок раздела «9. От претрейна к пост-трейнингу (00:59:23)»Нам нужен не симулятор документов, а ассистент, который отвечает на вопросы. Это делает вторая стадия — пост-трейнингпост-трейнинг, дообучение после претрейнаEN post-training. Она намного дешевле: почти все деньги и дата-центры уходят на претрейн.
10. Данные для пост-трейнинга: диалоги (01:01:06)
Заголовок раздела «10. Данные для пост-трейнинга: диалоги (01:01:06)»Ассистента не программируют кодом — это нейросеть. Его поведение задают примерами: собирают набор многоходовых диалогов «человек — ассистент», где ответы ассистента идеальны. В наборе есть и вежливые ответы с характером, и отказы на то, с чем помогать не надо. Модель берут после претрейна, выбрасывают интернет-документы, ставят на их место диалоги и продолжают обучение тем же алгоритмом. Претрейн занимает порядка трёх месяцев на тысячах компьютеров, эта стадия — порядка трёх часов: диалогов гораздо меньше.
Как диалог становится токенами. Нужен протокол, как у сетевых пакетов TCP/IP. Например, у GPT-4o реплика
начинается специальным токеном <|im_start|>, затем указано, чья это реплика (user или assistant), разделитель
<|im_sep|>, текст реплики и <|im_end|>. Такие специальные токеныспециальный токен (спецтокен)EN special tokenУправляющий токен, а не кусок текста — начало/конец текста (BOS/EOS), заполнитель для батча (PAD), разметка ролей в чате (например, <|im_start|> у Qwen). появляются только
на пост-трейнинге. Короткий диалог из двух реплик превращается примерно в 49 токенов — обычную одномерную
последовательность, на которой работает всё, что было раньше. Когда вы пишете в ChatGPT, сервер дописывает в конец
<|im_start|>assistant<|im_sep|> и дальше просто сэмплирует ответ. Подробнее о шаблонах — в уроке 6.1.2.
Откуда берутся диалоги. Первая открытая работа — InstructGPT (OpenAI, 2022). Компания наняла разметчиков (через Upwork и Scale AI): они придумывают запросы и пишут к ним идеальные ответы по инструкциям для разметки. Суть инструкций — быть полезным, правдивым и безвредным; в реальности это сотни страниц, которые разметчики изучают профессионально. Датасет InstructGPT не опубликован, но есть открытые попытки повторить подход, например Open Assistant.
Сейчас люди редко пишут ответы с нуля: черновик делает существующая LLM, человек правит. Современные наборы (Карпатый показывает UltraChat) содержат миллионы в основном синтетических диалогов на самые разные темы.
Главная мысль главы. Ответ ChatGPT — это не «магический ИИ», а статистическая симуляция разметчика, который следует инструкциям компании. Причём разметчики часто эксперты: на вопросы о коде отвечают программисты. Если ваш вопрос (например, «пять главных достопримечательностей Парижа») был в наборе, вы получите почти то, что написал человек, потративший 20 минут на поиск. Если не был — ответ складывается из знаний претрейна и стиля, усвоенного из диалогов.
Часть III. «Психология» LLM
Заголовок раздела «Часть III. «Психология» LLM»11. Галлюцинации, инструменты, знания и рабочая память (01:20:32)
Заголовок раздела «11. Галлюцинации, инструменты, знания и рабочая память (01:20:32)»Откуда галлюцинациигаллюцинацияEN hallucination. В обучающих диалогах на вопросы вида «Кто такой X?» всегда даётся уверенный ответ: разметчик знал человека или нашёл его в интернете. Модель усваивает стиль — на «кто такой» отвечать уверенно. Спросите про выдуманного «Орсона Коваца» старую модель (Карпатый берёт Falcon 7B) — она каждый раз сочиняет новое: писатель-фантаст, персонаж сериала 1950-х, бейсболист. Модель «не знает», что не знает, — точнее, где-то внутри, возможно, знает, но этот сигнал не связан со словами «я не знаю».
Средство №1: научить говорить «не знаю». Так, по описанию Карпатого, поступила Meta с Llama 3 (в статье это раздел о фактической точности):
- Берут абзац из обучающих данных и просят LLM составить по нему фактические вопросы с ответами. Это надёжно: текст лежит прямо в контексте.
- Задают каждый вопрос проверяемой модели несколько раз и сравнивают ответы с правильным (тоже автоматически — LLM-судьёй).
- Если модель стабильно отвечает верно — она знает. Если путается (в примере: сколько Кубков Стэнли выиграл хоккеист Доминик Гашек — правильно 2, модель называет то 4, то 0), — не знает.
- Для «незнакомых» вопросов в обучающий набор добавляют диалог, где правильный ответ — «Извините, я не помню».
Нескольких таких примеров хватает, чтобы модель связала внутренний «нейрон неуверенности» с отказом отвечать.
Средство №2: инструменты. Человек, не помнящий факт, идёт искать. Модели дают такую же возможность: вводят
специальные токены вроде <SEARCH_START>…<SEARCH_END>. Встретив закрывающий токен, программа, которая крутит
модель, приостанавливает генерацию, выполняет поиск (у OpenAI — через Bing), вставляет текст найденных страниц в
контекст и продолжает. Учат этому, как и всему, примерами: нескольких тысяч диалогов с правильным использованием
поиска достаточно, а что такое хороший запрос, модель уже понимает из претрейна. Подробнее о
вызове инструментоввызов инструментовEN tool calling / function calling — в уроке 8.3.2.
Ключевая формула главы:
знания в параметрах — смутное воспоминание о прочитанном давно; токены в контекстном окнеконтекстное окноEN context window — рабочая память, доступная напрямую.
Практический вывод: если хотите, чтобы модель работала с конкретным текстом, дайте ей этот текст. Просьба «перескажи первую главу „Гордости и предубеждения“» сработает сносно (книга знаменита), но если вставить саму главу в сообщение, пересказ будет заметно точнее — как у человека, который только что её перечитал.
12. Знание о себе (01:41:46)
Заголовок раздела «12. Знание о себе (01:41:46)»Вопросы «Какая ты модель? Кто тебя сделал?» Карпатый называет бессмысленными. У модели нет постоянного «я»: она запускается, обрабатывает токены одного разговора и всё забывает. Без специальной настройки ответ будет статистической догадкой: старый Falcon уверенно говорит, что его сделала OpenAI на основе GPT-3. Это не значит, что его учили на данных OpenAI, — просто в интернете полно текстов, где ассистент называет себя ChatGPT.
Разработчики переопределяют это двумя способами:
- данными — в наборе модели OLMo 2 от Allen Institute есть 240 жёстко заданных диалогов вида «Расскажи о себе» → «Я OLMo, открытая модель от AI2…» (среди примерно миллиона диалогов SFT);
- системным промптомсистемный промптEN system promptСообщение с ролью system — правила для модели (роль, тон, формат). Технически это просто первый блок текста в chat-шаблоне. — невидимым сообщением в начале разговора: «Ты ChatGPT-4o от OpenAI, знания до такой-то даты…».
И то и другое — «приклеено сверху», а не какое-то настоящее самосознание.
13. Моделям нужны токены, чтобы думать (01:46:56)
Заголовок раздела «13. Моделям нужны токены, чтобы думать (01:46:56)»Самая практичная глава. Задача для обучающего диалога: «Эмили купила 3 яблока и 2 апельсина. Апельсин стоит 2 долл., всего она заплатила 13 долл. Сколько стоит яблоко?» Два ответа, оба с верным числом 3:
- А: «Ответ: 3 долл. Потому что 2 апельсина стоят 4, 13 − 4 = 9, 9 / 3 = 3».
- Б: «Апельсины стоят 2 · 2 = 4. На яблоки остаётся 13 − 4 = 9. Одно яблоко — 9 / 3 = 3. Ответ: 3 долл.»
Ответ А для обучения ужасен. Модель пишет токены слева направо, и на каждый токен у неё ограниченный и примерно постоянный объём вычислений — фиксированное число слоёв (у крупных моделей порядка сотни). В ответе А вся задача должна решиться в одном токене «3», а объяснение после него — подгонка под уже выданный ответ. В ответе Б вычисления разнесены по многим токенам, каждый шаг простой, промежуточные результаты лежат в контексте.
Карпатый проверяет это «по-злому»: просит ChatGPT ответить одним токеном. На простых числах получается; на задаче с 23 яблоками и 177 апельсинами модель выдаёт 5 вместо правильных 7. Без ограничения — расписывает шаги и решает верно.
Выводы:
- длинное «скучное» решение модели — не для вас, а для неё самой;
- арифметике «в уме» модели не доверяйте — просите использовать код: она напишет программу на Python, интерпретатор её выполнит, и результат будет надёжным;
- то же со счётом: «сколько точек ниже?» (их 177) модель решает одним токеном и ошибается, а с кодом — копирует строку в Python и вызывает подсчёт. Копировать токены модели легко, считать — трудно.
Откуда у рассуждающих моделей длинные цепочки мыслей и как ими управлять — в уроке 6.4.4.
14. Снова токенизация: проблемы с буквами (02:01:11)
Заголовок раздела «14. Снова токенизация: проблемы с буквами (02:01:11)»Модель видит не буквы, а токены. Слово «ubiquitous» для GPT-4o — три токена, и сколько в каждом каких букв, модели пришлось выучить косвенно. Поэтому задачи вида «выпиши каждую третью букву» часто проваливаются, а с кодом решаются. Знаменитый пример — «сколько букв r в слове strawberry»: долго все модели отвечали «две». Здесь сходятся две слабости: модель не видит буквы и плохо считает. Карпатый замечает, что многие хотели бы вовсе отказаться от токенов в пользу байтов или символов, но тогда последовательности станут очень длинными, и как с этим работать, пока не знают.
15. Рваный интеллект (02:04:53)
Заголовок раздела «15. Рваный интеллект (02:04:53)»Модели решают олимпиадные задачи, но иногда уверяют, что 9.11 больше 9.9. Ответ к тому же нестабилен — от запуска к запуску меняется. Карпатый пересказывает (сам статью, по его словам, не читал): исследователи заглядывали в активации и видели, что срабатывают нейроны, связанные с библейскими стихами, — а там «стих 9:11» действительно идёт после «9:9». Вывод: это стохастическая система, «волшебная», но ненадёжная. Пользуйтесь ей как инструментом, а не запускайте на задачу и не копируйте результат не глядя.
Часть IV. Обучение с подкреплением
Заголовок раздела «Часть IV. Обучение с подкреплением»16. От SFT к RL (02:07:28)
Заголовок раздела «16. От SFT к RL (02:07:28)»Краткий повтор: претрейн дал базовую модель (несколько месяцев, тысячи компьютеров, сжатый интернет), SFT — ассистента. Третья стадия — обучение с подкреплением (reinforcement learning, RL); в компаниях каждой стадией занимается своя команда, модель передаётся «по эстафете».
Мотивация — школьный учебник, где есть три вида информации:
| В учебнике | Что делает ученик | Стадия обучения LLM |
|---|---|---|
| Объяснительный текст | читает, набирает фон | претрейн |
| Разобранные задачи с решением эксперта | подражает решению | SFT |
| Задачи в конце главы, ответ — в конце книги | сам ищет путь к известному ответу | RL |
flowchart TB P["Объяснения в учебнике"] --- PT["Претрейн: знания"] W["Разобранные примеры"] --- S["SFT: подражание эксперту"] E["Упражнения с ответами"] --- R["RL: свои способы решения"]
17. Обучение с подкреплением (02:14:42)
Заголовок раздела «17. Обучение с подкреплением (02:14:42)»Вернёмся к задаче про Эмили. Её можно решить по-разному: системой уравнений, рассуждением словами, сразу числами. Какое решение лучше для модели? Разметчик этого не знает: что легко человеку, может быть «прыжком» для модели, а многие шаги, полезные человеку, ей не нужны. Наши знания тоже другие: модель знает больше нас в одних областях, а в наших решениях могут быть сведения, которых нет у неё в весах. Значит, решения для неё лучше пусть ищет она сама.
Как это работает (Карпатый показывает на маленькой модели Gemma 2 2B):
- Берём задачу с известным ответом и генерируем много решений — на практике тысячи на одну задачу. Из-за сэмплирования они все разные.
- Проверяем ответы: одни верны (зелёные), другие нет (красные).
- Обучаемся на удачных решениях: модель становится чуть более склонной так рассуждать. В простейшем варианте можно взять одно лучшее решение — верное и, например, самое короткое.
- Повторяем на десятках тысяч задач по математике, коду и другим областям.
Решения, на которых учится модель, придумала не человек, а она сама: это её «практика». SFT при этом полезен как инициализация — он приводит модель в окрестность правильных решений, а RL «доводит до ума». Сам принцип — «угадай и проверь», но деталей много (как выбирать лучшие решения, сколько на них учиться, какие задачи давать), и поэтому эта стадия молода и нестандартна: компании долго экспериментировали с ней молча. Алгоритмы — в уроках 6.3.1 и 6.4.1 «GRPO».
18. DeepSeek-R1 (02:27:47)
Заголовок раздела «18. DeepSeek-R1 (02:27:47)»Поэтому так прогремела статья китайской компании DeepSeek о модели R1: в ней публично и с деталями описано RL-дообучение LLM и показано, какие способности к рассуждению оно открывает. Что видно в статье:
- точность на математических задачах (бенчмарк AIME) растёт с тысячами шагов RL;
- длина ответа тоже растёт: модель учится писать длинные решения;
- в решениях появляются фразы вроде «Подожди, подожди… Это момент озарения. Давай перепроверим шаг за шагом» — модель сама научилась пробовать разные подходы, возвращаться назад, перепроверять. Это цепочки мыслей (цепочка рассужденийцепочка рассужденийEN chain of thought (CoT)), которые никто не вписывал в данные: их нельзя было бы написать разметчику, они возникли в оптимизации, где модели давали только правильные ответы.
Демонстрация: задача про яблоки в DeepSeek с включённой кнопкой DeepThink. Модель находит ответ, говорит «подожди, проверю ещё раз», решает другим способом, убеждается — и только потом пишет аккуратное решение для человека. Видно разделение: размышление — ради правильности, итоговый текст — ради подачи.
Практические замечания из главы:
- R1 — модель с открытыми весами; её можно скачать или открыть у американских провайдеров вроде together.ai, если не хочется отправлять данные китайской компании.
- Модели OpenAI o1 и o3-mini (на момент записи — за подписку 20 или 200 долл. в месяц) обучены похожими методами (по публичным словам сотрудников), но OpenAI показывает лишь краткие пересказы мыслей — опасаясь «дистилляции», то есть того, что кто-то научит свою модель на её рассуждениях.
- GPT-4o — в основном SFT-модель. Сам Карпатый в 80–90% случаев пользуется ею, а к «думающим» моделям обращается на трудных задачах по математике и коду.
- В Google AI Studio тогда была экспериментальная рассуждающая Gemini 2.0 Flash Thinking; у Anthropic, по его словам, такой модели ещё не было (через три недели, во втором видео, он уже показывает Claude 3.7 с режимом размышлений).
Подробный разбор R1 и «момента озарения» — в уроке 6.4.2.
19. AlphaGo (02:42:07)
Заголовок раздела «19. AlphaGo (02:42:07)»То, что RL — очень сильный способ учиться, не новость: это показала AlphaGo (DeepMind). В статье есть график рейтинга Эло: модель, обученная подражать партиям сильных игроков, растёт, но упирается в уровень лучших людей — подражанием нельзя превзойти того, кому подражаешь. Модель, обученная с подкреплением (играет сама с собой и закрепляет ходы, ведущие к победе), проходит этот потолок и обыгрывает Ли Седоля.
Знаменитый ход 37: вероятность, что его сыграет человек, оценивали примерно как 1 к 10 000; комментаторы сочли его ошибкой, а потом — блестящей находкой. Карпатый задаётся вопросом: что будет аналогом хода 37 в рассуждениях LLM? Новые аналогии, новые стратегии мышления, может быть, даже собственный язык мышления, отличный от английского. Для этого нужны огромные и разнообразные наборы задач-«игровых сред» — над ними сейчас и работают лаборатории. Основы RL, на которых стоит AlphaGo, — в модуле 6.0.
20. RLHF: обучение с подкреплением на отзывах людей (02:48:26)
Заголовок раздела «20. RLHF: обучение с подкреплением на отзывах людей (02:48:26)»До сих пор задачи были из проверяемых областей: ответ можно сравнить с эталоном (или поручить сравнение LLM-судье). А как быть с «напиши шутку про пеликанов» или «напиши стихотворение»? Оценить может только человек. Посчитаем: 1000 шагов обновления × 1000 задач на шаг × 1000 вариантов на задачу = миллиард оценок шуток людьми. Нереально.
Решение из статьи OpenAI (многие её авторы потом основали Anthropic) — косвенность: обучить отдельную нейросеть, модель вознаграждениямодель вознагражденияEN reward model, которая имитирует оценки людей, и проводить RL против неё.
- Людям проще упорядочить пять шуток от лучшей к худшей, чем поставить каждой точный балл.
- Модель вознаграждения получает запрос и один вариант ответа и выдаёт число, скажем от 0 до 1.
- Её обучают так, чтобы её баллы согласовывались с порядком, который дал человек: шутка, которую человек поставил на второе место, а модель оценила в 0,1, после обновления получит балл выше, и так далее.
- Людям нужно оценить, условно, 1000 запросов × 5 вариантов = 5000 шуток, а не миллиард.
Плюсы. RL становится возможен в любых областях, включая творческие. Модели после RLHF действительно немного лучше. Догадка Карпатого — разрыв между различением и порождением: людям легче выбрать лучшее стихотворение, чем написать идеальное самому, поэтому данные получаются точнее.
Минусы. Мы оптимизируем не мнение людей, а его неточную симуляцию. Хуже того, RL прекрасно находит способы обмануть модель вознаграждения — это огромная нейросеть, и у неё есть входы, на которых она выдаёт бессмысленно высокие баллы (adversarial examples). Через несколько сотен шагов шутки сначала улучшаются, а потом «падают с обрыва»: лучшей шуткой про пеликанов внезапно оказывается «the the the the the», и модель вознаграждения ставит ей высший балл. Добавить такой пример в данные с низкой оценкой можно, но таких дыр бесконечно много. Это явление называют взломом наградывзлом награды (reward hacking)EN reward hackingПолитика находит способ получить высокую награду, не делая того, что задумали люди..
Поэтому RLHF запускают на ограниченное число шагов и останавливают. Отсюда формула Карпатого: RLHF — это не RL в «магическом» смысле. В проверяемых областях (и в го) функцию награды не обманешь — верный ответ или нет, — поэтому RL можно крутить сколько угодно долго и находить невероятные стратегии. RLHF же — небольшая доводка, улучшающая модель (GPT-4o через неё прошла), но не процесс, которому можно добавлять вычисления бесконечно. Как устроены RLHF и PPO, а также DPO — в модуле 6.3.
Часть V. Что дальше и где всё это найти
Заголовок раздела «Часть V. Что дальше и где всё это найти»21. Что впереди (03:09:39)
Заголовок раздела «21. Что впереди (03:09:39)»Сначала автор подводит промежуточный итог: модели — очень полезные инструменты, но с «дырами в швейцарском сыре»: блестящие в одном, они без видимой причины проваливаются в другом. Проверяйте их работу, используйте для вдохновения и черновиков, отвечайте за результат сами.
Что ждать:
- Мультимодальность. Модели будут нативно слышать и говорить, видеть и рисовать. Принципиально нового тут нет: аудио можно нарезать на токены по кусочкам спектрограммы, изображение — по квадратным патчам, и смешать их в одной последовательности с текстом. Как это делают — в уроках 9.1.1 и 9.1.5.
- Агенты. Пока мы даём моделям отдельные задачи «на блюдечке», а связываем их в работу сами. Модели научатся долго выполнять задачи и исправлять ошибки; люди будут их супервайзерами — Карпатый ожидает разговоров о «соотношении людей и агентов», как в заводской автоматизации говорят о соотношении людей и роботов.
- Действия в компьютере — управление клавиатурой и мышью за пользователя (пример тех дней — Operator от OpenAI).
- Обучение во время работы (test-time training). Сейчас модель после обучения заморожена, и единственное «обучение» при работе — в контексте. Люди же учатся постоянно (например, во сне). Контекст конечен, а для долгих мультимодальных задач его не хватит, — нужны новые идеи.
22. Как следить за новостями (03:15:15)
Заголовок раздела «22. Как следить за новостями (03:15:15)»Три источника автора:
- LM Arena (рейтинг на основе слепых сравнений людьми). В феврале 2025-го в тройке — DeepSeek с моделью под лицензией MIT, что Карпатый называет беспрецедентным для открытых весов. Но он предупреждает, что рейтинг в последние месяцы «немного накручивают», и советует использовать его как первый фильтр, а потом пробовать модели на своих задачах.
- Рассылка AI News (swyx и соавторы) — выходит почти через день, очень подробная, частично собирается LLM.
- X (Twitter) — подпишитесь на людей, которым доверяете.
Как читать статьи и не утонуть в потоке новостей — урок 9.2.2.
23. Где найти модели (03:18:34)
Заголовок раздела «23. Где найти модели (03:18:34)»- Закрытые модели — на сайтах самих компаний (chatgpt.com, gemini.google.com или AI Studio).
- Открытые модели (DeepSeek, Llama) — у провайдеров инференса; любимый у автора — together.ai.
- Базовые модели почти никто не хостит; Карпатый ходит за Llama 3.1 base в Hyperbolic.
- Небольшие модели можно запускать у себя: уменьшенные (дистиллированные) версии и пониженная точность позволяют уместить их в ноутбук. Автор пользуется приложением LM Studio (интерфейс ругает, но любит) и показывает Llama 3.2 1B Instruct на MacBook.
24. Итог: с кем вы разговариваете (03:21:46)
Заголовок раздела «24. Итог: с кем вы разговариваете (03:21:46)»Карпатый возвращается к первому вопросу. Ваш запрос режется на токены, вставляется в протокол диалога, и модель достраивает последовательность — как автодополнение. Откуда берутся эти токены?
- Знания — из претрейна (сжатый интернет в параметрах).
- Личность — из SFT: это нейросетевая симуляция разметчика, который прочитал инструкции компании и мог бы потратить на ответ пару часов. Симуляция «с потерями» и устроенная иначе, чем мозг: на каждый токен — фиксированный объём вычислений, поэтому галлюцинации, ошибки счёта и «дыры в сыре».
- Рассуждающие модели (o3-mini и подобные) — уже не просто симуляция разметчика: их стратегии мышления возникли в RL на большом наборе задач. Насколько эти стратегии переносятся из проверяемых областей (математика, код) в непроверяемые (творческие тексты), пока неизвестно. Сам RL ещё «первобытный», но в принципе способен на свой «ход 37» в открытом мышлении.
Финальный совет: Карпатый пользуется моделями десятки и сотни раз в день, они резко ускоряют работу. Используйте их как инструмент из набора, проверяйте результат и отвечайте за свою работу.
Что сделать руками
Заголовок раздела «Что сделать руками»- Токены. Откройте Tiktokenizer, выберите
cl100k_baseиo200k_base. Сравните, на сколько токенов режется одна и та же фраза на английском, русском и китайском. Найдите слово, которое в одном словаре — один токен, а в другом — несколько. - Базовая модель против ассистента. Возьмите базовую модель (у провайдера или у себя: небольшую открытую модель
без суффикса
-Instructлегко запустить через Hugging Face, см. урок 4.6.5) и повторите эксперименты главы 8: вопрос «2 + 2», начало статьи Википедии, few-shot-перевод, промпт «веб-страница с диалогом». Что именно отличает её от ассистента — в уроке 6.1.1. - Токены, чтобы думать. Попросите любую модель решить задачу про Эмили, ответив одним числом без пояснений, затем с большими числами, затем «реши по шагам», затем «используй код». Запишите, где модель ошибается.
- Счёт и буквы. Спросите «сколько букв р в слове „кукурузопроизводительница“?» с кодом и без. Повторите несколько раз — ответы без кода, скорее всего, будут разными.
- Граница знаний. Спросите модель о малоизвестном человеке из вашего города или о событии прошлой недели — сначала без поиска, потом с поиском. Сравните уверенность ответов.
- Шутки и RLHF. Попросите несколько моделей пошутить про пеликанов и ранжируйте пять шуток сами — вы только что сделали работу разметчика для модели вознаграждения.
Словарик
Заголовок раздела «Словарик»| EN | RU | Где в курсе |
|---|---|---|
| pretraining | предобучение, претрейн | 5.1 |
| token, tokenization | токен, токенизация | 4.2 |
| byte pair encoding (BPE) | кодирование пар байтов | 4.2.2 |
| context window | контекстное окно | 4.1, 8.1 |
| loss | функция потерь | 4.6.3 |
| inference | инференс, вывод модели | 4.1.3 |
| base model | базовая модель | 6.1.1 |
| regurgitation | дословное воспроизведение («отрыгивание») обучающих данных | — |
| in-context learning, few-shot prompt | обучение в контексте, промпт с примерами | 8.1.2 |
| post-training, SFT | пост-трейнинг, обучение на инструкциях | 6.1 |
| labeling instructions, human labelers | инструкции для разметки, разметчики | 6.1.2 |
| special tokens | специальные токены | 6.1.2 |
| hallucination | галлюцинация | 8.2 |
| tool use | вызов инструментов | 8.3.2 |
| system message | системный промпт | 8.1.2 |
| chain of thought | цепочка рассуждений | 6.4 |
| reinforcement learning (RL) | обучение с подкреплением | 6.0, 6.3 |
| verifiable / unverifiable domains | проверяемые / непроверяемые области | 6.4 |
| reward model | модель вознаграждения | 6.3.2 |
| RLHF | обучение с подкреплением на отзывах людей | 6.3.2 |
| adversarial examples, reward hacking | состязательные примеры, взлом награды | 6.3 |
| distillation | дистилляция | 6.4.4 |
| jagged intelligence | «рваный» (неровный) интеллект | — |
| test-time training | обучение во время работы модели | — |