GONZO_ML Telegram 919
[OpenAI DALL·E 2/unCLIP] Hierarchical Text-Conditional Image Generation with CLIP Latents
Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, Mark Chen
Статья: https://cdn.openai.com/papers/dall-e-2.pdf
Пост в блоге: https://openai.com/dall-e-2/
Код: нет, есть только карточка модели https://github.com/openai/dalle-2-preview/blob/main/system-card.md
Код неофициальный: https://github.com/lucidrains/DALLE2-pytorch
API: пока нет, но можно добавляться в лист ожидания: (https://labs.openai.com/waitlist). Доступ к модели пока имеют порядка 400 человек, в основном сотрудники и “друзья” компании (https://github.com/openai/dalle-2-preview/blob/main/system-card.md#access)

OpenAI выпустила новую версию своей генеративной модели DALL·E 2 (но на самом деле модель на бэкенде называется unCLIP, и это уже не первая итерация самой модели). Про первую версию DALL·E мы писали тут: https://www.tgoop.com/gonzo_ML/656. Качество модели ощутимо возросло, кроме того новая версия работает с более высоким разрешением. Примеры выглядят очень круто. Да, наверное, с поправкой на черрипикинг, но всё равно. Изначально казалось, что ИИ доберётся до творческих профессий в последнюю очередь, но, кажется, пора обновить свои ожидания. Обязательно посмотрите демку в блоге. Несколько менее красивые (но вероятно более реальные) примеры есть в карточке модели на гитхабе.

Интересна эволюция модели. DALL·E 1 работал так: текст кодировался токенами, дальше опционально дополнялся картиночными токенами (полученными через dVAE), и далее модель авторегрессионно продолжала генерить картиночные токены, которые обратно через dVAE восстанавливались в пиксели (эта процедура затирала высокие частоты в изображении и приводила к характерной гладкости изображений). Так делалось много раз, результаты ранжировались с помощью вспомогательной контрастной модели CLIP (https://www.tgoop.com/gonzo_ML/665) и отбирались лучшие.

Модель CLIP оказалась на редкость полезной. Возможно, в частности потому, что она была опубликована в отличие от собственно DALL·E (респект Сберу, обучившему и выложившему свою версию ruDALL-E). Люди нашли ей множество применений, например, в генерации картинок (когда текстовый энкодер модели выдаёт эмбеддинг по входному описанию, а дальше мы градиентным спуском обновляем картинку, максимизируя похожесть её эмбеддинга на заданный тектовый эмбеддинг). Кстати, в январе OpenAI наконец выложили наиболее тяжёлые и интересные версии модели RN50x64 и ViT-L/14 (https://github.com/openai/CLIP/commit/67fc250eb6aa84ef9ad19a020e3f8eb4e698feb4).

Практика показала, что эмбеддинги CLIP весьма хороши, и во второй версии DALL·E авторы решили их использовать напрямую. То есть энкодеры CLIP теперь является частью основной модели, а не вспомогательной функцией. В качестве картиночного энкодера взят ViT-H/16 (то есть не самый тяжёлый), а текстовый это стандартный трансформер из 24 блоков.

DALL·E 2 теперь работает так. Сначала по входному тексту генерится эмбеддинг текстовым энкодером CLIP. Далее из текстового эмбеддинга генерится картиночный эмбеддинг с помощью так называемой Prior модели. Она может быть авторегрессионной или диффузионной. И затем из картиночного эмбеддинга (и опционально таки текстового описания) генерится картинка с помощью диффузионного декодера. Декодер по сути инвертирует картиночные эмбеддинги обратно в картинку. Весь этот полный стек для генерации картинок, обусловленных текстом, авторы называют unCLIP, потому что он генерит картинки, инвертируя картиночный энкодер CLIP.

Подробнее про отдельные части модели.



tgoop.com/gonzo_ML/919
Create:
Last Update:

[OpenAI DALL·E 2/unCLIP] Hierarchical Text-Conditional Image Generation with CLIP Latents
Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, Mark Chen
Статья: https://cdn.openai.com/papers/dall-e-2.pdf
Пост в блоге: https://openai.com/dall-e-2/
Код: нет, есть только карточка модели https://github.com/openai/dalle-2-preview/blob/main/system-card.md
Код неофициальный: https://github.com/lucidrains/DALLE2-pytorch
API: пока нет, но можно добавляться в лист ожидания: (https://labs.openai.com/waitlist). Доступ к модели пока имеют порядка 400 человек, в основном сотрудники и “друзья” компании (https://github.com/openai/dalle-2-preview/blob/main/system-card.md#access)

OpenAI выпустила новую версию своей генеративной модели DALL·E 2 (но на самом деле модель на бэкенде называется unCLIP, и это уже не первая итерация самой модели). Про первую версию DALL·E мы писали тут: https://www.tgoop.com/gonzo_ML/656. Качество модели ощутимо возросло, кроме того новая версия работает с более высоким разрешением. Примеры выглядят очень круто. Да, наверное, с поправкой на черрипикинг, но всё равно. Изначально казалось, что ИИ доберётся до творческих профессий в последнюю очередь, но, кажется, пора обновить свои ожидания. Обязательно посмотрите демку в блоге. Несколько менее красивые (но вероятно более реальные) примеры есть в карточке модели на гитхабе.

Интересна эволюция модели. DALL·E 1 работал так: текст кодировался токенами, дальше опционально дополнялся картиночными токенами (полученными через dVAE), и далее модель авторегрессионно продолжала генерить картиночные токены, которые обратно через dVAE восстанавливались в пиксели (эта процедура затирала высокие частоты в изображении и приводила к характерной гладкости изображений). Так делалось много раз, результаты ранжировались с помощью вспомогательной контрастной модели CLIP (https://www.tgoop.com/gonzo_ML/665) и отбирались лучшие.

Модель CLIP оказалась на редкость полезной. Возможно, в частности потому, что она была опубликована в отличие от собственно DALL·E (респект Сберу, обучившему и выложившему свою версию ruDALL-E). Люди нашли ей множество применений, например, в генерации картинок (когда текстовый энкодер модели выдаёт эмбеддинг по входному описанию, а дальше мы градиентным спуском обновляем картинку, максимизируя похожесть её эмбеддинга на заданный тектовый эмбеддинг). Кстати, в январе OpenAI наконец выложили наиболее тяжёлые и интересные версии модели RN50x64 и ViT-L/14 (https://github.com/openai/CLIP/commit/67fc250eb6aa84ef9ad19a020e3f8eb4e698feb4).

Практика показала, что эмбеддинги CLIP весьма хороши, и во второй версии DALL·E авторы решили их использовать напрямую. То есть энкодеры CLIP теперь является частью основной модели, а не вспомогательной функцией. В качестве картиночного энкодера взят ViT-H/16 (то есть не самый тяжёлый), а текстовый это стандартный трансформер из 24 блоков.

DALL·E 2 теперь работает так. Сначала по входному тексту генерится эмбеддинг текстовым энкодером CLIP. Далее из текстового эмбеддинга генерится картиночный эмбеддинг с помощью так называемой Prior модели. Она может быть авторегрессионной или диффузионной. И затем из картиночного эмбеддинга (и опционально таки текстового описания) генерится картинка с помощью диффузионного декодера. Декодер по сути инвертирует картиночные эмбеддинги обратно в картинку. Весь этот полный стек для генерации картинок, обусловленных текстом, авторы называют unCLIP, потому что он генерит картинки, инвертируя картиночный энкодер CLIP.

Подробнее про отдельные части модели.

BY gonzo-обзоры ML статей




Share with your friend now:
tgoop.com/gonzo_ML/919

View MORE
Open in Telegram


Telegram News

Date: |

best-secure-messaging-apps-shutterstock-1892950018.jpg Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” How to Create a Private or Public Channel on Telegram?
from us


Telegram gonzo-обзоры ML статей
FROM American