대화 흐름과 상황에 따라 자연스럽게 video caption 생성
[Github]
[arXiv](Current version v1)
Abstract
LLM에 비디오 이해와 생성 능력을 부여하는 multi-model framework인 GPT4Video 제안
Introduction
기존의 Multi-modal Large Language Model은 multi-modal 처리에 중점을 두고 이해와 생성 능력은 부족하다.
MiniGPT-5, NExt-GPT와 같은 모델들은 generative voken을 통해 다양한 양식으로 확장하였지만 generative voken은 LLM의 잠재력을 완전히 활용하지 못하며, 모델을 업그레이드하려는 경우 재교육을 해야 하는 등 유연성이 부족하다.
GPT4Video에서는 video-text 간 정렬을 위한 video abstractor와, generative voken 대신 비디오 설명을 생성하도록 LLM을 훈련하는 interleaved multi-modal instruction-following dataset을 개발한다.
Method
Learn to understand videos
Visual Encoder
비디오 v의 개별 프레임 vi에 대해 CLIP ViT 모델로 feature 추출.
Video abstractor
프레임 수에 따라 입력 시퀀스가 매우 커지기 때문에 비디오 abstractor 구현.
추출 능력을 향상하기 위해 temporal token Qt, spatial token Qs를 도입하고 각 쿼리는 인코더로 추출된 video feature Fv와의 cross attention에 사용된다. (; = concat)
마지막으로 F̂v에 선형 매핑을 적용하여 LLM의 입력에 사용될 Fvideo를 생성한다.
Large Language Model Architecture
Lama-7B 모델 채택.
Abstractor와 LLM의 LoRA를 각각 훈련하는 2단계 훈련 전략을 사용하며 1단계에서는 VideoChat-11k, 2단계에서는 자체 구축한 GPT4Video-50k dataset을 사용했다.
LLM(LoRA)의 훈련 프롬프트는 다음과 같다.
Loss Function
2단계에서는 원래의 회귀 훈련 목표를 사용하여 text token에 대해서만 명령 조정을 수행한다.
Learn to generate videos
LLM이 상황 정보를 기반으로 비디오를 생성하도록 유도하기 위해 GPT4Video-50k dataset 개발.
Instruction data design
먼저 Webvid10M에서 얻은 video caption을 사용하여 GPT-4에서 대화를 생성한다. 대화가 생성된 후 video caption을 실제 비디오로 대체한다.
Multi-round, interleaved instruction dataset
Multi-round 및 비디오 간 대화 기능을 부여하기 위한 추가 데이터.
Video caption 간의 코사인 유사도를 계산하여 유사한 두 개 이상의 video caption에 대해 GPT-4에서 풍부한 대화를 구성한다. (대화 예제는 project page 하단에 있음)
Video generation models
GPT4Video의 LLM은 상황 정보를 고려하여 대화 흐름에 자연스럽게 video caption을 생성하는 모델이며, 비디오 생성은 Text-to-Video 모델을 통해 실행한다.
Experiments