А потом, после того как модель научится хорошо предсказывать следующее слово, её можно дообучить для конкретных задач: классификации текстов, поиск ответов на вопросы, определение схожести фраз. Дообучение требует относительно небольшого количества размеченных данных, потому что модель уже выучила большую часть того, что нужно знать о языке, на этапе предобучения.
Эта идея, в общем, была не новой. Двухстадийная схема предобучение плюс дообучение обсуждалась в литературе с середины двухтысячных. Что было новым, это сочетание: применить эту схему к трансформеру, обученному предсказывать следующий токен на действительно большом массиве текстов. Никто до этого не пробовал. Все существовавшие тогда модели работали либо с одной задачей и одним размеченным набором данных, либо с трансформером в его исходной encoder-decoder форме на задаче перевода.
Алек принёс свою идею на одно из внутренних собраний OpenAI. Илья её сразу одобрил. Илья к этому моменту уже два года искал, на чём именно показать гипотезу масштабирования; обработка естественного языка, до сих пор обходившая стороной нейронные сети, выглядела многообещающе.
Для обучения нужны были данные. Алек с Ильёй и ещё двумя коллегами — Картиком Нарасимханом и Тимом Салимансом — обсудили, что взять.
Часть Интернета? Технически возможно, но грязно: огромные куски этого массива будут низкого качества, спам, повторяющиеся шаблоны, машинно-генерированный мусор. Команда тогда решила, что нужен более чистый источник.
В академической литературе незадолго до этого появилось упоминание сборника под названием BooksCorpus. Его собрал в 2015 году исследователь Юкунь Чжу: семь тысяч художественных книг, опубликованных в основном самиздатом, из открытой части интернета. Около миллиарда слов. Книги были разнообразных жанров, написаны людьми на нормальном языке, имели последовательный сюжет, то есть требовали от читающего длительного удержания контекста. Это казалось хорошей основой.
Команда взяла BooksCorpus и принялась обучать трансформер.
Архитектура, к которой они пришли, была почти буквальной копией декодера из статьи Васвани и др., только с увеличенным числом слоёв. Двенадцать слоёв самовнимания вместо шести. Размер скрытого состояния — семьсот шестьдесят восемь. Всего сто семнадцать миллионов параметров. По меркам того времени модель была средней. По меркам ImageNet 2012 года — гигантской. По меркам же того, что появится через несколько лет, — почти игрушечной.
Обучение шло около месяца на восьми видеокартах. Алек контролировал процесс. К концу мая 2018 года модель была готова.
Команда взяла обученную модель и стала тестировать её на двенадцати стандартных задачах обработки естественного языка. Категории были разные: текстовая семантическая близость, вопросно-ответные системы, классификация эмоциональной окраски, обнаружение текстовых вхождений. На каждой задаче модель дообучали в несколько проходов по конкретному размеченному набору, потом замеряли точность.
Из двенадцати задач модель показала новый state-of-the-art на девяти. Это был очень сильный результат. Особенно учитывая, что ни архитектура, ни обучающие данные не были разработаны специально для этих задач; всё это было универсальное языковое предобучение, которое потом просто «подкручивали» на каждую конкретную задачу за несколько часов.
Статью назвали Improving Language Understanding by Generative Pre-Training. В аннотации авторы скромно отметили, что их подход — это комбинация двух существующих идей: трансформеров и предобучения без учителя.
Самой модели они не дали никакого блестящего названия. В тексте статьи она называлась просто «наша модель». В фразе Generative Pre-Training были спрятаны три буквы, которые в дальнейшем станут чем-то вроде культурного маркера эпохи: GPT. Но в тот момент авторы об этом не думали. Это просто было аббревиатура из их собственного заголовка.
Статья появилась как препринт OpenAI 11 июня 2018 года. Через пять лет ровно — в июне 2023 года — её прямой потомок, ChatGPT, будет иметь сто миллионов активных пользователей в месяц, и слово GPT начнут произносить в новостях как имя нарицательное.
Джейкоб Девлин, Kaggle Coffee Chat 2019
Параллельно с работой Алека в Google происходило нечто, очень похожее по духу, но идущее в другом направлении.