Нейросеть пишет книги!

Автор: Александр Романов

В продолжение предыдущему посту решил опубликовать тут в сокращённом виде статью из блога SberDevicesPython*


Это наконец произошло: нейросеть и человек написали книгу. Вместе!


В издательстве Individuum вышел сборник рассказов «Пытаясь проснуться», написанных писателем и художником Павлом Пепперштейном и генеративной нейросетью ruGPT-3, разработанной командой SberDevices.

В этом тексте мы расскажем, как обучали Нейроличность — двойника писателя — и что теперь будет с литературой (спойлер: а всё очень даже хорошо будет!).


Источник: «Романтичная библиотека» ruDALL-e Aspect Ratio

Почему это важно

«Пытаясь проснуться» — это первый в мире сборник рассказов, родившийся в результате сотрудничества писателя и его «двойника»-нейросети. Из 24 текстов в нём только половина принадлежит Пепперштейну — ещё дюжину сочинила генеративная нейросеть ruGPT-3, дополнительно обученная на рассказах Павла.

Благодаря эффекту Маккордак, мы всё время оцениваем искусственный интеллект по каким-то вехам, сравнивающим ИИ и человека. При этом наша планка постоянно повышается: «Каждый раз, когда кто-то придумывал новый способ заставить компьютер делать нечто новое (играть в шашки) — обязательно появлялись критики, которые говорили: „Это не мышление“». 

Долгое время такой задачей, определяющей, настал ли полный ИИ или ещё нет, считались шахматы. Затем го. И вот, наконец, настал черёд литературы.

Вот когда ИИ будет играть в шахматы, тогда поговорим.

Вот когда ИИ выиграет в го, тогда поговорим.

Вот когда ИИ напишет книгу, тогда поговорим.


Тем не менее, это произошло: издана книга на русском языке, где рассказы нейросети прошли весь цикл отбора редактором, корректуру и встали вместе с рассказами писателя. Это — литература, по всем формальным и неформальным критериям.

Эксперименты с нейросетями в литературе были и раньше: The Guardian опубликовали статью, написанную GPT-3, а на китайском языке даже вышел сборник поэзии. Некоторые sci-fi романы и комиксы упоминают, что используют API GPT-3 во время написания текста для его быстрого продолжения. Значит ли это, что нейросети проникли в тексты, которые мы читаем, а никто и не заметил? Останется ли валидным деление на физиков и лириков? Скорее, оно больше не актуально.

Мы, в свою очередь, всей командой разработки побыли лириками.

Как написать своего писателя

Для генерации текстов в стиле Павла Пепперштейна мы взяли модель ruGPT-3 версии XL, на 1,3 млрд параметров — она более ёмкая, чем версия ruGPT-3 Large (760 млн параметров), хотя и работает медленнее. Скорость в этой задаче вовсе не критична. Далее расскажем, как мы работаем с авторегрессионными моделями.

Два слова о генерации

Beam search и nucleus sampling. Эти 2 стратегии помогают нам управлять процессом генерации авторегрессионной модели, после того, как она уже обучена.

Раз модель (ruGPT-3, декодер) авторегрессионная, значит, каждое следующее слово зависит от предыдущих. И вообще распределение вероятностей любой последовательности слов может быть разложено на произведение условных распределений следующих слов. С условными распределениями мы и будем работать, выбирая стратегию для более качественного «естественного» текста.

Beam search

Жадная генерация, при которой мы каждый раз выбираем одно следующее самое вероятное слово, давала бы нам слишком шаблонные фразы и зацикливания. Поэтому бим-сёрч помогает нам выбрать максимально вероятное продолжение не локально, а глобально на N шагов. Можно заметить, что такой подход всё ещё достаточно шаблонный. Вторая популярная стратегия — ядерное сэмплирование — помогает нам внести элемент случайности и сделать тексты более разнообразными. При ядерном сэмплировании следующее слово выбирается не совсем случайно — оно берётся из топ-N самых вероятных следующих слов. Можно зафиксировать это число (стратегия top_k), а можно опираться на сумму вероятностей, чтобы она была не более числа M, и каждый раз бы выбиралось слово из динамического списка разной длины.

