ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

А перед открытыми глазами капитана Бруно уже маячила родная земля. Точнее — нужные показатели на навигаторе. Впрочем, и без них бы он с лёгкостью догадался, что крылья самолёта рассекают уже итальянский воздух. Пару раз протерев стёкла бинокля, капитан Бруно окончательно осознал глубину души.

Донастроенная на корпусе русской поэзии, GPT-2 вполне способна генерировать и стихи (правда, белые, по крайней мере при использовании стандартных токенизаторов). Вот результат одного из наших экспериментов:

Мир без царей и без власти

И без революций,

Забытый, нежданный и богатый,

Где вздымаются к небу

Языческие племена!

В полях, в лугах, на озёрах,

В лесах, в рощах, в полях,

Где ветер свищет и свистит,

Где в снегах радуга горит,

Где струны поют, звенят!

Где всё, что нам дышит, дышит,

Как солнце и месяц единый,

Пелым живых, к нам приходит

С запада, с востока, с востока

На пёстром, праздничном троне

Славный царь Емельян.

И видна за ним страна

Избённая, изломленная

И дорогая…

Спит в ней гордый царь Емельян,

Спит народ и царь мирно спит,

Спит голова его алмазная,

Спит краса его стальная.

Спит краса его голубая,

Спит цвет его, краса его золотая,

Спит рабская честь его,

Спит вера его, и совесть его,

Спят и дремлют богатыри.

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

Модели, сочиняющие стихи, в наши дни становятся частью комплексных арт-проектов. Например, в 2020 г. исследователи из австралийского Университета Монаша (Monash University) Нина Райчич и Джон Маккормак представили [2540] публике устройство для «зеркального ритуала», выполненное, как несложно догадаться, в форме зеркала. За зеркальной поверхностью скрыт планшет, оснащённый видеокамерой. Нейросетевая модель получает на вход изображение с камеры и пытается угадать эмоциональное состояние стоящего перед «умным зеркалом» человека. В зависимости от этого состояния устройство выбирает одну из заготовленных текстовых затравок, которую затем подаёт в модель GPT-2, обученную на корпусе специально отобранных поэтических текстов. В результате модель генерирует стихотворение, которое затем отображается на поверхности зеркала.

2540

Rajcic N., McCormack J. (2020). Mirror Ritual: An Affective Interface for Emotional Self-Reflection // https://arxiv.org/abs/2004.09685

Рис. 145. «Зеркальный ритуал». Последовательность взаимодействий с зеркалом

Создатели генеративных моделей интересуются не только малыми литературными формами. В 2013 г. по инициативе американского программиста Дариуса Каземи был запущен проект NaNoGenMo (National Novel Generation Month, Национальный месяц генерации романов), созданный по мотивам проекта NaNoWriMo (National Novel Writing Month, Национальный месяц написания романов), предназначенного для поддержки начинающих писателей. Оба проекта понимают под романом художественный текст длиною от 50 000 слов. Участники NaNoGenMo традиционно посвящают каждый ноябрь написанию кода, предназначенного для генерации романов. Проект не носит соревновательного характера — в нём нет победителей и побеждённых. С образцами машинной прозы можно ознакомиться на странице [2541] проекта на платформе GitHub. Роман, давший старт NaNoGenMo, получил название «Подростки прогуливаются вокруг дома». Для создания его текста было задействовано несколько ботов, совершавших виртуальную прогулку и обменивающихся репликами, которые стали основой диалога, ставшего затем романом [2542] , [2543] .

2541

National Novel Generation Month // https://nanogenmo.github.io/

2542

Kazemi D. (2019). Even a beginner programmer can make a novel generator / Tiny Subversions, Nov 4, 2019 // https://tinysubversions.com/notes/nanogenmo-2019/

2543

Barber G. (2019). Text-Savvy AI Is Here to Write Fiction / Wired, 11.23.2019 // https://www.wired.com/story/nanogenmo-ai-novels-gpt2/

Кстати говоря, уже знакомые нам Иван Ямщиков и Алексей Тихонов в соавторстве с Яной Агафоновой из Санкт-Петербургского отделения Высшей школы экономики представили [2544] на NaNoGenMo 2019 г. собственное творение — «параноидальный трансформер» [Paranoid Transformer] (явная отсылка к Марвину, роботу-параноику из цикла юмористических романов британского писателя Дугласа Адамса) — модель, представляющую собой объединение GPT, дообученной на специальном корпусе, с набором специальных эвристик, предназначенных для улучшения качества генерации. «Параноидальный трансформер» способен производить на свет вполне реалистичные дневники параноика.

2544

Agafonova Y., Tikhonov A., Yamshchikov I. P. (2020). Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity // https://arxiv.org/abs/2007.06290

NaNoGenMo — не единственная коллективная онлайн-инициатива, посвящённая литературному творчеству машин. В 2016 г. поэтесса и программистка Кармел Аллисон запустила веб-сайт CuratedAI — «Литературный журнал, написанный машинами для людей» (A literary magazine written by machines, for people) — онлайн-издание, специализирующееся на публикации произведений, созданных при помощи методов искусственного интеллекта. Первыми произведениями, опубликованными на сайте, стали стихи, сгенерированные созданной Кармел нейронной сетью Deep Gimble I («Глубокая Гимбл I») [2545] , [2546] .

2545

