Unsolicited Disclosures
1.64K subscribers
14 photos
24 links
AI, Tech, иногда шитпостинг
Download Telegram
(К написанному выше: долгое время не было простого способа распределить модель по нескольким 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
OpenAI выложили еще несколько моделей CLIP, а также опубликовали статью (https://distill.pub/2021/multimodal-neurons/), в которой, помимо прочего, делается смелое утверждение "In 2005, a letter published in Nature described human neurons responding to specific people. We report the existence of similar multimodal neurons in artificial neural networks" и приводятся наглядные визуализации "искуственных нейронов" (sic). В статье есть ссылки на какой-то невероятный инструмент визуализации - OpenAI Microscope (например, https://microscope.openai.com/models/contrastive_4x/image_block_4_5_Add_6_0/34)

#AI
Пара обращающих на себя внимание вещей из области brain-machine interfaces:

1. Обезьяна, которая играет в пинг понг через Neuralink https://neuralink.com/blog/

"We are pleased to reveal the Link’s capability to enable a macaque monkey, named Pager, to move a cursor on a computer screen with neural activity using a 1,024 electrode fully-implanted neural recording and data transmission device, termed the N1 Link"

2. Подход к декодированию активности мозга, регистрируемой при помощи магнитоэнцефалографии: Deep Recurrent Encoder: A scalable end-to-end network to model brain signals https://arxiv.org/abs/2103.02339

"We propose an end-to-end deep conv net, trained to predict brain responses from the experimental conditions and using *all* the data (continuous recordings and multiple subjects)"

Твиттер-тред https://twitter.com/jrking0/status/1379775034579947520 и код на GitHib https://github.com/facebookresearch/deepmeg-recurrent-encoder

#AI #BMI
На днях команда Huawei анонсировала создание языковой модели ("PanGu-α: Large-scale Autoregressive Pretrained Chinese Language Models with Auto-parallel Computation", https://arxiv.org/abs/2104.12369), превосходящей по количеству параметров известный OpenAI GPT-3 в 2 раза ("up to 200 billion parameters"). Архитектура модели - вариация на тему привычных трансформаторов (sparse attention не применялся), авторы использовали датасет на китайском языке размером в 1.1Tb (и довольно подробно описали детали сборки в статье).

На первый взгляд, ничего необычного. За исключением того, что тренировка модели такого размера была выполнена полностью на специализированном железе Huawei, без задействования привычных акселераторов NVidia Tesla, Google TPU и т.д. Авторы использовали 2048 акселераторов Huawei Ascend 910, каждый из которых внешне напоминает Tesla V100 - с похожим энергопотреблением (350W), HBM2 памятью на чипе, и двойной (по сравнению с V100) заявленной производительностью при вычислениях с половинной точностью. (В статье это не указно, но из кода видно, что модель считалась в FP16). Силикон для Ascend 910 разработан Huawei вместе с HiSilicon, архитектура фигурирует под названием Davinci, и производится по технологии 7nm (TSMC N7+). Единственным существенным импортным компонентом платформы остаются процессоры Intel Xeon. Поскольку существующие фрэймворки (Tensorflow, Pytorch, JAX) не поддерживают Ascend/Davinci, Huawei сделал свой, чем-то походий на Pytorch - Mindspore, который поддерживает CPU, GPU (NVidia CUDA) и Ascend/Davinci.

Создание полного стэка - выглядищих конкурентноспособными акселераторов и собственного ML фрэймворка - который работает настолько неплохо, что с его использованием можно выполнить тренировку модели в 200B параметров - это, конечно, замечательные результаты. Это примерно как Google со своим стэком TF+TPU. Остается заменить процессоры Xeon и можно это называть примером успешного импортозамещения.

код и релизы моделей (пока самая большая из выложенных - 13B): https://git.openi.org.cn/PCL-Platform.Intelligence/PanGu-Alpha
про DaVinci: https://www.anandtech.com/show/14756/hot-chips-live-blogs-huawei-da-vinci-architecture
Mindspore: https://www.mindspore.cn/doc/note/en/master/design/mindspore/architecture.html
некоторые детали по Ascend: https://www.servethehome.com/huawei-ascend-910-provides-a-nvidia-ai-training-alternative/

#AI