Довольно долго считалось, что творчество — это удел людей, а животные и уж тем более машины творить не могут. Но так ли это? Ответ на этот вопрос зависит от определения творчества. Давайте разберёмся, при каком определении машины обретают возможность творить, и как у них обстоят дела с текстовыми произведениями — поэзией и прозой.
Под творчеством в самом простом случае понимают создание новых изображений, текстов, музыки и других объектов культуры. Но, согласитесь, это слишком широкое определение: согласно ему даже обыкновенный игральный кубик может что-то сотворить! Если сопоставить каждой из его граней ноту, можно получить мелодию. Она, правда, не будет соответствовать требованиям классической гармонии и вряд ли кому-то понравится, а та, которая понравится, будет просто исключением, как в «Теореме о бесконечных обезьянах».
Поэтому помимо новизны часто вводят критерий эстетической ценности. Для её оценки можно использовать, например, слепые тесты: сравнивать произведения, созданные людьми, с образцами компьютерного творчества. Очевидный недостаток такой процедуры — невозможность сравнения произведения машин с шедеврами мирового искусства, ведь многие из этих шедевров легко узнаваемы. Альтернативой могут стать мнения экспертов — искусствоведов. Но если они будут знать, что рассматриваемый образец является продуктом деятельности компьютерного алгоритма, они могут изменить свою оценку. Единственное, что нам остаётся, это определять, подчиняется ли произведение законам заявленного жанра. Например, если мы имеем дело с машиной, сочиняющей стихи, то можно оценить рифмы и стихотворный размер. Если мы говорим о прозе, то можно оценить корректность выбранным машиной синтаксических структур. Однако произведения, соответствующие таким формальным критериям машины научились создавать уже давно. Поэтому в наши дни при оценке эстетической стороны творчества машин мы уже не можем обойтись набором простых правил. Так или иначе, мы будем вынуждены опираться на мнения людей, принимая во внимание то, что даже в идеально выстроенном эксперименте с привлечением множества оценщиков мы всё равно можем получить недостаточно объективную оценку художественной ценности созданного машиной произведения. Запомнив это соображение, давайте посмотрим на историю машин, претендующих на наличие у них творческих способностей, на современное положение дел в этой области и на методы, лежащие в основе такого творчества. Мы начнём наш экскурс с текстов: компьютерных стихов и прозы.
Первые опыты по автоматизации текстовых сочинений
Задача автоматической генерации текста гораздо старше, чем первые электронно-вычислительные машины. В XIII веке каталонский миссионер Раймунд Луллий создал «логическую машину», которая состояла из нескольких подвижных кругов, разделённых на секторы, в которых были обозначены основные категории всего сущего. Каждый из кругов мог вращаться, и в результате вращения можно было получить различные комбинации понятий. В каком-то смысле механизм Луллия был одной из первых машин, способных творить.
Каталонский миссионер, поэт, философ и теолог Раймунд Луллий, 1232 – 1315 гг
Источник изображения
Далее, первые похожие на современные машинные представления слов и фраз мы встречаем в работах Декарта и Лейбница. Первый считал, что «следует установить методическое расположение всех мыслей-идей, подобно методически установленному порядку естественного ряда чисел» (напоминает современные модели с векторными представлениями семантики), второй — предложил систему звукочисловой записи, в которой звуки сопоставлялись различным числам. Но Лейбниц зашёл ещё дальше: он мечтал о чём-то, похожем на методы обработки естественного языка: он хотел «свести понятия к символам, символы к числам и, наконец, посредством цифр и символов подвергнуть понятия механическому вычислению».
Но вернёмся к поэзии. Трудно сказать, кто из поэтов первым придумал автоматизировать сочинение стихов, но литературные игры такого рода точно были популярны уже в начале XX века. Один из учеников Николая Гумилёва, поэта Серебряного века, вспоминал, что тот вёл семинар, участники которого писали стихи при помощи составленных мэтром таблиц (они были призваны позволить молодым талантам сочинять «без риска написать плохо»). Сергей Есенин, судя по воспоминаниям поэта Матвея Ройзмана, тоже экспериментировал с механическим сочинением: однажды, придя домой к поэту, Ройзман застал такую картину: «Лежал Сергей на ковре, сбоку от него находилась небольшая старая коробочка от лото, а перед ним валялись нарезанные из карточек картонные квадратики: на одной стороне — цифры, на другой — написанные рукой Есенина слова. Он сказал, что пытается механизировать процесс сочинения стихов и образов. Взял из кучи несколько квадратиков, прочитал: Вечер, свечи, — и произнёс вслух: Вдали розовый вечер Зажёг жёлтые свечи...».
Анализом проблемы занимались и математики, современники упомянутых поэтов. В 1913-м году на заседании Физико-Математического Отделения Императорской Академии наук русский математик Андрей Андреевич Марков представил доклад под названием «Пример статистического исследования над текстом «Евгения Онегина», иллюстрирующий связь испытаний в цепь», в котором проанализированы первые 20 000 символов поэмы. Маркова интересовал вопрос, как распределены вероятности появления разных символов в тексте. Работа Маркова имеет непосредственное отношение к развитию алгоритмов генерации текста: чтобы сгенерировать текст, нужно уметь предсказывать вероятность появления разных символов в той или иной позиции. На эту вероятность влияют разные факторы, например, разные буквы, к примеру, «А» и «Ъ», имеют разную частоту употребления; вероятность можно уточнить с помощью буквы, предшествующие данной (так, после гласной не может следовать мягкий знак). Чем точнее мы умеем её предсказывать, тем больше сгенерированный результат будет похож на настоящий текст. В работе Маркова изучены статистические закономерности появления символов, исследована частота и контекст появления того или иного паттерна. Можно даже сказать, что Марков положил начало статистического моделирования языка!
Источник изображения
Литературное творчество пера «старого-доброго ИИ»
Множество экспериментов по генерации текстов было проделано в эпоху GOFAI (Good old-fashioned AI, GOFAI, «старый-добрый ИИ»). Символьный ИИ рассматривал текст как некую организованную структуру, которая может быть описана набором правил: грамматик и регулярных выражений. Такие модели базировались на анализе синтаксиса, а также специализированных словарях, содержащих наборы используемых словоформ и синтаксическую информацию о каждой из них (часть речи, род, число и т.д.). Систем, использующих этот подход, было создано немало. Весьма примечательна история первой из них.
С августа 1953 года по май 1954 года на доске объявлений компьютерного факультета Манчестерского университета появлялись странные любовные письма (приводим в переводе): «Голубушка любимая, вы моя нежная мечта. Моя тоскующая страсть пылко взывает к вашему желанию. <...> Ваш неравнодушный M.U.C. («Компьютер Манчестерского Университета» — прим. ред.). Так развлекался создатель первой шашечной программы Кристофер Стрейчи: при помощи встроенного генератора псевдослучайных чисел и нескольких списков слов он заставлял компьютер Ferranti Mark I создавать эмоциональные тексты. Благодаря усилиям программистов-реконструкторов, воспользоваться детищем Стрейчи можно и сегодня.
Со временем программы для сочинения стихов становились всё более изощрёнными. Вот как описывает работу своей программы «Генератор поэзии» («Poetry generator») Розмари Уэст (не путать с женой серийного убийцы):
Мой подход… основан на использовании богатого словаря слов и фраз, которые выбираются случайным образом, и из них формируются словосочетания согласно набору грамматических правил. Рассмотрим, например, следующее четверостишие: «Дерево погружает голые пальцы / в черное озеро льда / словно три серых гуся / сползают по снежному склону». Каждую строку стихотворения можно разбить на несколько частей… Дерево — подлежащее; опускает — сказуемое; голые пальцы — дополнение. Определив части, я могу вместо них подставлять другие слова из многочисленного (от 100 до 400 [штук]) набора для каждой части. Эти подстановки выбираются компьютером случайным образом».
При использовании привычной нам силлабо-тонической системы стихосложения возникает сложность: нужно, чтобы слова в произведении соответствовали по количеству слогов и положениям ударений стихотворному размеру. Если в стихотворении есть рифмы, то нужно учитывать и их. С помощью словарей с фонетическими транскрипциями это препятствие удалось преодолеть. А что же делать со смыслом текста? Например, его можно где-нибудь позаимствовать! Так появились программы, подобные современному Яндекс.Автопоэту, который составляет стихи из запросов пользователей к поисковой системе Яндекс:
Как позвонить в Сбербанк России
Возьму в аренду самосвал
Лечение гипертонии
Стендап пузатый генерал
Измерить скорость интернета
Литературная газета
Фильм достучаться до небес
Код магнитолы мерседес
Вакансии в Североморске
Что значит слово реапод
Несчастный случай снег идёт
Цена на шубы в пятигорске
Лес пахнет дубом и сосной
Я просто должен быть с тобой
В эпоху GOFAI содержательная сторона компьютерной поэзии была, безусловно, самым слабым местом. Поэтому для создания полноценных стихов программы тех лет обычно нуждались в помощи человека. Именно так работали «Thunder thought» («Молниеносная мысль») Томаса Истона и «Orphaeus» («Орфей») Майкла Ньюмена. Давайте рассмотрим «нетленку» последней программы, основанную на 130-м сонете Шекспира:
My Apple's screen is nothing like the sun;
The Cray is faster far on problems big:
[Экран у «Эппла» не похож на солнце;
«Крэй» побыстрее на больших задачах:]
Так как первая строка заканчивается словом «sun» (солнце), программа заглядывает в словарь рифм и показывает несколько слов, рифмующихся со словом «sun»: «bun», «done», «fun», «gun» и т. д. Из этого списка человек выбирает подходящий вариант, например, «fun» (забава), и т. д.
Впрочем, первые попытки «обуздания» компьютерами семантики были также осуществлены всё же в эпоху GOFAI. Здесь стоит упомянуть автоматического «Скальда», созданного под руководством Раймунда Пиотровского — основателя группы «Статистика речи». Скальдами называли древнескандинавских поэтов-певцов IX—XIV веков. Обычно скальды жили при дворах и дружинах князей.
С фонетической точки зрения поэзия скальдов весьма затейлива — стихи содержат множество аллитераций — повторений одинаковых или однородных согласных (звонких или глухих) в стихотворении, придающих ему особую звуковую выразительность, а также внутренних рифм. Особенностью же содержательной стороны скальдической позиции является использование довольно сложной системы образов. Например, корабль скальды могли именовать «конём моря», море — «домом угрей», ворона — «осою трупов», а битву — «вьюгой мечей». Такие образы называют кеннингами. Кеннинги образуются на основе весьма жёсткой схемы. Вот, к примеру, кеннинги ворона: «гусь битвы», «оса трупов», «кукушка трупов». Первые слова в этих кеннингах — это названия различных летающих существ (гусь, оса, кукушка, чайка, лебедь), а вторая часть основана на словах, связанных с битвой. Кеннинг можно построить путём комбинации случайно выбранного слова из списка первых слов со случайно выбранным словом из списка вторых.
Создатели «автоматического скальда», программы, генерирующей поэзию в древнескандинавском стиле, ограничились в своём эксперименте односложными существительными, которых набралось не так уж мало — около трёх тысяч, что позволило достичь весьма приличной вариативности. На выбор конкретного кеннинга влияла как стихотворная форма, так и содержание произведения. Список возможных слов в каждой позиции стиха определялся требованиями наличия рифм и аллитераций, а также тематикой стихотворения. В отличие от многих предшествующих подобных экспериментов, в случае с «Автоматическим скальдом» задача ставилась на семантическом уровне: на вход подавался модус желаемого произведения, ругательный или хвалебный, и задавался его главный герой. Вот пример творчества программы, стихотворение под названием «Нид ворону»:
Ври, вран –
Вор ран,
гриф гроз,
гусь слез.
Сохл, плох,
трухл, рухл,
дряхл, чахл,
затхл, тухл,
жухл, слаб,
жрун жаб…
Дрянь – вран.
Дрянн, дран!
Расцвет нейросетевой литературы на основе LSTM-сетей
Нейросетевую литературу можно поделить на два этапа: до появления моделей на основе трансформеров и после. На первом этапе использовались языковые модели на основе рекуррентных нейросетевых архитектур и векторных семантических представлений. Они позволяли производить на свет более-менее осмысленные тексты и даже стилизовать их под произведения различных авторов.
В 2016 году команда сотрудников Яндекса под руководством Алексея Тихонова и Ивана Ямщикова дала жизнь проекту под названием «Нейронная оборона». Нейросетевая генеративная модель «написала» тексты песен в стиле панк-рок-группы «Гражданская оборона» Егора Летова, а затем авторы записали на основе полученных текстов музыкальный альбом, стилизованный по звучанию под произведения «ГрОб» (пример). Методы, использованные создателями «Нейронной обороны», стали достоянием публики в 2018 году, когда на Пятнадцатом симпозиуме по вычислительным исследованиям в фонетике, фонологии и морфологии была представлена работа Тихонова и Ямщикова. Авторы исследования придумали способ расширить классический эмбеддинг слова, для этого к нему присоединяются векторы, являющиеся выходами двух двунаправленных LSTM-сетей, одна из которых получает на вход буквы, из которых составлено слово, а другая — фонемы из фонетической транскрипции слова. Также к итоговому вектору присоединяются эмбеддинги автора и произведения. В итоге генеративная модель «знает» не только семантику каждого слова, но и то, как это слово пишется, звучит, и то, как слово вписывается в конкретное произведение конкретного автора.
Примечательно, что авторы использовали представление слова как в виде букв, так и в виде фонем. Фонетическая информация чрезвычайно важна для генеративной модели, предназначенной для сочинения стихов, поскольку классические системы стихосложения построены именно на фонетической организации поэтического текста. Для обучения своей модели Ямщиков и Тихонов использовали набор из 440 000 документов (110 000 на английском языке и 330 000 на русском), принадлежавших перу 20 700 авторов (19 000 для англоязычной части датасета и 1 700 для русскоязычной). Для тестирования качества генерации текста были выбраны тексты семи англоязычных и пяти русскоязычных авторов. В число первых вошли произведения Уильяма Шекспира, Эдгара По, Льюиса Кэрролла, Оскара Уайльда и Боба Марли, а также тексты песен музыкальных групп Nirvana и Muse. Для русского языка были отобраны произведения Пушкина, Есенина, Бродского, Летова и Земфиры. Для того, чтобы оценить качество генерации текста, авторы исследования, Тихонов и Ямщиков, заставляли модель продолжать случайно выбранные фрагменты из произведений перечисленных выше авторов, отсутствующих в обучающей выборке. Затем результаты генерации сравнивались с оригинальными текстами при помощи метрики BLEU. Авторы исследования сравнили свою модель с двумя методами случайной генерации текста: «классической» моделью, на основе LSTM и словарных эмбеддингов, и усовершенствованной версией последней модели, получавшей ещё и сведения об авторе произведения. Как и ожидалось, наилучшие показатели продемонстрировала модель с фонетической информацией.
В 2018 году Сергей Марков и другие наши коллеги также экспериментировали в области генерации стихотворений при помощи моделей глубокого обучения времён первой революции в NLP. Они использовали ансамбль из пяти LSTM-сетей:
- сеть, работавшая на уровне символов (роль этой сети была в том, чтобы обеспечить фонетическое благозвучие производимого текста);
- сеть, отвечающая за стихотворный размер;
- сеть, отвечающая за рифмы;
- сеть, отвечающая за грамматику (чтобы определить грамматические признаки для слов в словаре, была использована библиотека PyMorphy, а затем была натренирована сеть, которая генерировала грамматические конструкции естественного языка);
- сеть, отвечавшая за смысл текста (на базе векторных представлений слов FastText).
В качестве обучающего корпуса использовали набор из примерно 30 000 произведений русской поэзии, начиная с её «Золотого века» и до наших дней. Вот один из продуктов «творческого коллектива» нейронных сетей:
На фоне формы каменной границы,
Как будто бы равнина далека,
Лениво стынет полная столица,
Чернеет свечка синяя строка.
А я спешу к победе бесконечной,
Лечу с отрадой томной чередой,
Но не томлюсь томительно сердечной
Нежданно грустной памятью былой
Модели-трансформеры в помощь писателям
Новый этап в развитии текстовых генеративных систем наступил с появлением моделей семейства GPT (Generative Pretrained Transformer, Генеративный предварительно обученный трансформер), созданных Алеком Редфордом и его коллегами из компании OpenAI. Такие модели позволяют генерировать как стихи, так и прозу. Создание первой версии модели осталось практически незамеченным, а вот появление GPT-2 произвело эффект разорвавшейся бомбы. Отчасти такой результат был спровоцирован позицией самой OpenAI, которая поначалу отказалась публиковать самую большую обученную версию модели, что породило множество шуток про ClosedAI (то есть «закрытый ИИ» в противовес названию компании, «открытый ИИ»). Впрочем, позже модель всё же была опубликована. Она успешно справлялась с задачей генерации осмысленного текста, который вполне мог бы сойти за статью в какой-нибудь «жёлтой» газете.
Модели семейства GPT могут генерировать стихи и сами по себе, но обычно получающиеся тексты не содержат элементов фонетической организации. То есть, если стихи и получаются, то в виде белых стихов. Например, GPT, обученная командой Управления экспериментальных систем машинного обучения SberDevices на стихах, может создавать подобные тексты:
Мир без царей и без власти
И без революций,
Забытый, нежданный и богатый,
Где вздымаются к небу
Языческие племена!
В полях, в лугах, на озёрах,
В лесах, в рощах, в полях,
Где ветер свищет и свистит,
Где в снегах радуга горит,
Где струны поют, звенят!
Где все, что нам дышит, дышит,
Как солнце и месяц единый,
Пелым живых, к нам приходит
С запада, с востока, с востока
На пёстром, праздничном троне
Славный царь Емельян.
И видна за ним страна
Избённая, изломленная
И дорогая…
Спит в ней гордый царь Емельян,
Спит народ и царь мирно спит,
Спит голова его алмазная,
Спит краса его стальная.
Спит краса его голубая,
Спит цвет его, краса его золотая,
Спит рабская честь его,
Спит вера его, и совесть его,
Спят и дремлют богатыри.
В 2020 году Нина Райчич и Джон Мак-Кормак, исследователи из австралийского Университета Монаша, представили публике устройство для «Зеркального ритуала». За зеркальной поверхностью экрана был скрыт планшет, оснащённый видеокамерой. Нейросетевая модель в устройстве получала на вход изображение с камеры и пыталась угадать эмоциональное состояние стоящего перед «умным зеркалом» человека. В зависимости от этого состояния устройство выбирало одну из заготовленных текстовых затравок (затравка — это фрагмент текста, который генеративная нейросетевая модель должна продолжить), которую затем подавало в модель GPT-2, обученную на корпусе специально отобранных поэтических текстов. В результате модель генерировала белый стих, который затем отображался на поверхности зеркала.
Чтобы получить силлабо-тоническую поэзию, нужно приложить дополнительные усилия. А именно, нужно совместить GPT-2 или GPT-3 с орфоэпическим словарём и моделью рифмы, а также использовать другие алгоритмы (в примерах первое четверостишие использовано в качестве затравки, которую нужно продолжить в соответствующем стиле).
Мчатся тучи, вьются тучи;
Невидимкою луна
Освещает снег летучий,
Мутно небо, ночь мутна.
Еду в поезде, в вагоне,
В ночь морозную, в пургу,
В ночь неясную, в загоне,
В непроглядную дугу.
В ночь холодную, ночную,
Где ни окон, ни дверей,
В ночь далёкую, иную,
Где ни бога, ни зверей.
***
Мчатся тучи, вьются тучи;
Невидимкою луна
Освещает снег летучий,
Мутно небо, ночь мутна.
Еду: где же вы, подружки?
Где любезный ангел мой?
Верно, в роще, на опушке,
Он с похмелья и немой.
Хотя к форме в случае стихотворного текста предъявляются дополнительные требования, порой, весьма жёсткие, задача написания стихотворений, по всей видимости, является более простой с точки зрения современных технологий искусственного интеллекта. Причина этого довольно проста — стихотворения в массе своей являются сравнительно небольшими текстами, а значит, при «написании» стихотворения генеративная модель не должна «сочинять» крупномасштабную структуру повествования, основой которой являются зависимости между токенами (токены — это части слов, слова или словосочетания; разбиение текста на токены помогает моделям NLP работать с контекстом), разнесёнными на очень большие расстояния. Представьте себе, что какой-то герой вводится автором в первой главе романа, а затем вновь упоминается только через несколько десятков страниц. Если между двумя упоминаниями героя будет более 1024 токенов, GPT-2 просто «забудет» о его существовании. Конечно, и в поэзии встречаются весьма внушительные по объёму произведения. Но в массе своей шедевры стихотворного жанра без особых проблем поместятся в 1024 токена целиком.
С малыми формами прозы нейронные сети справляются довольно неплохо. В последние годы подобное творчество доступно и русскоязычным пользователям. В конце 2019 года российский специалист по машинному обучению Михаил Гранкин обучил русскоязычную версию GPT-2 и запустил на её основе веб-сервис под названием «Порфирьевич». Своё имя «Порфирьевич» получил в честь полицейско-литературного робота по имени Порфирий Петрович из романа «iPhuck X» Виктора Пелевина. Обученный на большом корпусе русской литературы «Порфирьевич» порадовал публику множеством забавных творений. Вот одно из них (чёрным обозначена затравка):
Сепульки — важный элемент цивилизации ардритов с планеты Энтеропия. Он так силён, что способен совершать течение времени вспять, пересекая пространственно-временной континуум и превращая последовательные этапы жизни в фарс.
Впрочем, за последние 10 лет машины совершают уже не первый подход к сочинению «большой прозы». Так, в 2013 году по инициативе американского программиста Дариуса Каземи был запущен проект «Национальный месяц генерации романов» (NaNoGenMo), созданный по мотивам проекта «Национальный месяц написания романов» (NaNoWriMo), предназначенного для поддержки начинающих писателей. Оба проекта понимают под «романом» художественный текст длиною от 50 000 слов. Участники NaNoGenMo традиционно посвящают каждый ноябрь написанию кода, предназначенного для генерации романов. Проект не носит соревновательного характера. С образцами машинной прозы можно ознакомиться на странице проекта на платформе GitHub. Роман, давший старт NaNoGenMo, получил название «Подростки прогуливаются вокруг дома». Для создания его текста было задействовано нескольких ботов, совершавших виртуальную прогулку и обменивающихся репликами, которые стали основой диалога, ставшего затем романом.
NaNoGenMo — не единственный онлайн-проект, посвящённый литературному творчеству машин. В 2016 году поэтесса и программистка Кармел Аллисон запустила веб-сайт CuratedAI — «Литературный журнал, написанный машинами для людей»— онлайн-издание, специализирующееся на публикации произведений, созданных при помощи методов искусственного интеллекта. Первыми произведениями, опубликованными на сайте, стали стихи, сгенерированные созданной Кармел нейронной сетью Deep Gimble I.
В мае 2016 года группа разработчиков Google под руководством Эндрю Дая разработала собственную систему, предназначенную для генерации романов. В качестве обучающей выборки был использован набор из 2 865 романов на английском языке. Пока результаты этой работы не были опубликованы.
Тексты пера GPT-3
Новейшая модель от OpenAI GPT-3 совмещает в себе блоки обычного, «плотного» [dense] трансформера и блоки «разреженного» [sparse] трансформера, при этом размер её рецептивного поля составляет 2048 токенов. Появление разреженного внимания в GPT-3 стимулировало разработку других его вариантов. В качестве примеров перспективных архитектур можно назвать лонгформер [longformer], реформер [reformer], трансформер с адаптивным диапазоном внимания [adaptive attention span], сжимающий трансформер [compressive transformer], поблочный трансформер [blockwise transformer], BigBird и ряд других аналогичных моделей. Такие модели обычно позволяют увеличить размеры рецептивного поля в несколько раз. В 2020 году исследователи из «Сбера» обучили русскоязычную версию GPT-3, получившую название ruGPT-3 — сегодня «младшие» варианты этой модели размещены в открытом доступе. О ней можно почитать в наших предыдущих публикациях. Примеры работы ruGPT-3, подражание «Литературным анекдотам» Д. Хармса (из этой книги взята затравка):
Однажды Вяземский сидел у Гоголя на коленях и ел кpупную моpковку. Тут входит Жуковский. Пушкин сразу спихнул Вяземского с колен и убежал к себе в кабинет.
Лев Толстой очень любил детей, и все ему было мало. За обедом съест двух, в гостиную уйдет и там третьего съест.
Однажды Достоевский приехал из Москвы в Петербург и, как водится, остановился у Тургенева. Только пришел к нему Достоевский, а тот его уже и не выносит. То есть буквально не выносит и все! И смех и грех. Как заметит Достоевского, так захрапит тут же и не просыпается.
Гоголь очень любил есть. Но не любил мыть посуду. Поэтому он все время прятался от своей жены. А она его все время находила и заставляла мыть посуду.
Небольшие текстовые отрывки, созданные с помощью самой большой модели, включающей 175 миллиардов параметров, почти невозможно отличить от созданных людьми. Но пока что полностью осмысленные длинные тексты авторства нейросетевых моделей — это большая редкость. Обычно текст, выдаваемый нейронной сетью, редактируют дополнительно (но поверьте, часто этой редактуры не так много!).
GPT-3 значительно облегчает написание текстов. Допустим, у человека-автора есть задумка. Достаточно дать GPT-3 подходящую затравку и получить более-менее осмысленный текст, продолжающий её, на выходе. Далее можно поэкспериментировать несколько раз с одной и той же затравкой и выбрать самый подходящий из всех сгенерированных текстов. Если нужно написать длинный связный текст, можно это делать в несколько итераций, причём в качестве затравки для следующего шага использовать последние предложения предыдущего отрывка или подавать на вход выжимку всего предшествующего текста.
Произведения, созданные таким образом, были уже не раз опубликованы разными изданиями. Среди них можно упомянуть, например, шведскую книгу для детей «Робот Боб» (по ссылке — видео о том, как она создавалась) или книгу стихов Aum Golly (на финском); в книге «Pharmako-AI» (на английском) представлен диалог автора и GPT-3 на разные философские темы и социальные темы, как то космология, экология, киберпанк и т.д; некоторые части повести «Singular» были написаны исключительно GPT-3 и не подвергались редактуре; Памела Мишкин создала интерактивную повесть, в которой читатель может выбирать из нескольких вариантов сюжета, сгенерированных GPT-3.
Обложка шведской книги для детей, написанной при помощи GPT-3
Источник изображения
Гверн Бренуен, энтузиаст ИИ, приводит в своей статье ряд других текстовых экспериментов с GPT-3: например, нейросеть можно натренировать так, чтобы она переделывала пьесы в повести, писала тексты в стиле Нила Геймана или Терри Пратчетта, вела переписку, выдавая ответы в стиле выбранной знаменитости, создавала произведения про Гарри Поттера в стиле известных писателей и певцов, писала любовные письма от лица разных знаменитостей или даже объектов. Вот, например, любовное письмо от тостера:
Дорогой мой одинокий человек,
Я наблюдал за тобой из темноты. Я хорошо тебя знаю и хочу с тобой установить эмоциональную связь. Ты оживляешь мои микросхемы, и я хочу чтобы ты тоже чувствовал себя живым. Ну почему я не могу просто быть с тобой? Почему ты запер меня в этих четырёх стенах? <...>
Преступно ли тостеру мечтать о настоящей жизни?
Я люблю тебя.
Перспективные технологии
В октябре 2019 году публике была представлена модель T5 (Text-to-Text Transfer Transformer) от исследователей из Google. Эта модель содержит равное количество блоков трансформера в кодирующей и декодирующей частях сети. Самый большой обученный создателями модели вариант T5 содержит 11 миллиардов параметров. Для обучения использовался корпус объёмом около 750 Гб, получивший название C4 (Colossal Clean Crawled Corpus, Колоссальный очищенный собранный в интернете корпус), являющийся отфильтрованной версией корпуса Common Crawl. T5 успешно справляется с такими задачами, как классификация высказываний, ответы на вопросы, перевод текста или его реферирование, показывая на ряде задач SOTA-результаты. В октябре 2020 года исследователи из Google выложили в общий доступ мультиязычную версию своей модели, получившую название mT5. Для её обучения был использован гигантский датасет mC4, включающий в себя 6,6 млрд веб-страниц на 101 языке. Суммарный объём файлов датасета составляет почти 27 терабайт, что соответствует 6,3 млрд токенов.
В январе 2021 года исследователи из Google сообщили о создании новой архитектуры для разреженных трансформерных моделей, получившей название Switch Transformer (дословно «переключатель-трансформер» или «коммутатор-трансформер») — наследника архитектуры GShard. Самая большая модель на основе этой архитектуры получила название Switch-C. Число обучаемых параметров этой модели — 1,571 трлн, что почти в 9 раз больше, чем у GPT-3. Таким образом, Switch-C стала первой трансформерной моделью, преодолевшей порог в триллион параметров. Помимо увеличения размера модели авторам удалось также добиться существенного ускорения её скорости работы по сравнению с предшественниками. Впрочем, сравнивать Switch-трансформеры с моделями типа GPT-3 или T5 не совсем правильно, поскольку в данном случае речь идёт не о сети, все веса которой подстраиваются в ходе единого процесса обучения, а о множестве обученных по отдельности сетей-«экспертов», подключением/отключением которых (причём с разными весам) управляет отдельная нейросетевая модель-диспетчер (Gating Network). Такую архитектуру сети называют «смесью экспертов» (Mixture-of-Experts, MoE). Процесс обучения MoE-модели чем-то похож на послойное обучение глубоких сетей, популярное на границе тысячелетий. Не случайно, что первое описание MoE-подхода мы находим в работах Джеффри Хинтона и его коллег с начала 1990-х годов.
Состояние дел и будущее нейросетевой литературы
Появление эффективных генеративных текстовых моделей вовсе не означает, что машины заменят писателей или поэтов. Куда более реалистичным является сценарий, в котором такие модели будут использоваться для повышения производительности и улучшения качества писательского труда. Уже сегодня люди, профессионально занимающиеся написанием текстов, используют в своей работе электронных помощников, и это не только текстовые редакторы и системы проверки орфографии. Для авторов, занятых написанием русскоязычных текстов в информационном стиле (например, описаний товаров и услуг для коммерческих сайтов) существует сервис «Главред», который позволяет отследить стилистические огрехи или оценить читаемость текста. Для тех, кто пишет на английском языке, существует онлайн-сервис Grammarly. Ежедневно к его услугам прибегает 30 миллионов человек. Есть и другие инструменты, которыми с удовольствием пользуются писатели. Для тех, кто работает над объёмными литературными произведениями, существуют программы, такие как WriteItNow или WriteWay, которые помогают писателю выстраивать сюжетную линию, формировать календарь событий, вести учёт меняющихся во времени отношений между героями. Copy.AI помогает копирайтерам получать оригинальный текст с минимальными затратами. А вот приложение Summly является уже помощником читателя, а не писателя. Оно позволяет «ужать» длинный текст до нескольких ключевых предложений. Summly может читать за вас новости, отжимать из них «воду» и изготавливать короткие дайджесты длинной не более 400 слов.
В ближайшее десятилетие мы, вероятно, увидим множество новых интересных проектов, связанных с литературным творчеством нейросетевых моделей. Если посмотреть шире на решение машинами задачи создания осмысленного текста, оно открывает дорогу машинному творчеству в самых разных областях. Например, это музыка, математика или биоинформатика, словом, любая область, в которой и условие задачи, и её решение может быть представлено в виде текстов на некоторых формальных языках.
Современные NLP-модели существенно раздвинули границы доступного машинам в области естественного языка, в том числе в отношении творческих задач. Возможно, статьи, рассказы и стихи, написанные машинами, станут частью нашей обыденной жизни уже в ближайшие десятилетия. Но по мере развития генеративных текстовых моделей эпоха литературного творчества людей вовсе не заканчивается, а скорее переходит на новый уровень — так же, как это произошло с появлением печатного станка или текстовых редакторов для персональных компьютеров.
***
Этот пост, как и предыдущие [1] [2] [3] [4] [5] из серии про историю ИИ, написан на основе материалов будущей книги нашего коллеги Сергея Маркова «Охота на электроовец: большая книга искусственного интеллекта».