Ещё не успело ИИ-сообщество оправится от набега ЛЛаМ и высвобождения 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/