Unsolicited Disclosures
1.64K subscribers
14 photos
24 links
AI, Tech, иногда шитпостинг
Download Telegram
К вопросу о том, сколько ресурсов потреблял Parler. Удачи с поиском такого за пределами AWS. (Также говорит о качестве из кода) #AltTech
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня Aydao (aydao.ai) выпустил апдейт своей модели, котрая генерирует аниме. Можно посмотреть здесь: https://thisanimedoesnotexist.ai #AI
Unsolicited Disclosures pinned «(детали у Гверна: https://www.gwern.net/Faces#extended-stylegan2-danbooru2019-aydao ; модель выложена на MEGA саму модель можно скачать по ссылке https://mega.nz/file/nUkWFZgS#EHHrqILumjpTppSXG-QlCOdWaUIVLTDnqPxsXPrI3UQ, а)»
Aydao работал над этим проектом почти полгода. Предыдущая версия аниме-StylegGAN2 (TWNDE, https://www.thiswaifudoesnotexist.net) генерировала портреты; версия Aydao же создает фигуры. Интересная деталь, модель "избегает" показывать ладони - пока еще никому не удалось создать генеративную модель, которая синтезирует фигуры и при этом хорошо справляется с руками и ладонями.
Есть такая команда - 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
(И снова к написанному выше: буквально на днях авторы Deepspeed выпустили статью "ZeRO-Offload: Democratizing Billion-Scale Model Training", где описывают, как это работает. Помимо прочего, авторы утверждают, что достигли десятикратного (!) увеличения размера модели, которую можно тренировать на одном GPU - до 13 миллиардов параметров, без изменения архитектуры модели и без значительных потерь в скорости. Достигается это за счет новой технологии гетерогенной тренировки, при которой задействует как память, так и вычислительные ресурсы CPU - в дополнение к GPU. Я еще не вчитывался, но это выглядит как один из главных прорывов за последние полгода! Ссылка на arxiv https://arxiv.org/abs/2101.06840)
Насчет мемасика "но ведь квантовые компьютеры могут позволить взломать Bitcoin!"

Понятно, что UTXO для адреса, который никогда не был использован (т.е. с "незасвеченным" открытым ключом), находятся в безопсности - невозможно подобрать секретный ключ для неизвестного открытого.

Однако бытует еще одно опасение - с помощью квантового компьютера можно экспоненциально ускорить майнинг, сгенерировав PoW блока быстрее, чем вся сеть это делает за 10-15 минут (время между блоками).

Алогитм PoW устроен так, что хэш признаётся истинным только в том случае, если значение хэша меньше значения специального параметра, определяющего сложность майнинга. Иными словами, в 256-битном хэше первые N бит должны быть нулевыми. При этом даже при максимальной сложности существует 2^32 допустимых значений хэша.
Bitcoin использует двойнуб функцию хэширования SHA256. Следовательно, даже при 2^32 допустимых значениях хэша область поиска будет 2^224.
Предполагая, что злоумышленник располагает квантовым компьютером с неограниченным количеством кубитов, он может использовать квантовый алгоритм Гровера, который дает квадратичное ускорение, уменьшая область поиска до 2^112.
(Мы опускаем тот факт, что заголовок может содержать только 2e13 значений timestamp, 2e32 значений nonce, несколько бит версии - все это увеличит (за счет мерклизации) требования алгоритма Гровера к количеству кубитов)

Но даже сокращенная до 2^112 область поиска обеспечивает достаточную зашиту от перебора; итого, нахождение значения PoW при использовании двойной SHA256 не является тривиальной задачей даже в случае наличия квантового компьютера с достаточным количеством кубитов. #Bitcoin #Crypto #Fakenews
Насчет cтатьи "Facial recognition technology can expose political orientation from naturalistic facial images" (https://www.nature.com/articles/s41598-020-79310-1), которая пару недель назад сделала пугающие заголовки типа "биометрическая система распознает политические взгляды человека". Сразу представляются камеры, которые обводят лица проходящих в метро людей синим или красным прямоугольником.

Я внимательно изучил статью, и она попахивает шарлатанством. Во-первых, в качестве набора данных для анализа автор использовал миллион фотографий, 90% которых было взято с сайтов знакомств, а оставшиеся 10% с FB. Люди используют на сайтах знакомств не случайные фотографии (например, захваченные камерой в потоке, или фото на паспорт), а сознательно их выбирают. То же относится и соцсетям (FB). Может ли быть, чтом модель классифицирует особенности этого выбора, и потом автор пытается искать корелляцию этих особенностей с бинарной (!) политической ориентацией? Вполне. Автор пытается адресовать этот момент странными утверждениями наподобие "Liberals tended to face the camera more directly, were more likely to express surprise, and less likely to express disgust" (даже с какой-то цитатой!), но не анализирует подробно, поэтому возникают сомнения.

Во-вторых, общеизвестно, что на сайтах знакомств люди зачастую используют фильтры для улучшения фотографий (и индустрия пытается с этим бороться). Также известно, что модель Resnet очень чувствительна к текстурам (как и CNN в целом, по понятным причинам). Тема улучшенных фотографий в работе не поднималась вообще; могла ли модель сфокусироваться на артефактах, которые фильтры оставляют на улучшенных фото? Вполне.

В-третьих, автор делает попытку странслировать self-reported political orientation в бинарную R-D политическую ориентацию, делая предположения, что скорее всего на сайтах знакомств люди сообщают полностью правдивую информацию о себе. Тоже вызывает сомнения.

В-четвертых, общая точность 69..72% против 50% случайного выбора или 55% точности человеческой оценки не очень впечатляет, и, на мой взгляд, не дотягивает до необходимой для утверждений наподобие "accuracy remained high".

(В-пятых, автор уже был замечен в написании статей, которые идеально подходят для создания clickbait. Несколько лет назад он выпустил статью, из которой следовало, что "neural networks are more accurate than humans at detecting sexual orientation from facial images", об чем тут же написали, что "нейросети могут точно определять сексуальную ориентацию по фото". Но это скорее деталь, которая не относится напрямую к утверждениям автора в исходной статье)

Итого, представляется разумным, что заголовок статьи следует читать как "FR tech can be more accurate than humans in guessing self described political orientation from dating sites profile images", и не делать далеко идущих выводов. #CrackpotAI
Здесь и сейчас. #Bitcoin
Для меня telegram - не просто мессенджер. Помимо чатиков и звонков, это инструмент для командной работы, а также агрегатор новостей, погоды, эпидемиологической обстановки, музыки и роликов. Saved messages стали средством хранения и синхронизации между разными устройствами заметок и файлов. У меня есть несколько telegram ботов, которые выполняют совершенно разнообразные функции - пересылают мне SMS с американского номера, алерты от разных систем из моего private cloud, информацию о прогрессе тренировки ML моделей и т.д.

Иными словами, telegram стал умным терминалом к целому набору систем. Или, альтернативно, операционной системой. Ранее единым интерфейсом - тоже, можно сказать, операционной системой - для всех этих вещей был браузер, а сейчас парадигма несколько изменилась, и отдельным людям (типа меня) удобнее использовать telegram. Можно вспомнить, что wechat уже много лет назад тоже стал операционной системой, и на его примере хорошо видно, что же делает подобную систему проблематичной. Во-первых, проблемы начинаются, когда в такой среде появляются свои apps. Apps внутри apps, это первый звоночек. Во-вторых, когда система хочет знать о пользователе какие-то вещи - сначала для "персонализации", потом для "верификации", она становится очень неудобной. Работа может прерваться в самый нужный моммент. (Это не значит, что wechat является плохой системой - наоборот, она значительно облегчает жизнь многих пользователей - просто она бесполезна для меня. В конце концов, для большинства людей Интернет является просто цифровым модемом к десятку сервисов...)

Следует заметить, что telegram точно так же централизован, как и wechat, и я прекрасно понимаю, что в один момент третьи лица могут уничтожить все мои данные. Not your keys, not your money. Может произойти так, что telegram уберут операторы аппсторов (например, если американский суд удовлетворит тот самый иск активистов), или telegram начнет следить за "подозрительной" активностью (как это делает wechat), и удалит мой аккаунт. Так что пока пользуемся telegram, а в долгосрочной перспективе это будет или Urbit, или более удачная реализация подобной модели.
В январе 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
(картинка из статьи Neuralink просто невыносимо хороша)