GPT-2
GPT-2 — большая языковая модель, разработанная компанией OpenAI и вторая в серии фундаментальных моделей GPT. GPT-2 была предварительно обучена на наборе данных из 8 миллионов веб-страниц. Модель была частично опубликована в феврале 2019 года; полный релиз модели с 1,5 миллиардами параметров состоялся 5 ноября 2019 года.
GPT-2 создана как «прямое масштабирование» GPT-1, увеличив число параметров и объём обучающей выборки в десять раз. Она представляет собой универсального обучаемого агента: её способность решать различные задачи обусловлена общей функцией — точным предсказанием следующего элемента в последовательности. Благодаря этому GPT-2 может переводить тексты, отвечать на вопросы по тексту, суммировать большие фрагменты и генерировать связный текст, порой почти неотличимый от человеческого; однако на длинных отрывках может проявляться однообразие или бессмысленность результатов. Модель была впоследствии заменена GPT-3 и GPT-4, которые уже не являются открытыми.
Как и её предшественник GPT-1 и преемники GPT-3 и GPT-4, GPT-2 основана на архитектуре генеративного трансформера — глубокой нейронной сети, использующей модель трансформера, в которой применяется механизм внимания вместо рекуррентных и сверточных схем. Механизмы внимания позволяют модели акцентировать обработку на наиболее релевантных частях текста. Это значительно повышает степень параллелизма и превосходит прежние эталонные показатели моделей на основе RNN/CNN/LSTM.
Что важно знать
| GPT-2 | |
|---|---|
| Тип | Большая языковая модель, Генеративный предварительно обученный трансформер |
| Автор | OpenAI |
| Разработчик | OpenAI |
| Первый выпуск | 14 февраля 2019 |
| Последняя версия | |
| Репозиторий | github.com/openai/gpt-2 |
| Лицензия | MIT |
| Сайт | openai.com/blog/gpt-2-1-… |
Обучение
Архитектура трансформера позволила реализовать массовый параллелизм, за счёт чего GPT-модели обучались на существенно больших корпусах, чем ранее применявшиеся языковые модели. После того как GPT-1 доказала перспективность подхода, GPT-2 предназначалась для дальнейшего изучения свойств сетей, обученных на экстремально больших данных. В качестве источника рассматривался корпус CommonCrawl, собранный с помощью веб-скрапинга и ранее использовавшийся в задачах обработки естественного языка, но он был отвергнут из-за большого веса неразборчивого контента. Вместо этого OpenAI собрала собственный корпус WebText: страницы собирались только по ссылкам из постов на Reddit с не менее чем тремя баллами кармы до декабря 2017 года. Затем данные были очищены — HTML-страницы преобразованы в обычный текст, дубликаты удалены, а страницы из Википедии исключены (во избежание переобучения на слишком массовом источнике).
Стоимость обучения GPT-2 оценивается в 256 долларов в час, однако общее время обучения неизвестно, что не позволяет точно оценить итоговые затраты. Для сравнения, обучение схожих масштабных языковых моделей — таких как BERT и XLNet — стоило, соответственно, 6912 и 245000 долларов.
Выпуск
О разработке GPT-2 впервые было объявлено 14 февраля 2019 года. В материале The Verge отмечалось, что, хотя «обычно написанное ей легко отличить от человеческого», GPT-2 стала одним из самых впечатляющих примеров программ для генерации текстов:
«Если дать ей вымышленный заголовок, она напишет статью с фейковыми цитатами и статистикой. Задать первую строчку рассказа — и она продолжит историю за героя. Даже фанфик она сможет придумать — если правильно задать начальные условия».
The Guardian описала тексты GPT-2 как «правдоподобную газетную прозу», а Келси Пайпер из Vox заявила, что «одна из самых крутых ИИ-систем, что я видела, возможно, уволит меня с работы». The Verge оценила универсальность GPT-2, в частности её возможности по переводу текстов, суммированию длинных статей и ответам на вопросы викторин.
В исследовании Амстердамского университета, использовавшем модифицированный тест Тьюринга, выяснилось, что в некоторых сценариях участники не могли отличить стихи, сгенерированные GPT-2, от написанных человеком.
В серию GPT-2 входят 4 модели, приведённые в оригинальной работе. Все они были опубликованы поэтапно.
| Параметры (млн) | Количество слоёв | Размерность встраивания |
|---|---|---|
| 117 | 12 | 768 |
| 345 | 24 | 1024 |
| 762 | 36 | 1280 |
| 1542 | 48 | 1600 |
В отличие от предыдущих моделей OpenAI, сразу выпускавшихся в открытый доступ, исходный код GPT-2 изначально не был опубликован из-за опасений недобросовестного использования; ограниченный доступ предоставили отдельным СМИ только в виде онлайн-интерфейса (без кода). Основное обоснование — созданные ею тексты практически всегда уникальны, а значит, злоумышленники могут обойти фильтры спама; OpenAI продемонстрировала вариант GPT-2, генерирующий «бесконечно позитивные либо негативные отзывы о товарах».
Среди других причин назывались опасения, что GPT-2 смогут использовать для генерации оскорбительных или расистских высказываний. Исследователь Джереми Ховард предупреждал о «технологии, способной буквально залить Twitter, почту и Сеть правдоподобным, контекстным текстом, сделать невозможной фильтрацию». В ответ на релиз GPT-2 Институт искусственного интеллекта Аллена представил инструмент для поиска «нейросетевых фейковых новостей».
Однако единодушия среди экспертов не было. The Verge писала, что опасения по поводу GPT-2 преувеличены; профессор Caltech и директор по ИИ в Nvidia Анима Анандкумар считала, что нет доказательств, что GPT-2 представляет серьёзную угрозу, а действия OpenAI — «противоположность открытости», охарактеризовав политику компании как «вредоносный вздор». The Gradient опубликовал открытое письмо с просьбой выпустить модель публично, сравнив угрозу ИИ-генерации текста с последствиями от изобретения печатного станка и отметив, что даже технологии вроде Photoshop не разрушили общество:
«Тридцать лет спустя общество относительно невредимо, хотя Photoshop настолько прост, что им пользуются даже школьники, и настолько распространён, что породил собственный глагол. Почему? Потому что все знают о его существовании».
Хотя полная модель и обучающий корпус не были опубликованы, используемые методы и открытые технологии позволили сторонним исследователям воспроизвести GPT-2 как свободное программное обеспечение; одна из таких реализаций — OpenGPT-2 — вышла в августе 2019 года вместе с открытой копией корпуса OpenWebText (аналог WebText). Оценка расходов на облачные вычисления для OpenGPT-2 составила примерно 50 000 долларов.
20 августа 2019 года OpenAI опубликовала промежуточную версию GPT-2 с 774 миллионами параметров (примерно половина полной модели в 1,5 миллиарда параметров).
Опасения, что GPT-2 получит массовое вредоносное применение, не оправдались: The Verge отмечала, что уже существуют дешёвые способы генерировать убедительный текст большими объёмами — например, при помощи людей. В ноябре 2019 года OpenAI объявила, что «пока не зафиксировано серьёзных случаев злоупотреблений», и опубликовала полную модель с 1,5 млрд параметров, обученную на 40 ГБ данных (примерно в 8000 раз больше собраний сочинений Шекспира)[2].
Также доступны две уменьшенные версии GPT-2: малая (124 млн параметров) и средняя (355 млн). Обе можно скачать на платформе Huggingface[3][4].
Ограничения
Хотя генерация правдоподобных фрагментов естественного языка GPT-2 в целом оценивалась положительно, отмечались и проблемные стороны, особенно при создании текстов длиннее пары абзацев. Vox писала: «проза получается грубоватой, есть нестыковки, а длинные статьи теряют связность». В The Verge также отмечалось, что длинные тексты GPT-2 склонны уходить от темы; The Register отмечал, что «человек через короткое время поймёт, что что-то не так», а также, что GPT-2 «отвечает на вопросы хуже, чем системы, специально извлекающие и находящие информацию».
Полноценная версия GPT-2 требовательна к ресурсам: она занимает более 5 ГБ и требует большого объёма ОЗУ. Одна генерация даже на CPU может занимать минуты при полной загрузке, а на GPU — секунды. Для облегчения этих проблем компания Hugging Face создала DistilGPT2, уменьшенную версию с помощью дистилляции знаний, которая при некоторых ухудшениях качества «на 33 % компактнее и вдвое быстрее» оригинала.
Применение и дальнейшие исследования
Ещё до полного релиза GPT-2 модель стала использоваться в разнообразных приложениях и сервисах, а также для развлечений. В июне 2019 года появился сабреддит r/SubSimulatorGPT2, где различные экземпляры GPT-2, обученные на разных сабреддитах, писали посты и отвечали друг другу, создавая своеобразный «ИИ-персонифицированный форум», например, «персонаж r/Bitcoin спорит с духом ИИ из r/ShittyFoodPorn». В июле того же года появилась программа-автодополнения для кода на основе GPT-2, которую пользователи назвали «прорывом».
В 2019 году запущена AI Dungeon — интерактивная текстовая игра, использующая GPT-2 для генерации динамических приключений по вводимым пользователем запросам. Позже AI Dungeon добавила платный доступ к GPT-3, а бесплатная версия использует второй по величине релиз GPT-3. Формировавшийся вокруг игры стартап Latitude в 2021 году привлёк 3,3 миллиона долларов финансирования. Существуют сайты с онлайн-демонстрациями различных вариантов GPT-2 и других моделей-трансформеров[5][6][7].
В феврале 2021 года кризисный центр для подростков в США объявил о планах использовать чат-бот на базе GPT-2 для обучения консультантов путём общения с моделируемыми собеседниками (сам чат-бот не взаимодействовал с подростками напрямую).
9 мая 2023 года OpenAI представила мэппированную версию GPT-2: с помощью преемника GPT-4 были проанализированы нейроны каждой части GPT-2 для выявления их функций[8].
Производительность и оценка
Масштаб обучающего корпуса и используемые методы обучения позволили GPT-2 выполнять широкий спектр задач — отвечать на вопросы, резюмировать тексты, переводить между языками по разным областям, не будучи специально этому обученной.
Один из примеров обобщённого обучения — возможность машинного перевода между французским и английским. Для проверки производительности GPT-2 было использовано экзаменационное задание WMT-14, однако французских текстов в корпусе практически не было (только 10 МБ из 40 000 МБ остались после очистки — в основном фрагменты в английских источниках).
Тем не менее модель набрала 5 BLEU на английско-французском тесте (чуть ниже уровня прямой подстановки слов). На французско-английском тесте GPT-2 набрала 11,5 BLEU, превысив показатели ряда других современных (2017) немонтируемых переводчиков, но всё ещё уступая лучшим из них (33,5 BLEU). При этом другие модели использовали для обучения в сотни раз больше текстов на французском.
| Архитектура | Кол-во параметров | Обучающий корпус | |
|---|---|---|---|
| GPT-1 | 12-уровневый, 12-головый декодер-трансформер (без энкодера), после него линейный слой softmax | 0,12 млрд | BookCorpus:[9] 4,5 ГБ текста из 7000 неопубликованных книг разных жанров. |
| GPT-2 | Модифицированный GPT-1 с другим нормированием | 1,5 млрд | WebText: 40 ГБ[2] текста, 8 млн документов с 45 млн веб-страниц (рейтингованные на Reddit) |
| GPT-3 | GPT-2 с доработками для масштабируемости | 175 млрд | 570 ГБ чистого текста: CommonCrawl, WebText, англ. Википедия, два книжных корпуса (Books1 и Books2) — суммарно 300 млрд токенов |
За GPT-2 последовала модель нового поколения GPT-3 с 175 млрд параметров, впервые анонсированная в 2020 году (исходный код которой никогда не публиковался). Доступ к GPT-3 предоставляется только по API от OpenAI и Microsoft. Позже появилась GPT-4, а также ведутся разработки следующего поколения — GPT-5.