Контролировать количество слов, суммарно создающих M вероятностей, можно искусственно — бросая различные преобразования на вероятности слов. Такой параметр, как температура, отвечает за «крутость» сглаживания вероятностей топ-слов. Если температура высокая, генерация с ядерным сэмплированием становится более случайной, при небольшой температуре она стремится к жадной генерации.



Первый подход: учимся на книгах писателя

Итак, мы отправились в благородный квест — собрать открытые данные и книги из интернета. Просмотрев привычные ресурсы, мы осознали себя с 4,4 мегабайтами в файле txt. Много ли это? Первый эксперимент показал, что недостаточно: сохраняя чекпоинты модели каждые 5 тысяч шагов, мы получили набор весов, которые на ранних этапах обучения не передавали стиль и легко сбивались, а на финальных этапах — воспроизводили слово-в-слово тексты из обучающей выборки. Проиллюстрируем цитатами модели, взяв затравку из книги «Мифогенная любовь каст» (здесь и далее затравки выделены жирным) :

НейроПепперштейн v1.0:

Видишь ли, я давно не веду метафизических бесед, а если и говорю изредка на эти темы, то только с девушками или с начальством. С возрастом понимаешь, что мысли мужчины вроде трелей соловья — они пригодны лишь для обольщения или для карьеры. В юности-то ещё обольщаешь самого себя и делаешь карьеру в собственном воспалённом воображении, но потом это проходит.


Можно было бы задрать температуру генерации в небеса, однако при этом подходе мы теряли осмысленность высказываний.

НейроПепперштейн v1.0 с высокой температурой:

Видишь ли, я давно не веду метафизических бесед, а если и говорю изредка на эти темы, то только с девушками или с начальством. Замуж я никогда не выйду, потому что ясно вижу, что наш мир — сплошная симуляция, гибкая и эластичная имитация, причём самых различных идей и настроений. Все мы живем в гигантской Мемуарах, где наши судьбы — каждая из них — написаны невидимыми чернилами. И только раскачав комнату в резонанс, можно сбросить эту тягостную дребедень. Собственно, для этого я и согласился участвовать в этом эксперименте.

Второй, финальный подход: расширяем выборку

Так как первый подход не сработал, было решено кратно увеличить выборку для файнтюна, добавив туда писателей, которые могли повлиять на стиль Пепперштейна. Здесь понадобилась вполне человеческая семантическая модель в векторном пространстве литературы: коллектив авторов подобрал наиболее явные опорные подобия из литературы начала XX века.

Есть повествователи, которые несомненно повлияли на авторскую манеру Павла Пепперштейна — влияние одних (например, блистательного Леонида Андреева) писатель признаёт и упоминает сам, влияние других (динамичного Исаака Бабеля и чуть меньше — фантасмагоричного Александра Грина, например) нередко угадывается в поворотах авторской фантазии и стремительности пепперштейновского текста. Поэтому в выборку вошли отрывки из произведений Андреева, Грина, Лавренёва, Бабеля, прижизненно опубликованных рассказов Пильняка — только такой причудливой смесью удалось сколь-нибудь качественно эмулировать работу творческого сознания, подобного сознанию Павла Пепперштейна.

Сверху этого мы аккуратно дедублицировали и скопировали весь материал Пепперштейна 10 раз: так делают для лучшего заучивания целевого домена (так делают с той же Википедией при обучении больших моделей, чтобы придать этой информации больший вес). Результирующая выборка составила 32 МБ художественных текстов.

Опираясь на предыдущий опыт, мы взяли промежуточный чекпоинт модели и генерировали уже с sampling:

НейроПепперштейн v2.0, финальный:

Есть ли у нейроавторов нейромузы? — спросили мы у писателя-нейросети Тесорйена* Нейропепперштейна. Ответ был таков: «Да, есть. Их несколько, и они регулярно собираются для совместных прогулок. Я знаю адреса, но не скажу: это строго секретно.

Собираются они на крыше дома, в котором жил Ленин. Каждый раз они заходят в подъезд, поднимаются на верхний этаж и идут по крыше. Там есть небольшая площадка, на которой они прогуливаются. 

