Unsolicited Disclosures
1.57K subscribers
14 photos
24 links
AI, Tech, иногда шитпостинг
Download Telegram
Тот день, когда трансформаторы достигли размера в триллион параметров (это в 10 раз больше, чем OpenAI GPT-3) https://arxiv.org/abs/2101.03961 #AI
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня Aydao (aydao.ai) выпустил апдейт своей модели, котрая генерирует аниме. Можно посмотреть здесь: https://thisanimedoesnotexist.ai #AI
Есть такая команда - EleutherAI. Они работают над репликацией модели GPT-3, которую OpenAI не выпустил (и не планирует выпускать) в открытый доступ. Их цель - сделать публично доступную модель размеров в 100 миллиардов параметров. С первым этапом - собрать большой и качественный датасет - они уже справились. Для репликации GPT-3 будет использоваться The Pile (https://github.com/EleutherAI/the-pile) объемом 1.25Tb (для сравнения, OpenWebText, на котором тренировали GPT-2, был всего 50Gb). Вторая задача - найти способ тренировать модель большого размера (100B) на большом количестве процессоров (GPU или TPU), каждый с 16..32Gb памяти. Задача была решена с использованием Mesh TensorFlow. Они выпустили GPT-Neo (https://github.com/EleutherAI/gpt-neo), который был протестирован на TPUv3-32 (это кластер из 32 процессоров с 32Gb памяти каждый).

Однако использовать Mesh TensorFlow на GPU было всегда проблематично (это разработка Google Brain и поэтому он сделан больше под TPU). И буквально несколько дней назад эта же команда выпустила GPT-Neox (https://github.com/EleutherAI/gpt-neox), который использует фреймворк Deepspeed by Microsoft для тех же целей, что и Mesh TensorFlow (не только паралеллизовать вычисления, но и распределить большую модель между многими процессорами с ограниченной памятью).

GPT-Neox еще не готов полностью к использованию, однако вполне функционален - у меня ушла пара часов, чтобы поставить все необходимое и запустить тренировку модели размером 8.6B на четырех GPU с 32Gb каждый.

(Стоит отметить, что известная российская команда в настоящее время тоже тренирует русскоязычную GPT-3 точно такого же масштаба, как и самая большая модель OpenAI - 175B) #AI
(К написанному выше: долгое время не было простого способа распределить модель по нескольким GPU. Фреймворки наподобие Horovod и Distributed Tensorflow решали задачу параллелизации вычислений, когда в процессе тренировки в каждом GPU размещалась полная копия модели. Это ускоряло обучение модели, однако никак не помогало в случае, если памяти одного GPU не хватало для размещения переменных модели, оптимизатора и пр. Необходимость использовать GPU с большим объемом памяти приводила к дополнительным расходам; такие алгоритмы, как gradient checkpointing, отчасти помогали решать эту проблему, экономя память, зачастую за счет производительности. И сейчас наконец-то появились более-менее универсальные решения (Deepspeed), которые за счет распределения компонентов одной копии модели по всем доступным устройствам, позволяют тренировать очень большие модели, не требуя узкоспециализированного железа) #AI #Hardware
В январе OpenAI выпустили новую модель - CLIP - которая оценивает степень соответствия между произвольной фразой и изображением. CLIP - кульминация ряда свежих работ по обучению моделей визуальным представлениям текстовых описаний. Новизна CLIP заключается в том, что: 1) модель воспринимает текст на естественном языке, в произвольной форме 2) высокая гибкость модели, ее representational capacity, позволяет достигать очень хороших результатов в совершенно разных областях данных, в то время, как существующие модели зачастую хорошо работают с одними наборами данных и намного хуже с другими.