Haridy R. (2016). 2016: The year AI got creative / New Atlas, December 12, 2016 // https://newatlas.com/ai-art-film-writing-review/46891/

2546

About CuratedAI // http://curatedai.com/about

Хотя к форме в случае стихотворного текста предъявляются дополнительные требования, порой весьма жёсткие, задача написания стихотворений, по всей видимости, является более простой с точки зрения искусственного интеллекта. Причина этого довольно банальна: стихотворения в массе своей сравнительно невелики, а значит, при их «написании» генеративная модель не должна «сочинять» крупномасштабную структуру повествования, основой которой являются зависимости между токенами, разнесёнными на очень большие расстояния. Представьте, что какой-то герой вводится автором в первой главе романа, а затем вновь упоминается только через несколько глав. Если между двумя его упоминаниями будет более 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] .

2547

Child R., Gray S., Radford A., Sutskever I. (2019). Generating Long Sequences with Sparse Transformers // https://arxiv.org/abs/1904.10509

2548

Beltagy I., Peters M. E., Cohan A. (2020). Longformer: The Long-Document Transformer // https://arxiv.org/abs/2004.05150

2549

Kitaev N., Kaiser L., Levskaya A. (2020). Reformer: The Efficient Transformer // https://arxiv.org/abs/2001.04451

2550

Sukhbaatar S., Grave E., Bojanowski P., Joulin A. (2019). Adaptive Attention Span in Transformers // https://arxiv.org/abs/1905.07799

2551

Rae J. W., Potapenko A., Jayakumar S. M., Lillicrap T. P. (2019). Compressive Transformers for Long-Range Sequence Modelling // https://arxiv.org/abs/1911.05507

2552

Qiu J., Ma H., Levy O., Yih S. W.-t., Wang S., Tang J. (2019). Blockwise Self-Attention for Long Document Understanding / CLR 2020 Conference Blind Submission // https://openreview.net/forum?id=H1gpET4YDB

2553

Wang S., Li B. Z., Khabsa M., Fang H., Ma H. (2020). Linformer: Self-Attention with Linear Complexity // https://arxiv.org/abs/2006.04768

2554

Zaheer M., Guruganesh G., Dubey A., Ainslie J., Alberti C., Ontanon S., Pham P., Ravula A., Wang Q., Yang L., Ahmed A. (2020). Big Bird: Transformers for Longer Sequences // https://arxiv.org/abs/2007.14062

2555

Choromanski K., Likhosherstov V., Dohan D., Song X., Gane A., Sarlos T., Hawkins P., Davis J., Mohiuddin A., Kaiser L., Belanger D., Colwell L., Weller A. (2020). Rethinking Attention with Performers // https://arxiv.org/abs/2009.14794

2556

Martins P. H., Marinho Z., Martins A. F. T. (2021). ?-former: Infinite Memory Transformer // https://arxiv.org/abs/2109.00301

2557

Ding J., Ma S., Dong L., Zhang X., Huang S., Wang W., Zheng N., Wei F. (2023). LongNet: Scaling Transformers to 1,000,000,000 Tokens // https://arxiv.org/abs/2307.02486

2558

Tay Y., Bahri D., Yang L., Metzler D., Juan D.-C. (2020). Sparse Sinkhorn Attention // https://arxiv.org/abs/2002.11296

2559

Tay Y., Bahri D., Metzler D., Juan D.-C., Zhao Z., Zheng C. (2020). Synthesizer: Rethinking Self-Attention in Transformer Models // https://arxiv.org/abs/2005.00743

2560

Ma X., Zhou C., Kong X., He J., Gui L., Neubig G., May J., Zettlemoyer L. (2022). Mega: Moving Average Equipped Gated Attention // https://arxiv.org/abs/2209.10655

2561

Yu L., Simig D., Flaherty C., Aghajanyan A., Zettlemoyer L., Lewis M. (2023). MEGABYTE: Predicting Million-byte Sequences with Multiscale Transformers // https://arxiv.org/abs/2305.07185

2562

Tay Y., Dehghani M., Abnar S., Shen Y., Bahri D., Pham P., Rao J., Yang L., Ruder S., Metzler D. (2020). Long Range Arena: A Benchmark for Efficient Transformers // https://arxiv.org/abs/2011.04006

2563

Long-range modeling on LRA (2023) // https://paperswithcode.com/sota/long-range-modeling-on-lra

2564

An C., Gong S., Zhong M., Zhao X., Li M., Zhang J., Kong L., Qiu X. (2023). L-Eval: Instituting Standardized Evaluation for Long Context Language Models // https://arxiv.org/abs/2307.11088

2565

Bai Y., Lv X., Zhang J., Lyu H., Tang J., Huang Z., Du Z., Liu X., Zeng A., Hou L., Dong Y., Tang J., Li J. (2023). LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding // https://arxiv.org/abs/2308.14508

2566

Li Y., Cai T., Zhang Y., Chen D., Dey D. (2022). What Makes Convolutional Models Great on Long Sequence Modeling? // https://arxiv.org/abs/2210.09298

2567

Poli M., Massaroli S., Nguyen E., Fu D. Y., Dao T., Baccus S., Bengio Y., Ermon S., Re C. (2023). Hyena Hierarchy: Towards Larger Convolutional Language Models // https://arxiv.org/abs/2302.10866

Поделиться с друзьями: