Генерация ИИ видео: как работает?
В технологиях генерации видео наблюдается значительный прогресс. Интересно, что если еще несколько лет назад возможность создавать видео по текстовому описанию представлялась, как нечто далекое и доступное исключительно ограниченному кругу лиц, то теперь, каждый пользователь может сгенерировать практически любое видео с помощью специальных площадок, а модели нового поколения, например, такие как Sora демонстрируют исключительный уровень детализации, проработки движений, физики взаимодействий.
Это стало возможным благодаря диффузным моделям, которых обучают с помощью множества настоящих видео, по этапно добавляя к ним разного рода искажения и неточности до тех пор, пока изображение не превратится в «рябь». Модель запоминает то, как изменяется картинка, после чего, с помощью алгоритма, испорченное видео расчищает от лишнего шума и возвращается его к исходному виду. Чтобы не тратить колоссальные ресурсы на обработку каждого пикселя, модели работают в сжатом режиме. Сначала видео сжимается в компактный цифровой «эскиз», все операции выполняются с ним, а на финальном этапе декодер разворачивает эскиз в полноценное высокое разрешение.
Долгое время разработчики нейросетей, генерирующих видео по тексту, не могли решить проблему с плавностью движения объектов. Создать отдельный кадр – не очень сложно, а вот добиться того, чтобы множество объектов не исчезали в кадре и реалистично двигались – задача непростая. Для этого в модели предусмотрен механизм, следящий за пространственно-временными связями. Он разбивает видео на множество крошечных трёхмерных фрагментов. Эти фрагменты обрабатываются трансформерным блоком. Он анализирует, как фрагменты связаны друг с другом, после чего, к примеру, сопоставляет движение объекта и его тени так, чтобы они перемещались синхронно.
Интересно, что текстовый промт кодируется в вектор чисел, который внедряется внутрь диффузионного конвейера на каждом шагу очистки шума. Таким образом, модель подстраивает каждое уточнение под содержание запроса. Например, если в промте был задан «черный автомобиль», именно черный цвет будет проявляться из шума, а не какой-нибудь еще. После отправки промта, запрос попадает на сервер, после чего десятки графических машин начинают работу по генерации изображения. Обычно генерация не очень большого видео занимает 1-5 минут, что так или иначе дольше, чем, например, генерация текста. Это связано с тем, что диффузный процесс требует сотни последовательных шагов. Сперва генерируется изображение низкого качества, а после, специальная модель повышает качество.
Несмотря на серьезный прогресс, алгоритмы все еще имеют изъяны. Из-за этого, порой, объекты проходят сквозь стены, зависают в воздухе или неестественно изгибаются. В будущем разработчики Sora планируют не только сократить время генерации видео, но и сделать картинку еще более реалистичной.
Аркадий Рыбаков