Типовой случай использования CLIP - оценка сходства изображения с одним из нескольких текстовых описаний ("a photo of a dog", "a photo of a cat"). При этом, CLIP позволяет не просто классифицировать объекты по категориям ("a banana", "an apple"), или работать по описанию сцены ("small boat with lake sunset in background"; я поэкспериментировал с CLIP на наборах синтезированных портретов, и обнаружил, что она умеет ранжировать изображения по более абстрактным критериям ("a person resembling Tom Cruise", "a cute girl photo"), а также, например, по качеству самого изображения ("blurry, noisy photo", "high quality photo").

По утверждениям авторов, CLIP избавляет от необходимости использовать для тренировки огромные датасеты из изображений, которые нужно категоризировать и маркировать вручную (например, тот же ImageNet). Для тренировки CLUP были использованы пары из изображений и описаний (заголовков), собранные с веб-страниц, подобно тому, как несколько десятков гигабайт текста с веб-страниц былb использован для тренировки GPT-2. Объем датасета, впрочем, не раскрывается. В результате, модели типа CLIP можно использовать практически для любых задач, связанных с классификацией визуальной информации. С другой стороны, возможности CLIP все еще имеют ряд ограничений, например, CLIP не очень справляется с задачами, требующими системного понимания структуры изображения, например, считать объекты ("three cups on a table"); также CLIP довольно чувствительна к стуктуре фразы описания и порядку слов - в этом она, опять-таки, схожа с GPT-2/3, которые требуют prompt engineering (что на мой взгляд чем-то напоминает составление магических заклинаний =)

https://openai.com/blog/clip/

#AI
NVIDIA выпустила официальную pytorch имплементацию StyleGAN2-ADA. Идеи:

1) попробовать обернуть её в DeepSpeed, и тренировать большую модель (150-300M параметров), возможно, в разрешении 2048px, и возможно с self-attention блоками в слоях 128px и выше (раньше мне это не удавалось, был OOM даже на 32Gb VRAM)
2) попробовать скрестить её с CLIP

https://github.com/NVlabs/stylegan2-ada-pytorch #AI
Вышеупомянутая модель CLIP может быть использована в сочетании с генеративными моделями (GANs). В первом сценарии можно сгенерировать большое количество изображений и просто ранжировать их с помощью CLIP, отобрав топовые результаты по категориям. Попробуйте, например, сделать это с StyleGAN2 FFHQ, и тремя категорями ("a blonde", "a redhead", "a brunette"). А потом попрбуйте ("a cute girl", "an ordinary person") - это тоже работает!

Второй сценарий основан на том, что "функция сходства" CLIP является дифференцируемой относительно параметров GAN, и мы можем получить вектор направления изменения параметров, который будет максимизировать сходство сгенерированных изображений с текстовым описанием. Мы делаем композитный дискриминатор, который будет возвращать оценку и градиенты, используя существующий дискриминатор GAN и функцию сходства (CLIP + текстовое описание), с настраиваемыми коэффициентами, и проходимся этим композитным дискриминатором по латентному пространству GAN, оптимизируя выводы генератора. Это напоминает то, как работает проецирование изображения на латентное пространство (GAN back-projection), только вместо классификатора сходства с изображением (типа VGG16) мы используем CLIP в качестве классификатора сходства с произвольным текстовым описанием.

Здесь http://www.counterengineer.com/art/what_clip_sees/ есть несколько примеров, сгенерированных Anime StyleGAN2 (TANDE) по фразам. А вот ноутбук для Colab, где можно попробовать самому https://colab.research.google.com/github/nagolinc/notebooks/blob/main/CLIP_%2B_TADNE_(pytorch)_v2.ipynb

