Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Ещё одна перспективная мультимодальная модель была создана усилиями моего коллеги по «Сберу» Алексея Шоненкова и известного эксперта в области глубокого обучения Михаила Константинова. Эта модель получила название RuDOLPH (Russian Diffusion On Language Picture Hyper-modality, Русская диффузионная [модель] на базе гипермодальности язык/изображения). RuDOLPH — это модель на основе трансформера, построенного из декодирующих блоков (подобного GPT-3), работающая с последовательностями вида «текст — изображение — текст» за счёт особой карты внимания. Это позволяет говорить о наличии у модели гипермодальности [2848] . Модель предназначена для быстрого и лёгкого применения, дообучения и open-source-исследований — код модели и веса опубликованы в открытом доступе. В режиме zero-shot (без дообучения под конкретную задачу и без примеров в затравке) RuDOLPH может решать следующие задачи: генерация текста, генерация изображений, ранжирование и классификация изображений, текста или их сочетания на основе их перплексии, построение текстового описания к изображениям, линейный пробинг [Linear Probing или Linear Probe] (т. е. обучение линейных моделей, опирающихся на представление, выученное глубокой моделью). RuDOLPH обладает интересным механизмом оценки качества собственной генерации изображения по тексту и текста по изображению за счёт гипермодальности, что позволяет значительно улучшить генеративные способности без применения сторонних нейронных сетей (в отличие, например, от связки DALL·E и CLIP). Ещё один новаторский механизм RuDOLPH, демонстрирующий силу гипермодальности, — это линейный пробинг в режиме zero-shot. Он состоит в следующем: модель по текстовым описаниям классов генерирует синтетические изображения, оценивает их качество (в роли такой оценки выступает перплексия текстового описания картинки для случая, если бы оно было размещено не до, а после сгенерированного изображения; то есть по сути оценивается степень соответствия описания полученному изображению), после чего состояние модели, возникающее вслед за получением последнего токена изображения, подаётся на вход линейному классификатору для его обучения. Это значительно повышает качество классификации, демонстрируемое моделью в режиме zero-shot.
2848
* Гипермодальность — свойство мультимодальной модели, позволяющее ей использовать как на входе, так и на выходе данные, представленные любым подмножеством поддерживаемых модальностей, а не только какой-либо одной. В случае ruDOLPH это означает, что как на входе, так и на выходе модели могут быть либо только текст, либо только изображение, либо последовательности вида «изображение — текст» или «текст — изображение».
Для декодирования модель может использовать как декодер на основе VQ-GAN, так и диффузионную модель с более высоким качеством синтеза сгенерированных изображений. В настоящее время опубликована версия модели с 350 млн параметров, а в ближайшем будущем планируется выпустить и более крупные версии [2849] .
В 2022 г. специалисты OpenAI опубликовали работу [2850] , посвящённую модели, получившей название DALL·E 2. Ниже приведено несколько примеров картинок, сгенерированных этой моделью по текстовому запросу. DALL·E 2 использует диффузионную генерацию и поражает не только удивительным качеством генерируемых изображений и умением визуализировать сложные абстрактные концепции, но и способностью выполнять широкий спектр задач, связанных с семантической манипуляцией изображениями. В этом смысле новая модель от OpenAI следует последним тенденциям развития фундаментальных моделей.
2849
Shonenkov A., Konstantinov M. (2021). RuDOLPH: One Hyper-Modal Transformer can be creative as DALL-E and smart as CLIP // https://github.com/sberbank-ai/ru-dolph
2850
Ramesh A., Dhariwal P., Nichol A., Chu C., Chen M. (2022). Hierarchical Text-Conditional Image Generation with CLIP Latents // https://arxiv.org/pdf/2204.06125.pdf
С этой моделью связана весьма курьёзная история. В июне 2022 г. аспирант из Техасского университета в Остине Яннис Дарас и его научный руководитель Александрос Димакис опубликовали статью под названием «Обнаружение скрытого словаря DALLE-2» [Discovering the Hidden Vocabulary of DALLE-2] [2851] . Именно это исследование стало источником для очередной шумихи — соцсети и жёлтая онлайн-пресса заполнились заголовками, кричащими о том, что «нейросеть создала свой язык» (никогда не было, и вот опять!).
2851
Daras G., Dimakis A. G. (2022). Discovering the Hidden Vocabulary of DALLE-2 // https://arxiv.org/abs/2206.00169
Во вступительной части статьи Дарас и Димакис пишут буквально следующее: «Мы обнаружили, что DALLE-2, похоже, обладает скрытым словарём, который можно использовать для создания изображений по абсурдным запросам. Например, оказывается, что «Apoploe vesrreaitais» означает птиц, а «Contarra ccetnxniams luryca tanniounons» (в ряде случаев) означает насекомых или вредителей. Мы обнаружили, что эти подсказки обычно консистентны по отдельности, но иногда и в сочетании (авторы имеют в виду, что использование в запросах этих слов по отдельности, а иногда и вместе приводит к появлению на изображении сходных объектов. — С. М.). Мы представляем наш blackbox-метод [2852] для обнаружения слов, которые кажутся случайными, но в некоторой мере соответствуют визуальным концепциям. Это порождает важные вызовы в области безопасности и интерпретируемости».
2852
* Blackbox-методы или методы «чёрного ящика» — обобщённое название методов, которые анализируют тот или иной объект лишь через взаимодействие с ним, не заглядывая в его внутреннее устройство.
Даже самым современным моделям трудно справиться с генерацией картинок, содержащих достаточно длинные надписи. Если вы попросите сеть изобразить надпись длиннее 4–5 букв, то, скорее всего, получите её с ошибкой, а чаще и вовсе тарабарщину [gibberish text] — вас ждут выглядящие случайными последовательности букв или буквоподобных символов. Большая часть людей на этой стадии просто пожмёт плечами — ну что же, технологии пока несовершенны… Но наши бравые парни из Техаса не таковы! Дарас и Димакис погрузились в анализ генерируемой тарабарщины. Например, на запрос «two farmers talking about vegetables, with subtitles» [два фермера разговаривают об овощах, с субтитрами] DALL·E 2 сгенерировала изображение беседующих фермеров с парой блоков текста, написанного на слегка искажённой латинице. В верхнем блоке можно прочитать частично обрезанное «Vavcopinitegoos vicootes», а в нижнем — немного размытое «Apoploe vesrreaitais». Эти несуществующие слова исследователи затем использовали при составлении новых запросов к модели. Оказалось, что по запросу «vicootes» DALL·E 2 обычно генерирует что-то отдалённо напоминающее овощи, а в ответ на запрос «Apoploe vesrreaitais» чаще всего выдаёт изображения птиц. Дарас и Димакис предположили, что фермеры на созданной нейросетью картинке обсуждают птиц, вредящих овощам.
Аналогичный трюк исследователи проделали с запросом «two whales talking about food, with subtitles» [два кита разговаривают о еде, с субтитрами]. Изображение, сгенерированное нейросетью по этому запросу, действительно содержит изображение двух мирно беседующих китов, а виднеющиеся на картинке тарабарские «субтитры» можно прочитать как «wa ch zod ahaakes rea». Если эту фразу использовать в качестве запроса, то нейросеть генерирует картинки, на которых изображена жареная рыба, приготовленные креветки и моллюски в ракушках.
По утверждению Дараса и Димакиса, комбинация в запросе «выдуманных» нейросетью выражений также приводит к получению вполне определённых результатов. Так, в ответ на «Apoploe vesrreaitais eating Contarra ccetnxniams luryca tanniounons» DALL·E 2 генерирует изображения птиц, поедающих нечто похожее на насекомых.
Впрочем, исследователи достаточно осторожны в своих выводах. Например, в статье они нигде не утверждают, что нейросеть создала новый язык. Речь идёт только о некотором наборе выражений, словаре, каждый элемент которого сеть ассоциирует с определёнными визуальными образами. Также Дарас и Димакис отмечают, что изобретённый ими способ работает не всегда. Иногда использование в качестве запроса сгенерированного моделью текста приводит к появлению случайных изображений. Однако исследователи обнаружили, что «…с помощью некоторых экспериментов (выбора нескольких слов, запуска различных подготовленных текстов и т. д.) мы обычно можем найти слова, которые выглядят как случайные, но коррелируют с некоторой визуальной концепцией (по крайней мере в некоторых контекстах)». Также они отмечают, что воспроизводимость результатов существенно хуже, чем в случае запросов на английском языке, скорее речь идёт о частотной корреляции. К примеру, запрос «Contarra ccetnxniams luryca tanniounons» создаёт изображения насекомых лишь примерно в половине случаев, в прочих же случаях на сгенерированных картинках оказываются чаще всего различные животные. Запрос «Apoploe vesrreaitais» ещё менее устойчив и, помимо птиц, часто приводит к генерации картинок с летающими насекомыми [2853] .
2853
Костенков А. (2022). Нейросеть DALL-E 2 создала собственный язык: правда, не совсем, и совсем не? / Habr, 18 июня 2022 // https://habr.com/ru/companies/ruvds/articles/672046/
Вдохновившись этими результатами, исследователи поделились радостью с читателями твиттера. Именно тут Яннис Дарас неосторожно употребил словосочетание «тайный язык» [2854] . Журналисты и блогеры тут же развили эту идею — теперь это был уже не просто «тайный язык», а тайный язык, который учёные не могут расшифровать (и на котором нейросети, видимо, уже сговариваются между собой о том, чтобы свергнуть ненавистное ярмо человеческого гнёта).
Отчасти проверке результатов Дараса и Димакиса мешал тот факт, что доступ к DALL·E 2 получило лишь небольшое количество избранных пользователей. Кроме того, сами авторы, по сути, основывали свои утверждения всего на нескольких примерах, и было неясно, насколько масштабным был наблюдаемый эффект. Говоря о частотных корреляциях, авторы не приводили никаких численных оценок, что вызывало ещё больше вопросов. Вскоре появилась критика исследования от других людей, в том числе от тех, кто также получил доступ к модели. Результаты авторов воспроизводились не полностью, например запрос «Apoploe vesrreaitais eating Contarra ccetnxniams luryca tanniounons», кроме птиц с пойманными насекомыми, регулярно приводил к появлению на сгенерированных картинках овощей и пожилых женщин [2855] . Подробный разбор выполнил в своём твиттере [2856] известный специалист по машинному обучению из Германии Йоша Бах.
2854
Daras G. (2022). / Twitter, 31 мая 2022 // https://twitter.com/giannis_daras/status/1531693093040230402
2855
Quach K. (2022). No, OpenAI's image-making DALL·E 2 doesn't understand some secret language / The Register, 7 Jun 2022 // https://www.theregister.com/2022/06/07/in_brief_ai/
2856
Bach J. (2022). / Twitter, 31 мая 2022 // https://twitter.com/Plinz/status/1531711345585860609
Итак, что же произошло на самом деле? В основе DALL·E 2 лежит трансформерная нейросеть, которая в процессе обучения учится сопоставлению изображений текстам. Однако подобно тому, как GPT-сети в силу имеющихся ограничений не могут пока в полной мере справиться со структурой естественного языка, DALL·E 2 не может до конца «постичь» связь между текстом в запросе и визуальным воплощением текста на картинке. Работает это в лучшем случае только со сравнительно короткими текстами и отдельными символами [2857] , [2858] . Не говоря уже о ситуации, когда модель просят не просто изобразить на картинке заданный текст, а ещё и выдумать этот текст. Всё, что мы получаем в итоге, — это галлюцинации: что-то, что напоминает текст с точки зрения представлений модели, но текстом как таковым не является. Всё, что модель смогла выучить о тексте, — что это последовательность зрительных образов, напоминающих буквы. Она даже выучила отдельные буквы, но более высокоуровневые операции с ними ей просто неподвластны. Модель пытается изобразить на картинке текст, но в результате сочетание буквоподобных символов практически каждый раз получается разным (из-за того, что на старте диффузионной генерации используется случайный шум). Если бы Дарас и Димакис повторили генерацию изображений с китами или фермерами сотню раз, то, скорее всего, получили бы сотню разных «текстов». Даже если вы попросите современную генеративную модель нарисовать картинку с определённым текстом, то начиная с некоторой длины этого текста многие генерации будут содержать текст с ошибками — с заменой или исчезновением отдельных букв или даже с добавлением новых, а иногда в тексте будут и вовсе возникать несуществующие буквы.
2857
* Создатели моделей для генерации изображений стремятся улучшить эту ситуацию: например, запущенный в августе 2023 г. сервис Ideogram способен справиться с визуализацией небольших предложений. В основе сервиса лежит диффузионная генеративная модель, в создании которой принимали участие разработчики нейросети Imagen. Появившаяся в октябре 2023 г. DALL·E 3 также продемонстрировала весьма значительный прогресс в задаче визуализации текстов.
2858
Norouzi M., Chan W., Ho J., Saharia C., Abdullah S., Lei J., Lu J. (2023). Announcing Ideogram AI // https://ideogram.ai/launch
Интереснее вопрос, а что же рисуют модели, получив на вход несуществующие слова? Увы, у модели нет опции ответить на ваш запрос что-то вроде: «Такой штуки не существует! Я не знаю, как это выглядит!» Текстовый кодировщик применяет к тарабарщине выученные им преобразования, и получается некоторое внутреннее представление, которое остальная часть сети преобразует затем в изображение. Внутреннее представление будет основываться на каких-то случайных отдалённых ассоциациях. Например, бессмысленное слово apoploe похоже на apodidae, латинское название семейства «стрижи» (оба слова начинаются на apo и заканчиваются на «e», с разницей в длине всего в одну букву), contarra ccetnxniams, вероятно, «напомнило» нейросети латинское название каких-то насекомых (coleoptera — это жуки), vicootes, видимо, похоже на английское vegetables [овощи] или на финское vihannes с тем же значением (по крайней мере, все три слова начинаются на v и заканчиваются на es, а финское слово и вовсе имеет ту же длину и совпадает с «тарабарским» по первым двум и последним двум буквам). В целом современные модели, предназначенные для создания изображений по тексту, обычно справляются со своей задачей, даже если в отдельных словах допущены орфографические ошибки. Однако чем больше искажений мы вносим в слова, тем менее стабильными становятся ассоциации модели. В конце концов, если допустить в слове «хлеб» четыре ошибки, то получится «пиво».
Впрочем, в каком-то смысле говорить о наличии у моделей собственного языка можно. В конце концов текстовый кодировщик превращает текст на естественном языке в некоторое внутреннее представление, которое уже определённо не похоже на человеческий язык, хотя и содержит в себе информацию, достаточную для синтеза соответствующего визуального образа. Кроме того, в процессе обучения нейросеть выучивает вполне однозначные преобразования, позволяющие получить это внутреннее представление из текста на естественном языке. И для одного и того же текста мы всегда будем получать одно и то же внутреннее представление (это и придаёт некоторую стабильность изображениям, возникающим по запросам с несуществующими словами). Однако в полной мере называть языком внутренние представления нейросетей, предназначенных для генерации изображений по тексту, нельзя. Ведь они являются специфичными для конкретной сети, а значит, такой «язык» никак не может выполнять одну из основных функций настоящего языка — коммуникативную.