Шрифт:
Интервал:
Закладка:
Создатели генеративных моделей интересуются не только малыми литературными формами. В 2013 г. по инициативе американского программиста Дариуса Каземи был запущен проект NaNoGenMo (National Novel Generation Month, Национальный месяц генерации романов), созданный по мотивам проекта NaNoWriMo (National Novel Writing Month, Национальный месяц написания романов), предназначенного для поддержки начинающих писателей. Оба проекта понимают под романом художественный текст длиною от 50 000 слов. Участники NaNoGenMo традиционно посвящают каждый ноябрь написанию кода, предназначенного для генерации романов. Проект не носит соревновательного характера — в нём нет победителей и побеждённых. С образцами машинной прозы можно ознакомиться на странице[2541] проекта на платформе GitHub. Роман, давший старт NaNoGenMo, получил название «Подростки прогуливаются вокруг дома». Для создания его текста было задействовано несколько ботов, совершавших виртуальную прогулку и обменивающихся репликами, которые стали основой диалога, ставшего затем романом[2542], [2543].
Кстати говоря, уже знакомые нам Иван Ямщиков и Алексей Тихонов в соавторстве с Яной Агафоновой из Санкт-Петербургского отделения Высшей школы экономики представили[2544] на NaNoGenMo 2019 г. собственное творение — «параноидальный трансформер» [Paranoid Transformer] (явная отсылка к Марвину, роботу-параноику из цикла юмористических романов британского писателя Дугласа Адамса) — модель, представляющую собой объединение GPT, дообученной на специальном корпусе, с набором специальных эвристик, предназначенных для улучшения качества генерации. «Параноидальный трансформер» способен производить на свет вполне реалистичные дневники параноика.
NaNoGenMo — не единственная коллективная онлайн-инициатива, посвящённая литературному творчеству машин. В 2016 г. поэтесса и программистка Кармел Аллисон запустила веб-сайт CuratedAI — «Литературный журнал, написанный машинами для людей» (A literary magazine written by machines, for people) — онлайн-издание, специализирующееся на публикации произведений, созданных при помощи методов искусственного интеллекта. Первыми произведениями, опубликованными на сайте, стали стихи, сгенерированные созданной Кармел нейронной сетью Deep Gimble I («Глубокая Гимбл I»)[2545], [2546].
Хотя к форме в случае стихотворного текста предъявляются дополнительные требования, порой весьма жёсткие, задача написания стихотворений, по всей видимости, является более простой с точки зрения искусственного интеллекта. Причина этого довольно банальна: стихотворения в массе своей сравнительно невелики, а значит, при их «написании» генеративная модель не должна «сочинять» крупномасштабную структуру повествования, основой которой являются зависимости между токенами, разнесёнными на очень большие расстояния. Представьте, что какой-то герой вводится автором в первой главе романа, а затем вновь упоминается только через несколько глав. Если между двумя его упоминаниями будет более 1024 токенов, GPT-2 просто «забудет» о его существовании. Конечно, и в поэзии встречаются весьма внушительные произведения — стихотворные поэмы. Самой длинной из них, наверное, можно назвать «Махабхарату». Без поздних включений и прозаических отрывков этот древнеиндийский эпос состоит из как минимум 75 000 шлок (двустиший). Это около 900 000 слов. В полной же версии — до 1 800 000 слов. Правда, «Махабхарата» складывалась чуть ли не одиннадцать веков и усилиями многих людей; самой же длинной поэмой, созданной стараниями одного автора, считается свод «Шахнаме» персидского поэта Фирдоуси, — около 260 000 слов. В то же время в самом длинном прозаическом произведении, романе Жюля Ромена «Люди доброй воли», около 2 070 000 слов, не считая 100-страничного указателя и 50-страничного оглавления. Это во много раз больше, чем в «Шахнаме», и больше, чем в «Махабхарате».
Даже книга, которую вы читаете в настоящий момент, по числу слов превосходит «Шахнаме». Конечно, у модели с длиной контекста в 1024 токена наверняка возникли бы проблемы и при написании большой стихотворной поэмы, но в массе своей шедевры стихотворного жанра без особых проблем поместятся в такой контекст целиком. В стихотворении «Имя твоё — птица в руке…» Цветаевой 81 слово, в «Незнакомке» Блока — 219, в «Сероглазом короле» Ахматовой — 69, а «Я вас любил…» Пушкина и вовсе насчитывает всего 50 слов. При автоматическом создании стихотворений борьба сейчас идёт скорее за то, чтобы научить модели понимать, чем шедевры отличаются от проходных текстов, и научить машины создавать именно шедевры. Впрочем, я думаю, что эта задача не так уж сложна, как может показаться на первый взгляд. По крайней мере, у нас есть множество рейтингов стихотворений, которые можно использовать в качестве обучающих выборок. С проблемой недостаточной длины контекста генеративных моделей ситуация выглядит несколько менее оптимистичной — здесь, по всей видимости, необходимы новые нейросетевые архитектуры, и в настоящее время в этой области активно ведутся исследования.
Среди примеров перспективных архитектур можно назвать разреженный трансформер [sparse transformer][2547], лонгформер [longformer][2548], реформер [reformer][2549], трансформер с адаптивным диапазоном внимания [adaptive attention span][2550], сжимающий трансформер [compressive transformer][2551], поблочный трансформер [blockwise transformer][2552], Linformer[2553], BigBird[2554], перформер [performer][2555], ∞-формер [∞-former][2556], LongNet[2557], транcформер Синкхорна [Sinkhorn Transformer][2558], синтезатор [Synthesizer][2559], Mega (Moving Average Equipped Gated Attention, Вентильное внимание, оснащённое скользящим средним)[2560], MEGABYTE[2561] и ряд других аналогичных моделей. Такие модели обычно позволяют увеличить размеры рецептивного поля в несколько раз. Для оценки возможностей моделей, предназначенных для моделирования «долгих» (до 16 тыс. токенов) зависимостей в последовательностях, исследователями из DeepMind и Google в 2020 г. был разработан специальный набор тестов под названием «Арена больших расстояний» [Long Range Arena][2562], [2563]. По состоянию на середину 2023 г. наилучшие результаты на этом наборе тестов были достигнуты моделью Mega. В 2023 г. было опубликовано ещё два набора тестов для моделей, способных работать с длинными последовательностями: L-Eval[2564] и LongBench[2565]. Интересно, что неплохие результаты при моделировании длинных последовательностей показывают старые добрые свёрточные нейронные сети — для языкового моделирования в последние годы на основе свёрток было создано несколько интересных архитектур, например SGConv (Structured Global Convolution, Структурированная глобальная свёртка)[2566] или «Иерархия гиен» [Hyena Hierarchy][2567].
В общем, сегодня у исследователей есть множество моделей-кандидатов, способных в той или иной мере решить проблему моделирования длинных текстовых последовательностей, поэтому в ближайшее десятилетие мы, вероятно, увидим немало новых интересных проектов, связанных с литературным творчеством нейросетевых моделей.
6.6.4 GPT-3 и гонка за триллионом параметров
Появление в мае 2020 г. новой модели семейства GPT под названием GPT-3 вызвало волну обсуждений как среди специалистов, так и в среде широкой общественности. Эта модель совместила в себе блоки обычного, «плотного» [dense] трансформера и блоки разреженного трансформера, при этом размер её рецептивного поля составляет 2048 токенов. Самый большой вариант GPT-3 со 175 млрд весов стал на момент появления самой большой моделью в своём семействе. Специалисты OpenAI описали в своей публикации