본문 바로가기

논문 리뷰/Language Model

VideoPoet: A Large Language Model for Zero-Shot Video Generation

지금까지 본 비디오 생성 모델 중에 움직임이 제일 부드러운 것 같다.

 

[Google Research Blog]

[Project Page]

[arXiv](Current version v1)

 

Abstract

Multi-modal 입력을 처리하고 고품질 audio, video를 합성할 수 있는 VideoPoet 제안

 

 

 

Introduction

본 논문에서는 비디오 생성에서 LLM의 적용을 조사한다.

VideoPoet은 각 양식을 이산 토큰으로 출력하는 decoder-only LLM architecture를 사용한다.

 

VideoPoet의 훈련은 pretraining → task-adaptation으로 구성되며 별도의 확산 모델에 의존하지 않고 단일 LLM으로 통합된다.

 

LLM인 VideoPoet은 zero-shot 생성이 가능하며 자기회귀적으로 확장하여 최대 10초의 일관성 있는 비디오를 생성할 수 있다.

 

 

 

Model Overview

VideoPoet은 양식별 tokenizer, LLM, super-resolution module로 구성된다.

 

Tokenization

Image∙video tokenizer: MAGVIT-v2, Audio tokenizer: SoundStream.

또한 처음부터 텍스트로 훈련하는 것보다 사전 훈련된 text encoder(T5 XL)를 사용하는 편이 성능이 더 좋았다고 한다.

 

Language Model Backbone

Decoder-only architecture(UL2)를 백본으로 하는 prefixLM을 사용한다. 어휘 크기 30만 개.

 

Super-Resolution

Autoregressive transformer를 통해 고해상도 비디오를 생성하는 경우 토큰 길이로 인해 매우 비실용적이므로 spatial super-resolution non-autoregressive video transformer를 개발한다.

SR transformer에는 3종류의 local window self-attention이 있는 transformer block 3개로 구성되어 있고 cross-attention layer에서는 저해상도 토큰과 텍스트 임베딩을 처리한다.

 

MAGVIT 목표로 SR transformer를 훈련하고 token factorization을 사용하며 classifier-free guidance에 대해 독립적으로 훈련 샘플의 10%에서 LR 조건과 텍스트 임베딩을 제거한다.

 

 

 

LLM Pretraining for Generation

Task Prompt Design

Representing an image as a video

MAGVIT-v2는 인과적 CNN을 통해 이미지와 비디오의 첫 번째 프레임을 동일하게 취급하도록 설계되었다. 

 

Text-to-Image pretraining에서 end-of-sequence token(<eos>)을 제외하여 추론 시 비디오 토큰을 계속해서 생성하도록 한다. 결과적으로 이러한 설계는 이미지와 비디오를 구분하지 않으므로 두 양식 간의 정보 공유가 용이해지고 고품질의 초기 프레임이 예측되어 향후 오류와 아티팩트가 감소한다.

 

Video token format

모든 예제에서 두 가지 해상도와 두 가지 프레임 길이로 총 4개의 조합을 사용할 수 있다.

이미지는 128x128 해상도의 1 프레임 비디오로 취급한다.

 

Video stylization

텍스트로 content를 정의하고 optical flow 및 depth map을 통해 구조를 제어한다. 또한 단계의 하위 집합(첫 번째 프레임 생성 이후를 말하는 듯?)에서 첫 번째 프레임을 조건으로 한다.

 

확산 모델의 cross-attention과 같은 복잡한 방법 없이 조건을 채널 차원으로 연결하여 tokenizer에 입력하기만 하면 된다.

텍스트 프롬프트를 변경하여 새로운 스타일의 비디오를 생성할 수 있다.

 

Task layout

LLM은 text, video, audio token을 입력으로 visual, audio token을 출력하며 prompting을 위한 특수 토큰은 다음과 같다.

무조건의 경우에는 해당 작업의 특수 토큰과 입력 토큰을 생략한다.

출력에 대한 <task>를 조건으로 지정한다.

<res> 토큰이 존재할 경우 128x224 해상도 출력. 그렇지 않은 경우는 128x128.

 

Training Strategy

모든 양식에 걸쳐 2조 개의 토큰에 대해 훈련된다.

 

Multi-task 훈련에서 토큰 당 최적의 손실 효율을 제공하는 accelerated Alternating Gradient Descent algorithm를 사용한다.

각 작업을 시퀀스 길이별로 그룹화하고 각 반복마다 한 그룹을 샘플링한다. 이미지는 더 적은 토큰이 필요하기 때문에 비디오보다 배치 당 약 5배 더 많은 이미지를 포함할 수 있다.

 

훈련 시 비디오와 이미지를 균일하게 샘플링하는 것보다 처음 25% 반복에서 90%로 이미지를, 나머지에서 90%로 비디오를 샘플링하는 것이 더 성능이 좋았다.

 

사전 훈련 후 고품질의 하위 집합을 사용하여 fine-tuning 하면 디코딩 붕괴 문제를 완화하고 품질을 향상할 수 있다.

본 논문에서는 text-to-video, image-to-video, video-to-audio에 대해 fine-tuning을 수행하였다.

 

 

 

Experiments

확산 기반 비디오 생성 모델의 결과물보다 훨씬 부드러운 것 같다.

Project Page

 

VideoPoet – Google Research

A Large Language Model for Zero-Shot Video Generation. VideoPoet demonstrates simple modeling method that can convert any autoregressive language model into a high quality video generator.

sites.research.google