Есть сайт, на котором можно найти печальную и прекрасную галерею эмодзи, отвергнутых Подкомитетом Консорциума Юникода, – порой досада берёт при мысли о том, что мы потеряли: иконку яичницы, которая жарится на панцире черепахи (возможно, это месть той самой черепахе, которая убила Эсхила); изображение женщины и мужчины, «живущих за тысячи миль друг от друга, но при этом видящих один и тот же сон» (видимо, предложение от поклонника аниме «Твоё имя»); изображение гуся, «экспериментирующего с чёрной магией» (гусь, невозмутимо стоящий рядом с пентаграммой, по углам которой горят свечи) или «человека, объясняющего понятие “блогингa” лошади» (есть ещё альтернативный вариант c объяснением хэштегов). Но долой несбывшиеся надежды: к чему ждать, пока группа незнакомых людей отклонит личные, забавные, странные эмодзи, если можно уже сейчас использовать их в своё удовольствие в мессенджерах вроде «Телеграма»? А создать их поможет, конечно, ruDALL-E.
Если вдруг у вас отсутствовало подключение к интернету последний месяц, напоминаем: ruDALL-E (совместная разработка Sber AI и SberDevices) – нейросеть, моделирующая совместное распределение текстовых последовательностей на русском языке и изображений, и позволяющая в итоге генерировать изображения по заданному русскоязычному описанию (кстати, если изначально декодер автоэнкодера позволял получать изображения размером 256×256 пикселей, то сейчас, благодаря идее предсказывать дискретное вейвлет-преобразование изображения вместо пикселей, стало возможным увеличить разрешение до 512×512). Подробности, касающиеся архитектуры и обучения модели, а также пайплайна генерации, можно узнать в статье.
Мы уже говорили о главном таланте ruDALL-E: если вы точно опишете желаемое, модель (например, ruDALL-E XL c 1,3 млрд параметров) постарается нарисовать подходящую картинку. А ведь каждый из нас бывал в ситуации, когда ему не хватало нужных – нет, не слов – эмодзи! Кому-то приходится использовать эмодзи вертолёта или летающей тарелки вместо дрона, а кому-то, если верить статьям, не достаёт изображения пластиковой бутылки внутри рыбы. ruDALL-E, кажется, тут есть дельце для тебя.
ruDALL-E XL – большой мультимодальный предобученный трансформер. Что мы делаем в случае, когда хотим научить подобные модели решать новые задачи (обычно схожие с теми, на которых модель обучалась изначально, но не всегда) или лучше справляться с данными, относящимися к определённому домену? Верно – дообучаем. В этом случае необходимо решить следующие вопросы:
на каких данных файнтьюнить;
какой режим дообучения выбрать (например, какие слои разморозить, а какие сохранить неизменными, как подобрать гиперпараметры).
Что касается данных, мы собрали 2749 иконок эмодзи и соответствующих им русскоязычных описаний. Стоит отметить, что уникальных текстов при этом 1611: существуют сеты, внутри которых эмодзи различаются только цветом (например, изображения рук, имеющих разный оттенок кожи); некоторые элементы омонимичны (например, описания для изображения средневекового замка и навесного замка идентичны – «замок»). Длина текстовых описаний варьируется от 1 до 7 слов (около 67 % при этом приходится на примеры из 1–2 слов). Значки эмодзи имеют маленькое разрешение, поэтому перед подачей в модель они были увеличены до размера 256×256 пикселей с помощью нашей имплементации подхода Real-ESRGAN, позволяющего реконструировать изображение в высоком разрешении из его аналога с низким разрешением. Изначальный формат RGBA (где A – канал «альфа», задающий прозрачность элемента) был преобразован в RGB, при этом пикселям со значением прозрачности меньше 128 назначался код белого цвета. Получившийся датасет мы выложили в открытый доступ на Kaggle.
В процессе планирования экспериментов мы руководствовались двумя основными принципами: 1) необходимо сохранить обобщающую способность модели, её знание о мире и 2) постараться использовать как можно меньше памяти на видеокарте. Текстовые описания эмодзи довольно скудны и не отличаются большим разнообразием, судите сами: «улыбающееся лицо с улыбающимися глазами», «улыбающееся лицо с сердечками», «улыбающееся лицо с глазами-сердечками», «целующее лицо с улыбающимися глазами». Кажется, что с такими данными на текстовой модальности есть большая вероятность переобучения и потери генерализации, а мы этого совсем не хотим, иначе как мы получим, например, эмодзи с Тимоти Шаламе в виде лего-человечка?
Естественная идея – дообучать, по сути, только визуальную модальность, подгоняя изображения под нужный нам стиль, а «информацию о мире», полученную из текстовой модальности, оставлять практически нетронутой. Чтобы этого добиться, для картиночных репрезентаций (векторов кодбука) коэффициент взвешенной функции потерь выкручивается до значения 103.
Что до экономии видеопамяти, то тут у нас есть в запасе два трюка. Во-первых, во время соревнования Fusion Brain Challenge нам удалось оценить возможность замороженного предобученного трансформера (Frozen Pretrained Transformer) – языковой модели, у которой остаются замороженными как минимум feedforward и self-attention слои, – подстраиваться под другие задачи (и даже модальности!) с минимальным дообучением. Таким образом, «заморозив» нашу модель, мы точно избежим катастрофического забывания, повысим эффективность процесса и удачно сохраним память на GPU. Ещё одна особенность выбранного режима дообучения – использование в качестве оптимизатора 8-битного Adam, который не уступает по эффективности 32-битным братьям, занимая при этом своей статистикой меньший объём памяти. Кроме того, при половинной точности вычислений (fp16) такой оптимизатор обеспечивает большую стабильность обучения.
Необходимое и достаточное количество эпох приходится подбирать эмпирически: каждые 10 эпох файнтьюна мы запускали генерацию и отсматривали результаты, оценивая степень генерализации и абстракции, соответствие эстетике эмодзи и общее качество изображений. Итоговая модель, работа которой нас устроила, обучалась 40 эпох, что заняло 5,5 часов на одной видеокарте A100. С полной версией ноутбука по дообучению можно ознакомиться по ссылке. А вот здесь можно найти небольшой технический отчёт.
Итак, самое время попросить Emojich’а что-нибудь нарисовать. Возможно, это визуализация какой-то образной фразы, которую вы часто используете и которая отражает ваши ощущения от чего бы то ни было? Может, есть какая-то забавная история, которую вы хотели бы запечатлеть и делиться ею с помощью значка эмодзи с теми, кто в теме? Мы задали эти вопросы себе и своим коллегам – сейчас посмотрим, что из этого вышло. Начну, пожалуй, с себя.
Дарья Бакшандаева:
#FusionBrain
У нас принято собираться всем отделом по итогам квартала, чтобы каждый рассказал про свои достижения и поделился кастомными мемами. Как-то встречу перенесли на несколько дней раньше, я упустила этот момент, и информация дошла до меня за час до начала. Ситуация как в подкасте «Это провал»: презентацию подготовить не успеваю, доехать до офиса не успеваю, а ведь от этого мероприятия зависит потенциальная повышенная оценка. В общем, нервно шарю глазами по дому – взгляд натыкается на стикеры (физические, липучие) с космической тематикой: спутник, Белка и Стрелка, космонавт, астероид. Подключаюсь к конференции в Zoom, и когда очередь на собрании доходит до меня, я подставляю камере своё лицо и начинаю лепить на него наклейки, попутно объясняя, почему именно эта наклейка символизирует конкретный реализованный проект: так, например, подготовка воркшопа для победителей олимпиады по искусственному интеллекту среди школьников стала для меня «прыжком с парашютом» (полная неизвестность и адреналин: стоит ли объяснять детям-инопланетянам self-attention или для них это старая сказка и начать надо хотя бы со sparse attention; удастся ли им обучить ruGPT-3 генерировать сносные и пристойные шутки?). К концу выступления я была вся разукрашена, как маори. Короче, в итоге у меня высший балл и теперь, когда кто-то забывает ноутбук в офисе перед защитой или в последний момент вспоминает о важном мероприятии, коллеги предлагают обратиться к «стикерной технике имени Даши». Так что мне и моим коллегам очень не хватает эмодзи с лицом, обклеенным стикерами, – как символа ловкого выхода из, казалось бы, провальной ситуации (и победной стратегии выступлений).
Алексей Шоненков:
#ruDALLE#ruCLIP#FusionBrain#HTR
Чуть больше года назад, ещё не будучи сотрудником Sber AI, я собрал команду для участия в AI Journey Contest 2020. Мы хорошо потрудились и решили задачу по распознаванию рукописей Петра I достаточно успешно, чтобы забрать первое место. Награждение в связи с локдауном проходило онлайн, но это никак не могло повлиять на наше желание привнести в процесс позитива и отдать дань великой личности. В итоге мы вышли в эфир в самодельных чёрных треуголках с белой опушкой, за что Константин Могилевский, исполнительный директор фонда «История Отечества», назвал нас весёлыми креативными гардемаринами, которых никогда не сможет заменить искусственный интеллект. Пусть эта «треуголка» останется с нами для напоминания: даже к самым ответственным моментам нельзя относиться слишком серьёзно.
Марк Потанин:
#HTR#FusionBrain
Я не буду мелочиться – хочу как минимум два стикера.
История первая. Sber AI только начинался, и это был, кажется, наш второй проект. Мы решили показать начальству, как работает модель по детекции еды. Я, по сути, всего лишь за пару месяцев до этого начал CV заниматься. В общем, долго обучали модельки, проводили эксперименты, все дела. Пришло время делать презентацию. Так как все по домам сидят, решили запилить видео или онлайн показать, как моделька работает. Пошёл я в супермаркет, набрал еды на 40 различных классов. Было очень забавно ходить по гипермаркету и набирать в корзину продукты не по признаку «что в холодильнике закончилось», а по признаку «какие классы нужно предсказывать». Итак, набрал продуктов, пришёл домой. Вытащил стол из кухни, постелил белую простыню (обычной скатерти не нашлось). Теперь я превратился из курьера в фотографа еды: выкладывал последовательно продукты на красивую «скатерть», наводил камеру и смотрел, как моделька предсказывает. Потом ещё пару недель доедал это всё. В общем, хочу стикер яблока на столе, обведённого bounding box – на память об этом демо и в качестве визуализации нашего трека по детекции объектов.
Вторая история. В прошлом году я ездил на популярный техно-фестиваль Signal в Никола-Ленивце. А у нас как раз соревнование по распознаванию рукописей Петра I подходило к логическому началу. Поэтому ноутбук я, конечно же, с собой взял, хотя зарядить его в лесу было той ещё задачкой. В общем, в какой-то момент надо было пофиксить выборку или что-то подобное сделать. А весь рейв только вечером начинался. Так что я вытащил пенку и, наполовину высунувшись из палатки, что-то там доделывал под звуки леса и техно. Ребята из нашего лагеря проходили мимо и знатно кекали с меня. Хочу, получается, стикер: чувак сидит в палатке с ноутбуком под деревом. Как напоминание, что иногда приходится работать в неожиданных местах.
Владимир Архипкин:
#FusionBrain
В университете я активно занимался теоретической физикой – в общем-то, и бакалаврскую степень получал по этому направлению. В какой-то момент я понял, что меня все больше увлекает задача создания искусственного интеллекта, – ничего не оставалось, кроме как погрузиться в глубокое обучение. Казалось бы, физика и DL – совершенно разные области познания, но так ли это на самом деле? На первый взгляд кажется, что так оно и есть, но чем дольше изучаешь науки, тем больше общего между ними открываешь: тензоры, которые ты писал в теории упругости, электродинамике сплошных сред или, может, даже в общей теории относительности, появляются и в нейронных сетях. А уравнения, описывающие динамику системы взаимодействующих джозефсоновских контактов, в точности совпадают с уравнениями, описывающими эффект синхронизации в нейронных сетях живых существ. Оказалось, что за совершенно разными явлениями стоят одни и те же модели. Для меня этот факт – лучший стимул для дальнейших исследований.
Иван Базанов:
#MusicGeneration
Однажды я забыл дома наушники, а мне было просто необходимо отслушать результаты генерации экспериментальной модели. Переговорки, как назло, были все заняты, поэтому пришлось включать музыку прямо на рабочем месте. Результаты генерации оказались ужасными: казалось, это ж… животом на рояле играют – и после трёх прослушанных треков на меня начали ругаться соседи по рабочему месту. Хочу оправиться от этого травматичного опыта и «перемотать» эту ситуацию, чтобы она проигралась в более благоприятном виде: будто бы я не забыл наушники, прослушал эту какофонию и занялся докручиванием модели, не нарушив при этом спокойствия коллег. Запрос на стикер такой: человек в наушниках сидит за ноутбуком (и мало кто знает, что там у него в ушах раздаётся).
Денис Димитров:
#FusionBrain #ruDALLE #ruCLIP #HTR #MusicGeneration #FaceSwap
В сентябре я отмечал свою свадьбу на природе, на открытом воздухе. Для начала сентября был необычно холодный день (всего 10 градусов), причём погода менялась с частотой раз в полчаса: сначала светило солнце, а потом шёл проливной дождь и так далее. Но, кажется, почти никто не заметил такую ветреную и переменчивую погоду, ведь на свадьбе были альпаки! Все были в восторге, особенно дети – кто-то из малышей даже попытался нацепить на альпаку свою розовую кофту (видимо, в попытке согреть :). Поэтому в нашем стикерпаке обязательно должна быть розовая альпака, которая напоминает об этом «ванильном» моменте.
Ксения Иванова:
#FusionBrain
Ситуация: прилетаю я в конце ноября из солнечного Сочи и +17 по шкале Цельсия в отрезвляющую, почти зимнюю Москву. И здесь, по идее, могла бы быть тёплая и душевная история про то, как мне нравится предпраздничная столица. Да только среди волшебно-новогодней яркой атмосферы единственное, о чём голова в состоянии думать: «Святые ложечки, как же холодно!» Это и стало первой мыслью для генерации персонального эмодзи – вижу себя в каждом пикселе.
Всеми этими стикерами (и многими другими) можно пользоваться при любом подходящем случае: мы объединили их в стикерпак от ruDALL-E (бонус – стикеры с котиками). Самое прекрасное, что теперь каждый может создавать собственные эмодзи: в боте, сайте и в Салюте появилась возможность выбрать для генерации модель Emojich и наслаждаться результатом (а также забрать себе получившиеся изображения для дальнейшего использования).
Лучшие варианты призываем отправлять нам. Мы совсем не похожи на Подкомитет по эмодзи Консорциума Юникода: не будем требовать универсальности и оценивать возможность использования значка в последовательности других – все забавные, странные и просто классные эмодзи приветствуются. Некоторые из них мы сможем включить в наш стикерпак. За вдохновением можно вернуться в начало статьи, к галерее отвергнутых эмодзи – например, паук, резво съезжающий с горы на восьми лыжах, отлично подходит к грядущему праздничному сезону.