#AI
Очень интересная работа: "Brain2Pix: Fully convolutional naturalistic video reconstruction from brain activity" (https://www.biorxiv.org/content/10.1101/2021.02.02.429430v1.full.pdf). Авторы (Le et al.) взяли данные из сканов функциональной МРТ (фМРТ) головного мозга и реконструировали из них изображения и кадры видео. Это было достигнуто путем представления регионов активности мозга как тензоров в пространстве пикселей (вокселей), и последующей генерации изображений на основе этих представлений.

Это напоминает предыдущую работу двухлетней давности "End-to-end deep image reconstruction from human brain activity" (https://www.biorxiv.org/content/10.1101/272518v1.full.pdf), где авторы (Shen et al.), добивались похожих результатов, используя, грубо говоря, данные из fMRI в качестве входных данных для генератора GAN.

Успехи таких работ свидетельствуют о быстром прогрессе в области интерфейсов "мозг-компьютер" (brain-machine interface, BMI). На мой взгляд, это вполне ожидаемо. Техническое обеспечение непрервыно прогрессирует - от примитивных средств наподобие полиграфа (детектора лжи), который косвенно и с ограниченной точностью фиксирует реакцию мозга в ответ на стимулы, мы перешли к фМРТ, позволяющей непосредственно визуализировать активность мозга, с разрешением до единиц миллиметров и долей секунд; прототипы инвазивных интерфейсов наподобие Neuralink (https://www.biorxiv.org/content/10.1101/703801v2.full.pdf) дают еще большую полосу пропускания между мозгом и компьютером. С другой стороны, ML алгоритмы, развивающиеся последние 10 лет, позволяют обрабатывать эти данные. Так что эти успехи - неизбежное следствие конвергенции развивающихся технологий.

Практический потенциал (и рынок) тоже впечатляет, в первую очередь это, конечно, медицина - диагностика заболеваний и перманентное решение различных disabilities; далее, использование BMI для управления разными процессами, моделированием, профессиональной тренировки и т.д. И конечно же, технологии, которые позволяют визуализировать недавно пережитое найдут применение как инструмент слежки и угнетения.

#AI #BMI
Пару недель назад вышла статья (https://www.sciencedaily.com/releases/2021/02/210208161927.htm), где утверждается, что авторы (Hussain et al) впервые (!) научились обманывать детекторы дипфейков ("DF"). Меня заинтересовала такая подача; оказалось, что работе Hussain et al ("Adversarial Deepfakes: Evaluating Vulnerability of Deepfake Detectors to Adversarial Examples", https://arxiv.org/abs/2002.12749) уже год, и никакого "впервые" там нет, просто авторы обращают внимание на то, что в предыдущих работах, посвященным состязательным (adversarial) атакам на дискриминативные сети, конкретно DF внимание не уделялось.

Статья довольно интересная; помимо прочего, там описано построение whitebox и blackbox атак на дискриминативные сети (whitebox - это сценарий, когда в распоряжении атакущего есть сама модель (веса); blackbox - когда модели нет, и добавить ее как классификатор в loss функцию для тренировки adversarial сети невозможно, но есть доступ например через API, по результатам запросов в который можно примерно оценивать градиенты). Похожие техники подойдут и для манипуляции другими дискриминативными сетями, например, используемых при распознавании лиц и тд.

Вообще тема состязательных атак на дискриминативные сети достаточно популярная. Просматривая, например, материалы прошлогодней CVPR я обратил внимание на работу Xu et al "Adversarial T-shirt! Evading Person Detectors in A Physical World" (https://arxiv.org/abs/1910.11099), в которой авторы успешно продемонстрировали, что человек, который носит майку со специально сгенерированным изображением, в 75% случае перестает опознаваться как человек такими популярными детекторами объектов, как YOLO и R-CNN.

Ожидаемо, что эти методики были опробованы против детекторов DF, и продемонстировали некоторый успех. Можно ожидать, что помимо состязательных атак, генеративные сети сами по себе будут становиться более совершенными, и будут создавать более качественные DF, которые будут обходить детекторы. Вспоминается странная работа Hu et al "Exposing GAN-generated faces using incosistent corneal specular highlights" (https://arxiv.org/abs/2009.11924), авторы которой демонстрируют, что можно успешно идентифицировать синтезированные изображения лиц, сравнивая искажения бликов от света (фотовспышки) в левом и правом глазах - однако они делают эти заключения на основе анализа изображений, сгенерированных StyleGAN2 FFHQ, в то время как известно, что использование более совершенных сетей (хотя бы той же StyleGAN2, но с большей емкостью), значительно улучшает симметрию этих бликов, делая их абсолютно реалистичными.

В целом уязвимость детекторов DF представляется довольно важной темой, принимая во внимание усилия, направленные на автоматизацию борьбы с "fake news"

(продолжение следует)

#AI #DeepFakes
Касательно совершенстования алгоритмов обнаружения DF: Das et al улучшили результаты классификатора, используя процесс динамеческой аугментацию датасета для тренировки - подход, который был успешно применен в ряде работ в прошлом году на тему совершенствования GANs, в частности Adaptive Discriminator Augmentation (ADA) в StyleGAN2.

https://deepai.org/publication/improving-deepfake-detection-using-dynamic-face-augmentation

#AI #DeepFakes