Ещё не успело ИИ-сообщество оправится от набега ЛЛаМ и высвобождения GPT-4, подоспела новая напасть — 19го марта была выпущена китайская нейросеть ModelScope text2video от Alibaba, создающая короткие видеоролики по текстовому описанию.
Каковы её предшественники?
Видеоролики создаются подобно Imagen, Phenaki и Make-a-Video. Берётся существующая архитектура text2image модели (например, диффузионного типа), которая строит 2-мерные картинки по описанию, и переделывается в модель, строящую 2+1 мерные картинки, где новое измерение отвечает за связанность во времени. Модель от Alibaba не первая опенсорсная text2video модель, до этого такой была CogVideo (опять же, от китайцев).
В чём ключевое отличие этой модели?
В её минималистичности. Тогда как CogVideo требовала для запуска как минимум A100 с 40 гб видеопамяти, эту модель можно вполне себе комфортно запустить с 12 гб видеопамяти, с 6-8 чуть менее комфортно, но терпимо. Хотя энтузиасты уже умудрились уместить её всего лишь в 4 гб.
Как же эта модель устроена изнутри?
Как и описано выше, модель в своей основе полагается на латентные диффузионные модели, а конкретно, Stable Diffusion. В начале текст запроса при помощи предобученной нейросети OpenCLIP кодируется в вектор, отвечающий за его визуальные особенности; видеозапись сжимается и переводится в латентное пространство сетью VQGAN. Далее, в то время, пока идёт процесс обучения, к видеозаписи сначала последовательно подбирается такой шум, который полностью её сотрёт в нормальное распределение цветов пикселей (Гауссова диффузия), а затем подбирается 'контр-шум', чтобы её восстановить. Не буду здесь вдаваться в детали, о том, как работают диффузионные модели, на Хабре можно прочитать, например, здесь https://habr.com/ru/post/713076/. Тем не менее, у этой модели процесс шумоподавления модифицирован: вводится зависимость для шума, прилагаемого к одному из кадров, от состояния остальных кадров видео. По окончании процесса видео возвращается до исходного разрешения при помощи VQGAN.
Как её запустить?
Сами разработчики представили веса и демо своей модели на сайте Huggingface и ноутбук Google Colab. Кроме того, благодаря тому, что эта модель лишь слегка модифицированный Unet (Unet2d->Unet3d), в течении дня после выпуска статьи и первых твитов появился плагин для StableDiffusion WebUI от AUTOMATIC1111. Давайте им и воспользуемся.
Шаг 1.
Загружаем веса с официального репозитория https://huggingface.co/damo-vilab/modelscope-damo-text-to-video-synthesis. Не забудьте удостовериться, что Вы загрузили configuration.json в его текстовой форме через кнопку raw, а не его html-страницу. Помещаем их в папку 'stable-diffusion-webui/models/ModelScope/t2v'.
Шаг 2.
Загружаем StableDiffusion WebUI, если он у Вас ещё не установлен https://github.com/AUTOMATIC1111/stable-diffusion-webui, в нём проходим во вкладку Extensions и выбираем в списке ModelScope text2video.
Шаг 3.
Вводим текстовый запрос (здесь tiny cute green monster and the big flying UFO, чтобы соответсвтовать духу Хабра) и устанавливаем параметры генерации, нажимаем Generate. Ждём какое-то время (пока в командной строке не заполнится прогрессбар и не выведится зелёная надпись done)
Нажимаем на кнопку 'Click here....' и радуемся результатом.
Такие дела. Нас ждут безграничные видеомемы!
Напоследок
Видеомемы уже начались, например, на Реддите с помощью этой программы люди сделали нейросетевой ситком с Джо Байденом и Дональдом Трампом, где сценарий писала ChatGPT-4 https://www.reddit.com/r/StableDiffusion/comments/11xzh08/presenting_joe_and_the_don_100_ai_generated_sitcom/
Комментарии (7)
usernotfound_yet
00.00.0000 00:00-1пользуюсь Easy Diffusion, которая, что очевидно, в ModelScope text2video не смогла. Просто не определяет ни папку, ни все остальное.
Пришлось "поставить" StableDiffusion WebUI, который, как это не удивительно, даже не смог стартануть вообще.
Все по мануалу: питон и ГИТ поставлены со всеми нужными галочками. При команде "
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
" с Гитхабоского мануала просто ругается "не знаю никаких гитов", батники всяческих "вэб-уи" в строгом анабиозе (Couldn't launch python. exit code: 9009). При запуске питоносвкого скрипта launch стартует, подгружает 2 гига чего-то там и досвидосики.Работает железно, подумаешь не запускается(С)
onyxmaster
Интересно, водяные знаки shutterstock это потому что её обучали на стоковых фото? =)
kabachuha Автор
Скорее потому что на стоковых видео. А с ними хорошо размеченных датасетов гораздо меньше, чем картиночных. Тем более, что ресурсов для хранения и разметки требуется больше.
Если я правильно помню, в своей статье авторы упоминали датасет от LAION, а также Webvid. Shutterstock, скорее всего, попал в Лайоновский, так как уже был казус со Stable Diffusion-ом, выдающим ватермарки Шаттерстока и Getty Images (последние даже собирались с ними судиться). А парсить Ютуб для исследователей, как мне кажется, было бы ещё более сомнительной практикой
onyxmaster
Спасибо за разъяснение.
eliseisSmiRnov2
точно подмечено))