Предобучение на интернете
Прежде чем ChatGPT хоть раз ответил человеку, он успел «прочитать» горы текстов из интернета и потренироваться на одной-единственной игре — угадай следующее слово. Это и есть предобучение.
Главная мысль урока: ChatGPT не учили отвечать на вопросы по списку. Сначала он месяцами тренировался угадывать следующее слово в обычных текстах из интернета. Из этой простой игры, повторённой триллионы раз, сами собой выросли и знание языка, и факты, и стиль — а заодно и его ошибки.
Откуда модель вообще что-то знает
Представь: ты впервые открыл ChatGPT, спросил его про столицу Франции, про правила игры в шахматы, про то, как сварить макароны, — и он на всё отвечает. Откуда он это взял? Его же никто не сажал за парту и не диктовал ему учебник географии. И что важнее — ему ни разу не показывали именно твой вопрос с готовым ответом. Так как же он знает?
Короткий ответ: он прочитал почти весь интернет и научился предсказывать, какое слово идёт следующим. Звучит как будто этого мало для «знания столицы Франции». Но к концу урока ты увидишь, почему этого хватает — и почему из той же самой тренировки берутся не только знания, но и уверенные ошибки модели.
В прошлом уроке про языковые модели мы выяснили главное: языковая модель — это модель, которая предсказывает следующее слово в тексте и так умеет генерировать осмысленные ответы. Мы даже разобрали наш сквозной пример «Кошка пьёт ...» и увидели, как после такой фразы модель тянется поставить «молоко». Сегодня мы зайдём с другой стороны и спросим: а как модель вообще научилась так угадывать? Ответ — через предобучение.
Предобучение — это первый этап обучения большой модели на огромном объёме текстов из интернета.
Метафора: ребёнок, который дочитывает фразы
Вспомни, как маленький ребёнок учит язык. Никто не выдаёт ему словарь и грамматику. Он просто слышит вокруг тысячи фраз: «помой руки перед...», «на улице идёт...», «кошка пьёт...». И в какой-то момент сам начинает дочитывать концовку: «...едой», «...дождь», «...молоко». Он не зубрил правила — он впитал их из моря услышанной речи.
Предобучение — это ровно та же история, только в гигантском масштабе и на скорости машины. Модели показывают кусок текста, обрезают его на каком-то слове и заставляют угадать, что было дальше. Потом сравнивают её догадку с настоящим продолжением и чуть-чуть подкручивают веса — числа внутри нейросети, которые мы разбирали в модуле про обучение, — чтобы в следующий раз она ошиблась чуть меньше.
А теперь представь, что таких «обрезанных фраз» не сотни, как у ребёнка за день, а триллионы. И ребёнок «слушает» их без перерыва на сон, неделями подряд, на тысячах компьютеров сразу. Вот что такое предобучение.
Почему именно «угадай следующее слово»
Тут кроется красивый трюк. Чтобы учить модель с учителем, обычно нужны примеры с правильными ответами — метки. Помнишь, в задаче «кошка против собаки» к каждой фотке вручную приписывали ярлык «кошка» или «собака»? Размечать так весь интернет — невозможно, на это не хватит людей.
Но с текстом метку расставлять не нужно — она уже внутри! Возьми любую фразу из интернета:
| Что показываем модели | Что она должна угадать (метка) |
| Кошка пьёт | молоко |
| Кошка пьёт молоко | из |
| Кошка пьёт молоко из | миски |
Видишь? Правильный ответ — это просто следующее слово в том же тексте. Текст сам себе учитель. Поэтому из обычных, никем не размеченных страниц интернета получаются триллионы бесплатных обучающих примеров. Именно это и сделало большие языковые модели возможными.
На каких данных это всё происходит
«Тексты из интернета» звучит расплывчато. Давай конкретнее. В котёл предобучения обычно идёт примерно такое:
- Веб-страницы — статьи, блоги, форумы, новости, отзывы. Самая большая часть.
- Книги — художественные и научные, оцифрованные тексты.
- Справочники и энциклопедии — например, Википедия. Отсюда модель и «знает» столицу Франции.
- Код — программы с открытых площадок. Поэтому ChatGPT умеет писать и объяснять код.
- Диалоги и переписки — публичные обсуждения, комментарии. Отсюда — манера вести беседу.
Масштаб трудно уложить в голове. Если бы один человек решил прочитать весь этот текст вслух без остановки, ему не хватило бы и тысячи жизней. А модель «проходит» его не один раз. Именно из-за такого объёма факты вроде «Париж — столица Франции» встречаются модели не один раз, а тысячи раз в разных текстах — и она запоминает их как устойчивую закономерность.
Важно: модель не хранит интернет целиком, как папку с файлами. Она не может «открыть» прочитанную страницу заново. Всё, что осталось от чтения, — это подкрученные веса. Знания растворены в числах, а не лежат текстом.
Как из угадывания слов вырастает знание
Самое неожиданное: чтобы хорошо угадывать следующее слово, модель вынуждена разобраться в куче вещей. Посмотри на эти обрывки и подумай, что нужно «понимать», чтобы их верно дочитать:
- «Столица Франции — это город ...» → чтобы поставить «Париж», надо знать факт.
- «Дважды два равно ...» → чтобы поставить «четыре», надо чуть-чуть уметь считать.
- «Он открыл дверь и увидел, что в комнате ...» → чтобы продолжить осмысленно, надо понимать сюжет и логику.
- «Кошка пьёт ...» → чтобы поставить «молоко», а не «бетон», надо знать, что делают кошки.
Получается, угадывание слова — это не мелкая задачка про грамматику. Чтобы делать это хорошо на триллионах разных фраз, модели приходится исподволь впитать факты, счёт, логику сюжета и здравый смысл. Никто не учил её «фактам» отдельным уроком — они оказались побочным продуктом одной упорной игры в угадайку. Вот почему такая простая цель даёт такой богатый результат.
Связь со сквозными примерами
Давай вернёмся к нашим двум старым знакомым и посмотрим на них уже глазами предобучения.
«Кошка пьёт ...»
Откуда модель знает, что после «кошка пьёт» удобнее поставить «молоко», а не «трактор»? Из предобучения. В прочитанных текстах фраза «кошка пьёт молоко» (и похожие) встречалась много раз, а «кошка пьёт трактор» — ни разу. Подкручивая веса после каждой такой фразы, модель постепенно стала ставить «молоко» с высокой уверенностью. Никто не объяснял ей правило «кошки пьют жидкости» — она вывела его сама из частоты встреч.
«Кошка против собаки»
А что с нашей картиночной задачей? Прямой связи нет: предобучение языковой модели идёт на тексте, а не на фотках. Но идея — родная. Помнишь, в задаче с кошкой и собакой мы говорили про переобучение — когда модель зазубрила примеры вместо того, чтобы уловить закономерность? В предобучении подстерегает та же ловушка, только в гигантском масштабе. Если какой-то текст попался модели слишком часто, она может его буквально заучить наизусть и потом выдавать дословно — это и есть переобучение на уровне целых текстов. Та же болезнь, тот же принцип — просто масштаб другой.
Откуда берутся ошибки модели
Это самая честная часть урока. Раз модель — это слепок интернета, то и все болячки интернета протекают в неё. Разберём прямо.
- В интернете полно неправды. Мифы, устаревшие факты, ошибки, чьи-то фантазии. Модель не отличает правду от лжи — она впитывает всё подряд как «обычные тексты». Если глупость повторяли часто, модель повторит её уверенно.
- Модель учится звучать правдоподобно, а не быть правой. Её цель в предобучении — угадать складное продолжение, а не сказать истину. Поэтому она может выдать галлюцинацию — уверенно звучащий, но выдуманный ответ. Это не «вранье со зла», а прямое следствие того, чему её учили.
- У знаний есть дата. Модель прочитала интернет до какого-то момента и про события после ничего не знает. Спросишь её про вчерашний матч — она либо честно скажет, что не знает, либо что-нибудь сочинит.
- Перекосы данных передаются модели. Если в текстах какая-то тема освещена однобоко или с предвзятостью, модель унаследует этот перекос — она ведь просто отражает то, что прочитала.
Запомни главное и не пугайся: модель не «разумна» и не «врёт нарочно». Она статистически продолжает текст на основе прочитанного. Понимая это, ты будешь относиться к её ответам спокойно и с проверкой — как к мнению начитанного, но не всегда точного собеседника.
Запомни: хорошее предобучение даёт модели язык, факты и стиль. Но оно же закладывает галлюцинации, устаревшие данные и перекосы — потому что модель честно впитывает интернет таким, какой он есть.
Чего предобучение НЕ делает
Тут многие спотыкаются, поэтому проговорим отдельно. После одного только предобучения модель — это ещё не вежливый помощник из ChatGPT. Она умеет лишь одно: складно продолжать текст. Спросишь её «Как сварить макароны?» — а она вместо ответа может выдать ещё десяток похожих вопросов, потому что в интернете вопросы часто идут списком. Она не «понимает», что от неё хотят полезный ответ.
Чтобы превратить такую «продолжалку текста» в собеседника, который отвечает по делу, вежливо и безопасно, нужен второй этап — дообучение на оценках людей (его называют RLHF). Но это тема следующих уроков. Сейчас держи в голове простую картинку: предобучение даёт сырые знания и язык, а вежливость и полезность прикручивают потом.
Частые ошибки и подводные камни
Вот грабли, на которые чаще всего наступают, когда впервые слышат про предобучение.
1. Думать, что модель «помнит» прочитанные страницы
Модель не библиотека и не поисковик. Она не хранит тексты и не может открыть конкретную статью, которую «читала». От всего чтения остались только подкрученные веса. Поэтому она не даст тебе ссылку на источник и легко перепутает детали — она их не помнит дословно, а реконструирует по закономерностям.
2. Считать, что модель учили отвечать на вопросы
В предобучении нет ни одного урока «вот вопрос — вот правильный ответ». Есть только «вот кусок текста — угадай следующее слово». Способность отвечать на вопросы — побочный эффект и плод второго этапа. Если помнить это, перестаёшь удивляться, почему модель иногда отвечает невпопад: её базовый навык — продолжать текст, а не давать ответы.
3. Верить, что раз модель уверенно говорит — значит, это правда
Модель одинаково гладко и уверенно произносит и факт, и выдумку. Уверенный тон — это про стиль, а не про истину. Её учили звучать складно, а не быть правой. Поэтому важные факты из её ответов всегда стоит перепроверять.
4. Думать, что больше данных — всегда лучше
Объём важен, но не любой текст полезен. Если в данные попадает мусор, спам или повторяющиеся куски, модель впитывает и их — и может заучить их наизусть (то самое переобучение). Поэтому данные перед предобучением чистят и фильтруют. Качество и разнообразие текста важны не меньше, чем его количество.
5. Путать предобучение с обучением «под тебя» во время разговора
Когда ты переписываешься с ChatGPT, он не учится на твоих сообщениях прямо в этот момент и не меняет свои веса. Предобучение уже давно закончилось — это был отдельный долгий этап до того, как модель попала к пользователям. В разговоре она лишь применяет то, что выучила раньше. То, что она «помнит» сказанное выше в чате, — это не дообучение, а просто текст, который ей показывают целиком.
Мини-практика: стань предобучением сам
Кода сегодня не пишем — урок про идею. Но идею стоит пощупать руками. Сделай так:
- Возьми любимую песню или мем, который знаешь наизусть. Попроси друга прочитать строчку и оборвать её на середине — а ты доскажи. Получилось? Поздравляю, ты только что сыграл в ту же игру «угадай следующее слово», что и модель. Заметь: ты не «вспоминал правило», ты просто впитал текст от частого повторения.
- Теперь придумай фразу, у которой много правдоподобных продолжений: например «Сегодня на перемене я ...». Запиши пять разных концовок. Это и есть та самая неопределённость, с которой модель имеет дело каждое слово, — правильных вариантов часто несколько.
- Найди в интернете факт, в котором не уверен, и спроси про него ChatGPT. Затем перепроверь ответ в надёжном источнике. Сходится? Если нет — ты только что поймал галлюцинацию и увидел, почему она появляется.
- Подумай и запиши своими словами: почему задача «угадай следующее слово» заставляет модель невольно выучить факты? Если сможешь объяснить это младшему брату или сестре — значит, урок усвоен по-настоящему.
Итоги
Сегодня ты разобрал самый первый и самый долгий этап в жизни ChatGPT — предобучение.
- Предобучение — это первый этап обучения большой модели на огромном объёме текстов из интернета.
- Вся тренировка сводится к одной игре: угадай следующее слово. Правильный ответ — это просто следующее слово в тексте, поэтому метки не нужно расставлять руками, и в дело идёт почти весь интернет.
- Чтобы хорошо угадывать слова, модели приходится исподволь впитать язык, факты, счёт и здравый смысл — знания получаются побочным продуктом игры в угадайку.
- В наш сквозной пример это ложится точно: «молоко» после «кошка пьёт» модель ставит потому, что много раз встречала эту фразу, а не потому, что её научили правилу.
- Из тех же данных растут и ошибки: галлюцинации, устаревшие факты и перекосы — модель честно отражает интернет, а он не всегда прав.
- После одного предобучения модель умеет лишь продолжать текст. Вежливым и полезным помощником её делает уже следующий этап.
Теперь у нас есть модель, которая впитала язык и факты, но пока ведёт себя как дикая «продолжалка текста». В следующем уроке мы посмотрим, как её приручают: разберём дообучение на оценках людей — RLHF, — благодаря которому ChatGPT начинает отвечать по делу, вежливо и без откровенно опасных советов.