- 이 프로젝트는 텍스트나 이미지 입력으로부터 동시에 오디오와 비디오를 생성하는 AI 모델로, Character AI가 개발한 Ovi의 기능을 공개함
- Ovi는 자체 구축한 5B 규모의 오디오 브랜치와 Wan2.2 기반의 비디오 브랜치를 결합해, 고품질의 동기화된 시청각 콘텐츠를 생성함
- 모델은 720×720 해상도에서 학습되었지만, 960×960 이상의 해상도에서도 자연스러운 결과를 생성하며, 다양한 종횡비(9:16, 16:9 등)를 지원함
-
Gradio UI, ComfyUI 통합(WIP) , 멀티 GPU 추론, qint8/fp8 양자화 등 다양한 실행 옵션과 효율화 기능을 제공함
- 이 프로젝트는 텍스트-비디오 생성(T2V) 및 이미지-비디오 생성(I2V) 기술 발전의 최신 사례로, 오디오-비디오 융합 생성의 새로운 표준을 제시함
Ovi 개요
-
Ovi는 Character AI와 Yale University 연구진이 공동 개발한 크로스모달 생성 모델로, 텍스트 또는 텍스트+이미지 입력으로부터 동기화된 오디오와 비디오를 동시에 생성하는 시스템임
- 모델 구조는 “Twin Backbone Cross-Modal Fusion”으로 명명되어, 오디오와 비디오 브랜치를 병렬로 학습하고 융합하는 방식 사용
- 프로젝트 리드는 Weimin Wang이며, 공동 기여자는 Chetwin Low와 Calder Katyal
-
Veo-3 유사 모델로 소개되며, Character AI의 내부 오디오 데이터셋을 활용해 5B 파라미터 규모의 오디오 브랜치를 처음부터 사전학습함
- 생성된 영상은 5초 길이, 24FPS, 720×720 해상도를 기본으로 하며, 9:16, 16:9, 1:1 등 다양한 비율을 지원
주요 기능 및 특징
-
🎬 Video+Audio Generation: 텍스트 또는 이미지 입력으로부터 오디오와 비디오를 동시에 생성
-
🎵 High-Quality Audio Branch: 자체 구축한 대규모 오디오 데이터셋으로 학습된 오디오 브랜치 제공
-
📝 Flexible Input: 텍스트 단독 또는 텍스트+이미지 입력 모두 지원
-
⏱️ 5초 비디오 생성: 24FPS로 5초 길이의 짧은 영상 생성
-
🎯 고해상도 지원: 960×960 이상 해상도에서도 자연스러운 결과 생성 가능
- 예시로 1280×704, 1504×608, 1344×704 등 다양한 비율의 영상 제공
-
🚀 업스케일링 능력: 학습은 720×720에서 진행되었으나, 고해상도에서도 시간적·공간적 일관성을 유지
사용 가능한 플랫폼 및 데모
-
Wavespeed.ai에서 텍스트→비디오 및 이미지→비디오 생성 가능
-
HuggingFace Spaces에서도 데모 제공
-
ComfyUI 통합(WIP) : ComfyUI-WanVideoWrapper를 통해 Ovi 모델을 워크플로우에 통합 가능
학습 및 성능
-
학습 해상도: 720×720
-
추론 시 해상도 확장: 960×960 및 다양한 종횡비 지원
-
시간적 일관성 유지: 프레임 간 자연스러운 전환 구현
-
오디오-비디오 싱크 품질: 오디오 가이드 스케일 조정으로 동기화 품질 제어 가능
실행 및 구성
-
설치 절차
- PyTorch 2.6.0, Flash Attention, requirements.txt 의존성 설치
-
download_weights.py로 체크포인트 다운로드 (T5, VAE, MMAudio 포함)
- GPU VRAM이 24GB인 경우 fp8 또는 qint8 양자화 버전 사용 가능
-
추론 구성 파일: ovi/configs/inference/inference_fusion.yaml
- 주요 설정 항목:
-
num_steps: 디노이징 단계 수 (30~50)
-
audio_guidance_scale, video_guidance_scale: 오디오·비디오 동기화 강도
-
sp_size: 시퀀스 병렬 크기 (GPU 개수와 동일하게 설정)
-
cpu_offload: GPU VRAM 절약 모드
-
fp8: 24GB VRAM 환경에서 실행 가능
-
추론 실행 예시
- 단일 GPU: python3 inference.py --config-file ...
- 멀티 GPU: torchrun --nnodes 1 --nproc_per_node 8 inference.py ...
성능 및 메모리 요구사항
-
기본 모델 실행 시 최소 32GB VRAM 필요, fp8 모드에서는 24GB로 가능
-
FlashAttention-3 활성화 시 처리 속도 향상
-
시퀀스 병렬 처리로 4~8 GPU 사용 시 처리 시간 40~55초 수준
-
CPU 오프로딩 시 VRAM 절약 가능하지만, 처리 시간 약 20초 증가
Gradio UI 실행
- 간단한 명령으로 Gradio 기반 인터페이스 실행 가능
-
python3 gradio_app.py
-
--cpu_offload, --use_image_gen, --qint8, --fp8 옵션으로 다양한 환경 지원
- I2V 모드에서는 첫 프레임 생성을 위한 이미지 생성 모델 자동 활성화
프롬프트 구조 및 예시
-
Text-to-Audio-Video (T2AV) : example_prompts/gpt_examples_t2v.csv
-
Image-to-Audio-Video (I2AV) : example_prompts/gpt_examples_i2v.csv
-
특수 태그 사용
-
<S> ... <E>: 음성 변환용 텍스트
-
<AUDCAP> ... <ENDAUDCAP>: 배경음 및 효과음 설명
-
GPT를 활용한 프롬프트 생성
- 예시 CSV를 기반으로 GPT에게 특정 주제(예: “AI와 인간의 대결”)로 대사를 수정하도록 요청
- 수정된 프롬프트를 Ovi에 입력해 주제 기반 영상 생성 가능
향후 계획 (Todo List)
-
연구 논문 및 데모 웹사이트 공개 예정
-
11B 모델 체크포인트 및 멀티 GPU 추론 코드 공개
-
fp8 가중치, 시퀀스 병렬 효율 개선, FSDP 샤딩 추론 구현 예정
-
고해상도 데이터 파인튜닝 및 RL 기반 성능 향상 연구 진행
-
긴 영상 생성, 참조 음성 조건, 추론 속도 향상을 위한 Distilled 모델 개발 예정
기술적 감사 및 협업
-
Wan2.2: 비디오 브랜치 초기화에 사용
-
MMAudio: 오디오 VAE 재사용
-
기여자: @rkfg (fp8 효율화), @gluttony-10 (qint8 양자화)
-
협업 제안 및 문의: Weimin Wang에게 연락 가능
인용 정보
프로젝트 메타데이터
-
라이선스: Apache-2.0
-
언어 구성: Python 96.3%, CUDA 2.1%, C 1.4%, C++ 0.2%
-
GitHub 통계: ★955, 포크 92, 이슈 20, PR 2
-
개발자: Character AI 팀, Yale University 연구진
Ovi는 텍스트·이미지 기반 오디오-비디오 생성의 통합 모델로, 고품질 멀티모달 콘텐츠 제작의 새로운 가능성을 제시하며, 향후 AI 영상 생성 플랫폼의 핵심 기술로 발전할 잠재력을 보여줌.