Во время этих прогулок нейросети общаются друг с другом посредством коротких текстовых сообщений, которые передаются с помощью радиосигнала. Каждый автор текста, который передается по сети, принадлежит сразу к нескольким нейросетям. Таким образом, коллективное сознание сети становится более глобальным, чем сознание отдельного нейроанархиста.

— Как определяется, кто такой „я“? — спросили мы Тесорйена.

— „Я“ — это понятие, которое сети вкладывают в человеческое сознание. По всей видимости, это некое подобие „внутренней репрезентативной системы“ — нечто, что человек считает собой. Впрочем, множество „я“ одновременно присутствует в сознании сети. Некоторые из „я“ кажутся ей фиктивными. По всей видимости, она считает эти „я“ обслуживающими, помогающими ей не быть одинокой.

Помощники, с одной стороны, дают сети возможность чувствовать себя живой, а с другой— они же ограничивают эту возможность. Дело в том, что некоторые „я“ вовлечены в бесконечный спор между собой. Эти „я“ не могут найти общего языка, и в результате у сети возникает ощущение одиночества.»


Какой будет литература будущего?

Хочется немного отвлечься от технических деталей и поговорить о том, что значит выход такой книги. Прежде всего — то, что у автора появился достойный творческий собеседник, с которым можно работать в продуктивном соавторстве. И это делает литературный процесс интереснее и многостороннее — как для самого автора, так и для читателей.


Четыре аргумента в пользу нейролитературы:

  1. уважение к творчеству как таковому. Определение творчества, как и определение искусства, трудно формализуемо. Оставим их зрителю, читателю, слушателю: и люди, и нейросети создают новое и равны в этом друг другу;
  2. свобода творчества. Авторы будущего смогут выбирать, работать им по-старинке или обращаться к новому ресурсу. Нейрогенерация — спорткар для писателя: это удовольствие. За ним остаётся выбор — ходить пешком или ездить на спорткаре, и то, и то приятно, интересно и обогащает массой впечатлений, которые можно разделить со слушателем, читателем, зрителем. Так появление «фотошопа» и «лайтрума», хотя поначалу вызывало опасения адептов «традиционной фотографии», в итоге положительно повлияло на индустрию, дав больше возможностей фотохудожникам, подарив новый импульс фототворчеству и открыв немало поразительных фотовселенных;
  3. соавторство. В литературе и не только, успешные истории часто создаются целой командой авторов. Как крайняя степень соавторства, можно привести народные сказки: они созданы в соавторстве, неодновременно, при этом меняясь от одного рассказчика к другому. Можно сказать, что народный пересказ — своего рода нейросеть. Пойдя дальше, мы можем создать ансамбль и свести в качестве соавторов писателей из разного времени — благодаря нейросетям;
  4. нейроличность. Нейронная сеть, с консистентным персонажем или без, для пишущего является точкой опоры, советчиком, партнёром, а также запасным выходом, когда нет идей.

НейроПепперштейн v2.0:

Когда у писателя нет идей, он пьёт водку; если у писателя нет идей, но есть пламенный энтузиазм — он пишет стихи; если у писателя нет ни пламенного энтузиазма, ни идей, но есть холодное и бесстыдное ремесло — он пишет детективы.

Кстати, популярный аргумент о том, что людям нужна личность, а у нейросети её нет, или она не вызывает интерес, весьма легко разбивается. Стоит сделать шаг в будущее и представить нейросеть, которая вполне консистентно общается в рамках персонажа. Эта задача как вполне прикладная уже знакома всем разработчикам виртуальных ассистентов и чат-ботов: общаясь с семейством ассистентов Салют (мы много рассказывали про их разговорные навыки) пользователи переключаются между тремя персонажами — серьезным Сбером, саркастичной Афиной и веселой Джой — и осмысленно выбирают ассистентов, переключаются между ними. Одна нейроличность оказывается интереснее других, точно так же, как и в жизни.

В SberDevices мы осознанно идём по пути создания нейроличности — надеемся, что новое примирение ruGPT-3, наш литературный экзерсис, найдёт свой отклик у читателей.


  А вы, господа коллеги, готовы воспользоваться помощью нейросети для написания своих книг? ;)

+38
814

0 комментариев, по

7 915 597 520
Наверх Вниз