LongLive-RAG: 장기 비디오 생성을 검색 문제로 변환
요약
LongLive-RAG는 장기 비디오 생성 문제를 검색(retrieval) 문제로 접근하여, 기존의 자기회귀적(AR) 모델 한계를 극복합니다. 이 방법은 이미 생성된 전체 비디오를 컨텍스트로 활용해 오류 누적이나 정체성 이탈을 줄이며, 기본 생성기를 재학습할 필요 없이 플러그 앤 플레이 방식으로 적용 가능합니다.
핵심 포인트
- 장기 비디오 생성을 검색(retrieval) 문제로 변환하여 접근.
- 생성된 전체 히스토리를 컨텍스트로 활용해 일관성과 품질 유지.
- 플러그 앤 플레이 방식이며, 기본 생성기를 재학습할 필요가 없음.
- 검색 가능한 잠재 히스토리와 시간 변화를 포착하는 손실 함수 도입.
Qixin Hu · Shuai Yang · Wei Huang · Song Han · Yukang Chen
LongLive-RAG는 장기 비디오 생성을 검색(retrieval) 문제로 바꿉니다. 자기회귀적(autoregressive, AR) 비디오 생성기는 가장 최근의 슬라이딩 윈도우에만 주의를 기울이는 대신, 이미 생성한 비디오 전체를 되돌아보고 가장 관련성 높은 과거 잠재 벡터(latent)를 추가 컨텍스트로 가져옵니다. 이를 통해 기존 생성기를 재학습하지 않고도 장기간에 걸친 오류 누적, 정체성 이탈(identity drift), 배경 깜빡임 현상을 줄일 수 있습니다.
- 🔥 [2026.06] 저희는
LongLive-RAG 논문과 코드를 공개합니다!
🌐 더 많은 결과와 비디오 비교는 프로젝트 페이지에서 확인하세요.
장기 범위 비교. 네이티브(native) 슬라이딩 윈도우 기준선(왼쪽)은 시간이 지남에 따라 오류가 누적되고 이탈하는 반면, LongLive-RAG를 추가한 경우(오른쪽)는 피사체의 정체성과 시각적 품질을 유지합니다.
| 네이티브 (기준선) | 네이티브 + LongLive-RAG (당사) |
|---|---|
| ## native_1.mp4 | |
| ## native_ours_1.mp4 | |
| ## native_2.mp4 | |
| ## native_ours_2.mp4 |
🥇 최초의 시도. 개방형 AR 장기 비디오 생성 방법 중, 자체 생성된 잠재 히스토리를 콘텐츠 주소 지정 가능 검색 메모리로 공식화한 최초의 방법입니다.
🔌 플러그 앤 플레이(Plug-and-play). 기본 생성기를 고정 상태로 두고 Causal-Forcing, Self-Forcing, LongLive 모두에서 작동합니다.
🔎 검색 가능한 히스토리. 각 새로운 블록에 대해 가장 관련성 높은 과거 잠재 벡터를 추가 컨텍스트로 검색합니다.
📐 윈도우 시간 델타 손실(Window Temporal Delta Loss). 임베딩이 불필요한 지역적 유사성이 아닌 의미 있는 시간 변화를 포착하도록 만듭니다.
⚡ 일관된 승리. 길이와 백본을 통틀어 가장 높은 평균 VBench-Long 순위를 기록합니다.
블록 t에서, 표준 AR 모델은 슬라이딩 윈도우 컨텍스트에 주의를 기울입니다. LongLive-RAG는 싱크(sink)와 지역 윈도우 사이에 검색된 히스토리 항목 $M_t$를 삽입합니다:
Sliding window: A_sw = [ C_sink ‖ C_loc ]
LongLive-RAG: A_rag = [ C_sink ‖ M_t ‖ C_loc ]
| 단계 | 작동 방식 |
|---|
- 인덱싱 (Indexing) | 완성된 잠재 블록(latent block) 각각을 압축 임베딩으로 인코딩하여 저장합니다. |
- 검색 (Retrieval) | 현재 블록을 과거 임베딩과 비교하고, 상위 K개의 결과를 추가 컨텍스트로 가져옵니다. |
- 임베딩 학습 (Embedding training) | 기본 생성기(generator)를 고정한 상태에서 자체 생성된 잠재 값(latents)으로 인코더를 오프라인 학습시킵니다. |
LongLive-RAG는 LongLive와 환경을 공유합니다. 상위 LongLive 설치 가이드를 따르십시오.
1. 모든 것을 다운로드 — 두 개의 명령어. 모든 LongLive-RAG 에셋(AR 백본, 검색 AE, 프롬프트 파일 및 장난감 잠재 세트)은 단일 Hugging Face 리포지토리에 있습니다. 기본 WAN VAE는 Wan으로부터 가져옵니다:
hf download Wan-AI/Wan2.1-T2V-1.3B --local-dir wan_models/Wan2.1-T2V-1.3B
# 모든 LongLive-RAG 에셋 — checkpoints/와 toydatasets/에 제자리에 복원됩니다.
...
이전 설정에서는 hf download를 huggingface-cli download로 대체할 수 있습니다 (동일한 인수를 사용합니다).
두 번째 명령어는 다음을 배치합니다:
checkpoints/
├── causal_forcing.pt # Causal-Forcing AR 백본
├── self_forcing.pt # Self-Forcing AR 백본
...
ae_latent_mem.pt를 사용하는 대신 자체 검색 AE를 학습시키려면, '학습 (Training)' 섹션을 참조하십시오.
3. 실행. 이 리포지토리는 configs/에 3 × 2 그리드(세 가지 백본 × 두 가지 컨텍스트 조립 방식)를 제공합니다:
| 백본 \ 방법 | native (슬라이딩-윈도우) | latentmem (LongLive-RAG, 본 연구) |
|---|---|---|
| causal_forcing | causal_forcing_native.yaml | causal_forcing_latentmem.yaml |
| self_forcing | self_forcing_native.yaml | self_forcing_latentmem.yaml |
| longlive | longlive_native.yaml | longlive_latentmem.yaml |
# 주요 결과: Causal-Forcing 백본 + LongLive-RAG 검색
bash inference.sh causal_forcing latentmem
# 기준선: native 슬라이딩-윈도우
...
결정론적 추론을 위해, inference.py는 random / numpy / torch 전반에 걸쳐 고정된 시드(config.seed)를 설정하고 결정론적 백엔드를 활성화합니다:
⚠️ 비트 단위의 크로스 머신 재현은 엄격하며 보장하기 어렵습니다. 위의 설정에도 불구하고, 동일한 출력을 다른 기기에서 얻으려면 동일한 GPU 모델, 동일한 PyTorch / CUDA / cuDNN 버전, 그리고 일치하는 체크포인트/설정이 필요합니다. GPU 아키텍처(예: A100 대 H100), TF32 동작 방식 또는 torch.compile가 자동 튜닝한 어텐션 커널에서도 여전히 작은 수치적 편차가 발생할 수 있습니다. PYTHONHASHSEED를 완전히 적용하려면, 실행 전에 환경 변수로 내보내야 합니다: PYTHONHASHSEED=0 bash inference.sh ...
✅
우리가 얻은 성능 향상을 검증하는 가장 신뢰할 수 있는 방법은 동일한 기기에서의 A/B 비교입니다. 같은 GPU에서, 동일한 프롬프트와 시드를 사용하여 nativebaseline과 LongLive-RAG를 (back-to-back으로 latentmem을 통해) 실행한 다음, 출력물을 직접 비교합니다. 이렇게 하면 검색(retrieval)의 효과가 하드웨어/소프트웨어 스택 변동성으로부터 분리됩니다: # 동일한 백본, 동일한 기기 — baseline과 저희 모델 비교 bash inference.sh causal_forcing native bash inference.sh causal_forcing latentmem
기반 생성기(base generator)는 고정(frozen) 상태를 유지하며, 훈련 가능한 유일한 구성 요소는 검색 인코더(retrieval encoder, 작은 잠재 자동인코더)입니다. 훈련은 두 단계로 진행됩니다:
1단계: 잠재 코퍼스 구축. 고정된 생성기를 프롬프트 풀에 걸쳐 실행하여 수집되는 깨끗한 잠재 블록을 모으고, 이것들이 훈련 샘플이 됩니다. 런처는 여러 GPU에 걸쳐 생성을 분할합니다.
bash generate_latent.sh
2단계: 검색 자동인코더 훈련. 수집된 잠재값들을 재구성 손실(reconstruction loss)과 Window Temporal Delta, 그리고 궤적 평활화 항(trajectory-smoothing terms)을 사용하여 인코더에 적합시킵니다. 기본 하이퍼파라미터는 ae/configs/에 있습니다.
bash train_ae_delta.sh
기반 AR 백본의 재훈련은 범위를 벗어납니다. 백본 체크포인트는 있는 그대로 사용됩니다. 처음부터 훈련하려면 상위 레벨의 LongLive / Self-Forcing을 참조하십시오.
├── ae/ # 검색 오토인코더 (모델, 설정, 훈련)
├── checkpoints/ # AR 백본, AE 체크포인트, 프롬프트 .txt 파일 (gitignored)
├── configs/ # 추론 YAML(3개 백본 × 2가지 방법) + generate_latent
...
📜 논문: arXiv:2606.02553
@article{longliverag2026,
title = {LongLive-RAG: 장기 비디오 생성을 위한 범용 검색 증강 프레임워크},
author = {Hu, Qixin and Yang, Shuai and Huang, Wei and Han, Song and Chen, Yukang},
...
LongLive-RAG는 다음 코드베이스와 아이디어를 기반으로 구축되었습니다:
- LongLive: 이 코드베이스가 포크한 AR 장기 비디오 프레임워크.
- Self-Forcing: 인과적(causal) AR 훈련 레시피 및 프롬프트 풀.
- Causal-Forcing: 본 연구에서 평가된 AR 백본 중 하나.
- Wan: 기본 비디오 생성 모델 및 VAE 잠재 공간.
Apache 2.0 라이선스 하에 공개되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기