Модель
ruDALL-E XL 1.3B

Zero-Shot Text-to-Image Generation

Русская text-to-image модель, генерирующая изображения по тексту, 1.3 млрд параметров.

ruDALL-E XL 1.3B + ruCLIP

Лицензия
Apache 2.0
Размер файлов
2.48 GB
Версия
0.1
Бесплатно
Подключить
Категории
CVNLPDALL-EpytorchruDALL-etext2imageimage generation
Разработчик
Sber AI, SberDevices
Контакты
gpt3support@sber.ru
Описание

Новости

Подробнее о модели

Примеры кода с использованием модели: GitHub

Статья OpenAI: ссылка

Галерея ruDALL-E: ссылка

Применение

Генерация изображений решает две важные задачи, которые не может решить поиск:

  • позволяет учесть точное описание желаемого

  • создаёт изображение, которое раньше не существовало.

Генерацию изображений можно использовать, например, для фото-иллюстрации статей, в копирайтинге, в рекламе.

Модель доступна для дообучения, примеры представлены на GitHub.

Код в деплое решает следующие задачи:

  1. генерация изображений по текстовому описанию
  2. выбор (ранжирование) самого релеватного и качественного изображения из сгенерированных с помощью модели ruCLIP
  3. увеличение разрешения изображения в 2, 4, 8 раз - super resolution

Пример: "шикарная гостиная с зелеными креслами у окна"

Untitled

Installation

pip install rudalle==0.0.1rc6

Описание работы с моделью

Шаг 0. Импорт библиотек

from rudalle.pipelines import generate_images, show, super_resolution, cherry_pick_by_clip
from rudalle import get_rudalle_model, get_tokenizer, get_vae, get_realesrgan, get_ruclip
from rudalle.utils import seed_everything

device = 'cuda'
dalle = get_rudalle_model('Malevich', pretrained=True, fp16=True, device=device)

realesrgan = get_realesrgan('x4', device=device)
tokenizer = get_tokenizer()
vae = get_vae().to(device)
ruclip, ruclip_processor = get_ruclip('ruclip-vit-base-patch32-v5')
ruclip = ruclip.to(device)

Шаг 1. Генерация изображения по тексту:

text = 'озеро в горах, а рядом красивый олень пьет воду'
seed_everything(42)
top_k=1024
top_p=0.99,
images_num=24
images, scores = generate_images(text, tokenizer, dalle, vae, top_k=top_k, images_num=images_num, top_p=top_p)

show([image for image, score in sorted(zip(images, scores), key=lambda x: -x[1])] , images_num)

Результат:

Untitled

💡 подсказка: Вы можете делать перебор параметров top_k и top_p, меняя степень абстрактности изображения. Рекомендуемые параметры: top_k=0, top_p=0.95 ; top_k=1000, top_p=0.95 ; top_k=1536, top_p=0.99

Шаг 2. Выбираем лучшие изображения:

top_images, clip_scores = cherry_pick_by_clip(images, text, ruclip, ruclip_processor, device=device, count=6)
show(top_images, 3)

Untitled

Шаг 3. SuperResolution

sr_images = super_resolution(top_images, realesrgan)
show(sr_images, 3)

Untitled

Готово!

KF Serving API

import base64
import requests
from io import BytesIO
from IPython.display import display
from PIL import Image

response = requests.post(
    'http://localhost:8080/v1/models/kfserving-default:predict', 
    json={
        "instances": [
            {
                "text": "пейзаж со снежными горами и озером розового цвета", 
                "top_k": 1500,
                "top_p": 0.99,
                "images_num": 4,
                "rerank_top": 2,
                "hi_res": True
            }
        ]
    })
for imgtext in response.json()['images']:
    msg = base64.b64decode(imgtext.encode('ascii'))
    img = Image.open(BytesIO(msg))
    display(img)

Галерея примеров:

Разные цветы

Untitled

Красивый закат над морем

Untitled

кресло в форме авокадо

Untitled

Деревянная кровать в спальне

Untitled

Фото китайской еды

Untitled

Современное кресло фиолетового цвета

Untitled

Самая большая вычислительная задача в России

На платформе ML Space и суперкомпьютере Christofari модель обучалась 37 дней на 512 GPU TESLA V100, и затем еще 11 дней по 128 GPU — всего 20352 GPU-дней. Самая большая обученная модель ruDALL-E XXL (12 миллиардов параметров) сравнима с английской DALL-E от OpenAI!

Попробуйте быструю генерацию в приложении Салют. Для активации навыка скажите «Включи художника». Или попробуйте Телеграм бота @sber_rudalle_xl_bot

Дисклеймер

При использовании модели ruDALL-E XL 1.3B ответы формируются на автоматической основе. ООО «Облачные технологии» не несет ответственности за точность, релевантность, корректность информации, полученной пользователем посредством данной модели.