TRENDSHIFT 딥다이브 · 2026.06.01

LongCat-Video 딥다이브
— 영상을 "이어서" 만들도록 훈련한 13.6B 모델

중국 메이투안(Meituan) LongCat 팀이 공개한 오픈소스 영상 생성 모델. 텍스트→영상, 이미지→영상, 영상 이어붙이기(Video-Continuation)를 단일 13.6B 모델로 처리하고, 색 번짐·화질 저하 없이 분(分) 단위 장편을 만들어낸다. Diffusion Transformer(DiT) 기반에 Block Sparse Attention·coarse-to-fine 생성·다중 보상 RLHF를 얹어 720p/30fps를 수 분 안에 뽑는다. 가중치까지 MIT 라이선스라 상업 사용 무료. (저장소: meituan-longcat/LongCat-Video · ★ 2.3k · TrendShift 데일리 2위 · 2025-10 공개)
목차
  1. 한줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 하드웨어·시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1한줄 요약

한 문장으로 무엇을 하는 프로젝트인가
한 문장 정리

"한 번에 5초짜리 클립만 뱉는 기존 영상 생성기와 달리, '직전 영상을 보고 다음 장면을 이어 그리도록' 사전학습돼 — 텍스트·이미지·기존 영상을 입력으로 받아 단일 13.6B 모델 하나로 색 번짐 없는 분 단위 장편을 만들어내는, 메이투안의 오픈소스 '월드 모델' 첫걸음."

2025년 10월 25일 기술 보고서(arXiv:2510.22200)와 함께 가중치가 공개됐고, 12월에는 오디오로 입을 맞추는 LongCat-Video-Avatar까지 추가됐다. 폐쇄형 상용 모델(구글 Veo3·바이트댄스 Seedance)에 견줄 품질을 오픈소스로 내놨다는 점이 화제다.

친숙한 비유

기존 텍스트→영상 모델은 "한 컷 스냅 촬영"이다. 프롬프트를 주면 5초 안팎의 짧은 클립을 한 방에 만든다. 그런데 이걸 이어 붙여 긴 영상을 만들려고 하면, 뒤로 갈수록 색이 누렇게 뜨고(컬러 드리프트) 인물이 슬슬 다른 사람이 된다.

LongCat-Video는 "이야기를 이어 쓰는 작가"다. 처음부터 "앞 영상 → 뒤 영상"을 예측하는 영상 이어붙이기(Video-Continuation) 과제로 사전학습돼서, 직전 장면을 기억하고 다음을 이어 그린다. 그래서 길어져도 색감·인물·움직임이 무너지지 않는다.

2왜 지금 주목받는가

트렌딩 이유와 기존 영상 생성 모델 대비 차별점
먼저 알아둘 용어
영상 생성 모델 (Video Generation Model)
텍스트·이미지를 입력하면 움직이는 영상을 만들어내는 AI. 구글 Veo, OpenAI Sora, 바이트댄스 Seedance, Runway Gen, 알리바바 Wan 등이 경쟁한다. 대부분 한 번에 짧은 클립(수 초)을 생성하며, 핵심 난제는 ① 길게 만들수록 품질이 무너지는 것과 ② 추론이 너무 느리고 비싼 것이다.

1. "영상 이어붙이기"를 본 과제로 사전학습 — 장편이 무너지지 않는다

대부분의 영상 모델은 짧은 클립 생성에 최적화돼 있다. 긴 영상이 필요하면 클립을 생성하고 그 마지막 프레임을 다시 입력해 이어 붙이는데, 이 과정에서 오차가 누적돼 컬러 드리프트(색 번짐)와 품질 저하가 생긴다. LongCat-Video는 처음부터 Video-Continuation(앞 영상을 조건으로 다음 영상을 예측)을 네이티브 사전학습 과제로 삼았다.

기존 방식의 약점
클립을 억지로 이어 붙이는 "오토리그레시브 롤아웃"

짧은 모델로 학습한 뒤 추론 때만 마지막 프레임을 다시 넣어 연장하면, 모델은 "이어 그리기"를 제대로 배운 적이 없다. 매 연장마다 미세한 색·밝기·구도 오차가 쌓여 1분쯤 가면 화면이 누렇게 뜨거나 인물이 뭉개진다.

LongCat-Video의 방식
Video-Continuation 네이티브 프리트레이닝

학습 단계부터 "앞 영상 → 뒤 영상"을 직접 예측하도록 훈련됐다. 그래서 연장이 모델이 잘 아는 작업이 되고, 분 단위로 길어져도 시간적 일관성(temporal coherence)이 유지된다. 텍스트→영상·이미지→영상도 이 통합 프레임 안의 특수 케이스로 처리된다.

2. 한 모델로 3가지(+α) 영상 작업 — 통합 아키텍처

보통은 "텍스트→영상 모델"과 "이미지→영상 모델"이 따로다. LongCat-Video는 같은 가중치 하나로 세 가지를 모두 한다.

작업 1 — TEXT-TO-VIDEO (T2V)

텍스트 프롬프트만으로 영상 생성

"비 오는 도쿄 거리를 걷는 사람" 같은 묘사를 넣으면 그 장면을 영상으로 만든다. 내부적으로는 "빈 영상에서 시작하는 이어붙이기"로 처리된다.

작업 2 — IMAGE-TO-VIDEO (I2V)

한 장의 이미지에 움직임을 불어넣기

정지 이미지를 첫 프레임으로 주면, 그 이미지가 자연스럽게 움직이는 영상을 만든다. 광고·썸네일을 "살아 움직이게" 만드는 용도.

작업 3 — VIDEO-CONTINUATION + 장편 / 인터랙티브

기존 영상을 이어 그리기 → 분 단위 장편, 그리고 상호작용

핵심 작업. 여기서 run_demo_long_video.py(장편)와 run_demo_interactive_video.py(인터랙티브 — 진행 중 조건을 바꿔가며 생성)가 파생된다. 후자는 "월드 모델"의 맹아다.

3. 효율 추론 — 720p·30fps를 "수 분 안에"

영상 생성의 최대 적은 속도다. 프레임 수×해상도만큼 연산이 폭증하기 때문. LongCat-Video는 두 가지 트릭으로 이를 누른다.

4. 다중 보상 RLHF(GRPO) — 작은데 상용급

사람 선호를 반영하는 다중 보상 RLHFGRPO(Group Relative Policy Optimization)로 적용했다. 그 결과 13.6B Dense 모델이, 28B(활성 14B) MoE인 Wan 2.2와 비슷하거나 더 나은 영역도 보인다. 즉 더 작은 모델로 비슷한 품질을 낸다.

Text-to-Video (내부 MOS)Veo3PixVerse-V5Wan 2.2-T2VLongCat-Video
접근성상용(폐쇄)상용(폐쇄)오픈소스오픈소스
아키텍처 / 파라미터MoE · 28B(활성14B)Dense · 13.6B
텍스트 정합도 ↑3.993.813.703.76
시각 품질 ↑3.233.133.263.25
모션 품질(Motion Quality) ↑3.863.813.783.74
종합 품질 ↑3.483.363.353.38

※ MOS = Mean Opinion Score(사람 평가 평균). 폐쇄형 Veo3가 종합 1위지만, 오픈소스 중에서는 더 작은 LongCat-Video가 Wan 2.2를 종합에서 앞선다.

5. 가중치까지 MIT 라이선스 — 상업 사용 무료

모델 가중치가 MIT 라이선스로 풀렸다. 상업적 이용·재배포·수정이 모두 자유롭다. 영상 생성처럼 비용이 큰 분야에서 상용급 오픈 모델이 관대한 라이선스로 나온 것은 드물고, 이게 트렌딩의 큰 이유다.

한 줄 정리

"긴 영상에서 무너지지 않고(Continuation 프리트레이닝), 빠르며(coarse-to-fine + BSA), 작아도 상용급(GRPO RLHF)이고, 라이선스가 관대(MIT)하다" — 영상 생성 오픈소스가 갖추기 어려운 네 가지를 한 번에 충족한 게 핵심이다.

3기술 스택 전체 지도

모델 백본 / 확산 파이프라인 / 효율화 / 분산 추론

저장소는 Python 100%다. 단순 한 덩어리가 아니라 "확산 백본(DiT) + 영상 VAE + Flow Matching 스케줄러 + 효율 어텐션 + 분산 추론"의 레이어로 나뉜다. 핵심 의존성은 diffusers·transformers·flash-attn이다.

① 핵심 모델 구성요소

용어 풀이
DiT (Diffusion Transformer)
확산 모델의 노이즈 제거 신경망을 U-Net 대신 Transformer로 만든 구조. Sora 이후 영상 생성의 사실상 표준이 됐다. LongCat-Video의 본체는 longcat_video_dit.py에 있고, 13.6B 파라미터의 Dense Transformer다.
용어 풀이
Wan VAE (3D Causal VAE)
영상을 픽셀이 아니라 압축된 "잠재(latent)"로 다루기 위한 오토인코더. 코드의 autoencoder_kl_wan.py가 그것으로, 알리바바 Wan 모델 계열의 3D VAE를 차용했다. 시간×높이×너비를 함께 압축(예: 시간 4배·공간 8×8배)해 연산량을 수십 배 줄인다.
용어 풀이
UMT5-XXL (텍스트 인코더)
프롬프트(텍스트)를 모델이 이해할 임베딩으로 바꾸는 다국어 T5 인코더. README의 Acknowledgements에 google/umt5-xxl이 명시돼 있다. 다국어를 폭넓게 받아들일 수 있는 근거.
용어 풀이
Flow Matching (Euler Discrete Scheduler)
scheduling_flow_match_euler_discrete.py. 노이즈에서 데이터로 가는 "흐름"을 직접 학습하는 확산의 변종. DDPM/DDIM의 수십~수백 스텝 대신 적은 스텝으로 깨끗한 결과를 내 추론을 빠르게 한다.

② 효율화 · 분산 추론 레이어

레이어모듈 / 도구역할
희소 어텐션block_sparse_attention/ (BSA + FlashAttention 커널)고해상도에서 어텐션 비용 급감
분산 추론context_parallel/ (Ulysses 시퀀스 병렬)여러 GPU로 긴 영상 시퀀스 분할 처리
위치 인코딩rope_3d.py (3D RoPE)시간·높이·너비 3축 회전 위치 임베딩
경량화quantization.py · lora_utils.py양자화 추론 · LoRA 어댑터
프롬프트 강화utils/prompt_enhancer.py짧은 프롬프트를 LLM으로 풍부하게 확장
해상도 버킷utils/bukcet_config.py다양한 종횡비/해상도를 버킷으로 관리
오디오(아바타)audio_process/wav2vec2.py음성에서 입모양 특징 추출(Avatar 전용)

③ 프레임워크 · 의존성 (requirements.txt)

패키지버전역할
torch2.6.0 (+cu124)딥러닝 프레임워크
diffusers0.35.1확산 파이프라인/스케줄러 토대
transformers4.41.0텍스트 인코더(UMT5) 로딩
flash-attn2.7.4.post1고속 어텐션 커널 (FA2/FA3)
av · imageio-ffmpeg · opencv-python영상 디코딩/인코딩·프레임 처리
einops0.8.0텐서 차원 재배열(영상 텐서 필수)
streamlit1.50.0웹 데모 UI (run_streamlit.py)

④ 실행 진입점 (CLI)

# 가중치 다운로드
huggingface-cli download meituan-longcat/LongCat-Video --local-dir ./weights/LongCat-Video

# 텍스트 → 영상 (단일 GPU, torch.compile 켜기)
torchrun run_demo_text_to_video.py --checkpoint_dir=./weights/LongCat-Video --enable_compile

# 멀티 GPU (시퀀스 병렬 2-way)
torchrun --nproc_per_node=2 run_demo_text_to_video.py \
         --context_parallel_size=2 \
         --checkpoint_dir=./weights/LongCat-Video --enable_compile

# 장편 영상 / 인터랙티브 영상
torchrun run_demo_long_video.py        --checkpoint_dir=./weights/LongCat-Video --enable_compile
torchrun run_demo_interactive_video.py --checkpoint_dir=./weights/LongCat-Video --enable_compile

# 웹 데모(Streamlit)
streamlit run ./run_streamlit.py --server.fileWatcherType none --server.headless=false

4아키텍처 심화 분석

VAE 잠재 공간 + DiT 확산 + coarse-to-fine + Continuation

LongCat-Video는 픽셀을 직접 만들지 않는다. 영상을 Wan VAE로 압축한 잠재 공간으로 옮긴 뒤, 그 안에서 DiT가 노이즈를 걷어내며(확산) 영상을 그리고, 마지막에 VAE 디코더가 다시 픽셀로 푼다. 아래는 텍스트→영상 기준 전체 흐름이다.

┌──────────────────────────────────────────────────────────────────────┐ │ LongCat-Video 생성 파이프라인 (T2V 기준) │ └──────────────────────────────────────────────────────────────────────┘ [ 프롬프트 "비 내리는 도쿄 거리..." ] [ (선택) 첫 이미지 / 앞 영상 ] │ │ ▼ ▼ ┌───────────────────┐ ┌─────────────────────────┐ │ UMT5-XXL │ │ Wan VAE Encoder (3D) │ │ 텍스트 인코더 │ │ 영상 → 시공간 latent │ └─────────┬─────────┘ └────────────┬────────────┘ │ text embedding │ 조건 latent ▼ ▼ ╔════════════════════════════════════════════════════════════════╗ ║ DiT (13.6B Dense Transformer) ║ ║ · 3D RoPE 위치 인코딩 (시간 × 높이 × 너비) ║ ║ · Block Sparse Attention (고해상도 비용 절감) ║ ║ · Flow Matching 으로 노이즈→latent 흐름 예측 ║ ║ · coarse-to-fine: 시간축·공간축 단계적 정밀화 ║ ╚════════════════════════════════════════════════════════════════╝ │ (여러 denoise 스텝 반복) ▼ ┌───────────────────┐ │ Wan VAE Decoder │ latent → 픽셀 프레임 복원 └─────────┬─────────┘ ▼ [ 720p · 30fps 영상 ] │ ▼ Video-Continuation: 마지막 구간 latent 를 다시 조건으로 [ 다음 구간 생성 → 이어 붙여 분 단위 장편 ]

핵심 설계 패턴 ① — 잠재 공간 확산 (Latent Diffusion for Video)

720p·30fps·수십 초 영상을 픽셀 단위로 확산하면 연산이 감당 불가다. 그래서 Wan VAE로 시간·공간을 함께 압축한 잠재로 옮겨 작업량을 수십 배 줄인다. DiT는 이 작은 잠재 공간 안에서만 노이즈를 제거하고, 디코더가 마지막에 한 번 픽셀로 푼다. 이미지의 Stable Diffusion이 쓰던 "잠재 확산"을 3D(영상)로 확장한 것.

용어 풀이
3D RoPE (3차원 회전 위치 임베딩)
Transformer가 토큰의 "위치"를 알게 하는 기법(RoPE)을 영상의 세 축 — 시간(프레임)·높이·너비 — 으로 확장한 것. rope_3d.py에 구현돼 있으며, 어떤 프레임의 어느 위치인지를 모델이 인지해 시공간 일관성을 잡는다.

핵심 설계 패턴 ② — Coarse-to-fine 이중 정밀화

한 번에 고해상도·고프레임을 만들지 않는다. 먼저 거친 뼈대(적은 프레임·낮은 해상도)를 잡아 전체 움직임·구도를 정하고, 그 위에 ⒜ 시간축으로 중간 프레임을 채워 30fps로 부드럽게 만들고 ⒝ 공간축으로 해상도를 720p까지 올린다. 큰 그림을 먼저 그리고 디테일을 덧칠하는 화가의 순서와 같다. 초반에 전역 구조가 고정되니 길어져도 흔들림이 적다.

핵심 설계 패턴 ③ — Block Sparse Attention

어텐션은 모든 토큰 쌍을 보므로 토큰 수의 제곱으로 비용이 는다. 720p 영상은 토큰이 수십만 개라 치명적이다. BSA는 토큰을 블록으로 묶고 관련 없는 블록 쌍의 계산을 통째로 건너뛴다. block_sparse_attention/flash_attn_bsa_varlen_mask.py가 FlashAttention 커널 위에 가변 길이 마스크를 얹어 이를 구현한다.

비유

모든 참석자가 서로 한 명도 빠짐없이 악수하면(밀집 어텐션) 인원이 늘수록 악수 횟수가 폭증한다. BSA는 "같은 테이블(블록) 사람끼리, 그리고 의미 있는 옆 테이블끼리만 악수"하게 해 횟수를 확 줄인다. 멀리 떨어져 관계가 거의 없는 테이블끼리는 생략한다.

핵심 설계 패턴 ④ — Context Parallel (Ulysses 시퀀스 병렬)

긴 영상은 한 GPU 메모리에 다 안 들어간다. context_parallel/ulysses_wrapper.pyUlysses 방식으로 시퀀스(영상 토큰)를 여러 GPU에 쪼개 나눠 처리한다. CLI의 --context_parallel_size=2가 이 2-way 분할을 켜는 스위치다. 데이터 병렬(모델 복제)이 아니라 "한 영상을 여러 카드가 나눠 만드는" 방식이라 더 긴 영상을 빠르게 만들 수 있다.

핵심 설계 패턴 ⑤ — 다중 보상 GRPO RLHF

확산 백본을 일반 학습으로만 끝내지 않고, 사람 선호(텍스트 정합·시각 품질·움직임 자연스러움 등 여러 보상)를 동시에 반영하는 강화학습으로 다듬었다. 기법은 GRPO로, 여러 샘플을 그룹으로 비교해 상대적으로 나은 쪽을 강화한다(별도 가치망 없이). 이 덕에 작은 Dense 모델이 큰 MoE 모델급 선호 점수를 낸다.

확장 — LongCat-Video-Avatar

2025년 12월 추가된 분기. 오디오를 받아 캐릭터의 입·표정을 맞춰 말하게 한다(Audio-Text-to-Video, Audio-Image-to-Video). audio_process/wav2vec2.py가 음성에서 발화 특징을 뽑고, modules/avatar/longcat_video_dit_avatar.py의 전용 DiT가 이를 조건으로 영상을 만든다. 한 사람(single-stream)·여러 사람(multi-stream) 오디오를 모두 지원한다.

Avatar-1.5 (2026-05-21 추가): 오디오 인코더를 Wav2Vec2에서 Whisper-large-v3로 교체해 인식 정확도를 높였고, step distillation으로 추론을 8 스텝으로 단축했다. 또한 --use_int8 플래그로 INT8 양자화 추론을 지원해 메모리 부담을 줄였다. 가중치는 HuggingFace에 별도 공개(meituan-longcat/LongCat-Video-Avatar-1.5)됐으며 기존 Avatar와 독립된 모델이다.

5디렉토리 구조 해부

longcat_video 패키지 + 작업별 run 스크립트
LongCat-Video/ ├── longcat_video/ # 본체 패키지 │ ├── pipeline_longcat_video.py # ★ 메인 파이프라인 (62KB) — 전체 생성 오케스트레이션 │ ├── pipeline_longcat_video_avatar.py # 아바타(오디오 구동) 파이프라인 (72KB) │ ├── modules/ # 신경망 빌딩블록 │ │ ├── longcat_video_dit.py # ★ 핵심 DiT 백본 (13.6B) │ │ ├── autoencoder_kl_wan.py # ★ Wan 3D VAE (영상 ↔ latent, 53KB) │ │ ├── attention.py # 어텐션 레이어 │ │ ├── blocks.py # Transformer 블록 │ │ ├── rope_3d.py # 3D 회전 위치 임베딩 │ │ ├── scheduling_flow_match_euler_discrete.py # Flow Matching 스케줄러 │ │ ├── quantization.py # 양자화 추론 │ │ ├── lora_utils.py # LoRA 어댑터 로딩 │ │ └── avatar/ # 아바타 전용 모듈 │ │ ├── longcat_video_dit_avatar.py │ │ ├── attention.py · blocks.py · rope_3d.py │ ├── block_sparse_attention/ # ★ Block Sparse Attention │ │ ├── bsa_interface.py # BSA 진입 인터페이스 (25KB) │ │ ├── flash_attn_bsa_varlen_mask.py # FlashAttention 기반 희소 커널 (30KB) │ │ ├── common.py · communicate.py │ ├── context_parallel/ # ★ 멀티 GPU 시퀀스 병렬 │ │ ├── ulysses_wrapper.py # Ulysses 래퍼 │ │ └── context_parallel_util.py │ ├── audio_process/ # 아바타용 오디오 처리 │ │ ├── wav2vec2.py # 음성 → 발화 특징 │ │ └── torch_utils.py │ └── utils/ │ ├── prompt_enhancer.py # 프롬프트 LLM 강화 (15KB) │ └── bukcet_config.py # 해상도/종횡비 버킷 설정 ├── run_demo_text_to_video.py # T2V 데모 ├── run_demo_image_to_video.py # I2V 데모 ├── run_demo_video_continuation.py # 영상 이어붙이기 ├── run_demo_long_video.py # 분 단위 장편 ├── run_demo_interactive_video.py # 인터랙티브(월드 모델 맹아) ├── run_demo_avatar_single_audio_to_video.py # 1인 아바타 ├── run_demo_avatar_multi_audio_to_video.py # 다인 아바타 ├── run_streamlit.py # 웹 데모 UI (15KB) ├── requirements.txt / requirements_avatar.txt └── assets/ # 로고·예시·기술보고서 PDF

특이점 1 — "파이프라인 1개 + run 스크립트 N개"

실제 두뇌는 pipeline_longcat_video.py 하나다. T2V·I2V·Continuation·Long·Interactive 다섯 개의 run_demo_*.py는 이 같은 파이프라인을 서로 다른 입력 조건으로 호출하는 얇은 래퍼일 뿐이다. "통합 아키텍처(한 모델 = 여러 작업)"가 코드 구조에도 그대로 드러난다.

특이점 2 — 효율화 코드가 별도 디렉토리로 분리

block_sparse_attention/context_parallel/이 모델 정의(modules/)와 분리돼 있다. "무엇을 계산하나(모델)"와 "어떻게 빠르게/나눠 계산하나(시스템)"를 갈라 둔 설계. 연구자가 모델만, 시스템 엔지니어가 효율화만 따로 만지기 쉽다.

특이점 3 — 아바타는 본체를 상속해 확장

modules/avatar/pipeline_longcat_video_avatar.py가 본체 구조를 그대로 본떠(별도 attention·blocks·rope_3d) 오디오 조건만 추가한다. 코어를 갈아엎지 않고 모달리티를 얹는 확장 방식의 예시다.

6학습 포인트 (기술별)

이 레포에서 무엇을 배울 수 있는가
학습 포인트 1 — LATENT VIDEO DIFFUSION

이미지 확산이 영상으로 확장되는 길

Stable Diffusion(2D latent) → DiT(Sora 계열) → 3D VAE + DiT(영상)로 이어지는 흐름. "왜 픽셀이 아니라 잠재에서 확산하나"를 체득한다.

실습 아이디어: diffusers로 이미지 latent diffusion을 먼저 돌려보고, Wan VAE가 시간축까지 압축하는 지점을 코드에서 짚어보기.

학습 포인트 2 — FLOW MATCHING

적은 스텝으로 깨끗한 결과를 내는 확산 변종

scheduling_flow_match_euler_discrete.py를 읽고 DDPM/DDIM과의 차이를 이해. 영상처럼 무거운 도메인에서 스텝 수를 줄이는 게 왜 결정적인지.

실습 아이디어: MNIST에 Flow Matching을 10스텝으로 구현 → 같은 원리가 LongCat DiT 안에서 돈다는 것을 확인.

학습 포인트 3 — SPARSE / FLASH ATTENTION

고해상도 어텐션 비용을 꺾는 시스템 기법

FlashAttention(IO 인지 커널) 위에 Block Sparse Mask를 얹는 구조. 트랜스포머의 O(n²) 병목을 실전에서 어떻게 푸는지.

실습 아이디어: bsa_interface.py의 블록 마스크 생성을 작은 시퀀스로 시각화해 어느 블록이 생략되는지 그려보기.

학습 포인트 4 — SEQUENCE PARALLELISM

한 샘플을 여러 GPU가 나눠 만드는 법 (Ulysses)

데이터 병렬과 다른 "시퀀스 병렬"의 개념. 긴 컨텍스트/긴 영상을 다루는 현대 분산 추론의 핵심.

실습 아이디어: 2-GPU 환경에서 --context_parallel_size=2 on/off로 같은 영상의 생성 시간·VRAM을 측정·비교.

학습 포인트 5 — RLHF FOR GENERATION (GRPO)

생성 모델에 사람 선호를 주입하는 강화학습

LLM에서 온 GRPO가 영상 생성의 다중 보상(품질·정합·움직임)에 어떻게 적용되는지. "작은 모델이 큰 모델급"이 되는 비결의 한 축.

실습 아이디어: 기술 보고서(arXiv:2510.22200)의 RLHF 절을 정독하고, 보상 항목별 기여를 표로 정리.

7하드웨어·시스템 요구사항

13.6B 영상 모델을 굴리기 위한 현실적 구성
먼저 솔직하게
README는 정확한 VRAM 수치를 공개하지 않음

아래 GPU 권장은 13.6B 파라미터 + 영상(다프레임) 활성값 + FlashAttention 요구사항을 근거로 한 합리적 추정이다. 공식 최소 사양은 저장소에 명시돼 있지 않으니 참고용으로만 보자.

항목내용
모델 규모13.6B 파라미터 (Dense)
출력 사양720p · 30fps · 수 분 안 생성(고급 GPU 기준)
Python3.10 (conda 권장)
PyTorch / CUDAtorch 2.6.0 / CUDA 12.4
필수 가속flash-attn 2.7.4 (FA3·xformers로 교체 가능)
멀티 GPU--context_parallel_size=N (Ulysses 시퀀스 병렬)
속도 옵션--enable_compile (torch.compile JIT)
권장 구성
개인 실험 (가능은 함)

RTX 4090 24GB 1장 + --enable_compile. 짧은 클립/저해상도부터. 양자화(quantization.py)로 메모리 여유 확보.

권장 구성
쾌적한 단일 인스턴스

A100 40/80GB 1장. 720p·긴 영상도 한 카드에서 처리. 가장 무난한 출발점.

권장 구성
장편·고속 (시퀀스 병렬)

A100/H100 2장 이상 + --context_parallel_size=2. 분 단위 장편을 빠르게. 커뮤니티 가속(CacheDiT)로 추가 ~1.7배.

속도를 더 짜내려면

커뮤니티 프로젝트 CacheDiT가 DBCache·TaylorSeer로 LongCat-Video에 정밀도 손실 거의 없이 ~1.7배 가속을 제공한다(README의 Community Works). 또한 모델 config에서 FlashAttention-3나 xformers로 교체하면 어텐션이 더 빨라진다.

8직접 해볼 수 있는 실습 과제

난이도별 5개
EASY · 1~2시간

① T2V 베이스라인 + 프롬프트 강화 비교

가중치를 받아 run_demo_text_to_video.py로 같은 한국어/영어 프롬프트 10개를 생성한다. 그 다음 utils/prompt_enhancer.py로 강화한 프롬프트와 결과를 비교.

배우는 것: 프롬프트 디테일이 영상 품질·정합도에 미치는 영향, 그리고 LLM 기반 프롬프트 강화의 실제 효과를 눈으로 체감.

EASY · 2~3시간

② I2V로 "정지 이미지 살리기"

내 사진/일러스트 한 장을 첫 프레임으로 넣어 run_demo_image_to_video.py 실행. 같은 이미지에 서로 다른 모션 프롬프트("카메라 줌인" / "바람에 머리카락 흔들림")를 줘 비교.

배우는 것: 이미지 조건이 latent에 어떻게 들어가는지, 모션 프롬프트가 어디까지 통제 가능한지.

MID · 하루~이틀

③ 컬러 드리프트 실험 — Continuation vs 순진한 연장

run_demo_long_video.py로 1분 장편을 만든 뒤, 비교군으로 "5초 클립을 만들고 마지막 프레임을 I2V에 재입력"하는 방식으로도 1분을 만들어 본다. 두 결과의 후반부 색·인물 일관성을 프레임별로 비교.

배우는 것: Video-Continuation 네이티브 학습이 실제로 무너짐을 막는지 정량/정성 검증. 섹션 2의 주장 직접 확인.

MID · 약 1주

④ 멀티 GPU 시퀀스 병렬 벤치마크

2장 이상 GPU에서 --context_parallel_size를 1→2→4로 바꿔가며 같은 영상의 생성 시간·피크 VRAM을 측정. --enable_compile on/off도 교차.

배우는 것: Ulysses 시퀀스 병렬의 스케일링 특성과 torch.compile 워밍업 비용. 분산 추론 감각.

HARD · 2~3주

⑤ Block Sparse Attention 마스크 분석 + 인터랙티브 데모

block_sparse_attention/bsa_interface.py의 블록 마스크 생성을 계측해 "어느 블록이 생략되는지/연산 절감률"을 시각화하고, run_demo_interactive_video.py를 띄워 진행 중 조건을 바꿔가며 "월드 모델"식 상호작용을 실험.

배우는 것: 희소 어텐션의 실제 절감 메커니즘과, 영상 생성 모델이 "상호작용 가능한 세계 시뮬레이터"로 가는 길의 현주소.

9관련 기술 심화 학습 로드맵

4주 코스
WEEK 1

확산 모델의 큰 그림

DDPM(Ho 2020) → DDIM(Song 2021) → Latent Diffusion(Stable Diffusion) → Flow Matching(Lipman 2023). 마지막에 scheduling_flow_match_euler_discrete.py를 읽고 MNIST Flow Matching 구현.

WEEK 2

영상 생성 아키텍처 — DiT와 3D VAE

DiT 원논문(Peebles & Xie 2023) → Sora 기술 블로그 → Wan/CogVideoX의 3D VAE. LongCat의 longcat_video_dit.py·autoencoder_kl_wan.py를 대조하며 정독.

WEEK 3

효율화 — Flash/Sparse Attention & 시퀀스 병렬

FlashAttention(Dao 2022) → Block Sparse 변형 → DeepSpeed-Ulysses 시퀀스 병렬. 저장소의 block_sparse_attention/·context_parallel/로 실물 확인.

WEEK 4

정렬(Alignment) & 월드 모델

RLHF/GRPO를 생성 모델에 적용하는 흐름 + "영상 생성 → 월드 모델" 담론(Genie, 인터랙티브 생성). 기술 보고서(2510.22200)의 RLHF·world model 절을 정리.

10핵심 키워드 사전

한 번에 정리해두면 좋은 용어들
용어
DiT (Diffusion Transformer)확산 모델의 노이즈 제거망을 Transformer로 구현. Sora 이후 영상 생성 표준
Latent Diffusion픽셀이 아니라 VAE로 압축한 잠재 공간에서 확산을 수행해 연산을 줄이는 방식
3D VAE (Wan VAE)영상의 시간×높이×너비를 함께 압축/복원하는 오토인코더
Flow Matching노이즈→데이터 흐름을 직접 학습하는 확산 변종. 적은 스텝으로 충분
3D RoPE회전 위치 임베딩을 시간·높이·너비 3축으로 확장
Video-Continuation앞 영상을 조건으로 다음 영상을 예측. LongCat의 핵심 사전학습 과제
Color Drift (컬러 드리프트)영상을 길게 연장할수록 색·밝기가 누적 오차로 변질되는 현상
Coarse-to-fine거친 뼈대 → 세부로 단계적 생성. 시간축·공간축 양쪽에 적용
Block Sparse Attention관련 없는 토큰 블록 쌍의 어텐션 계산을 생략해 비용 절감
FlashAttentionIO를 인지해 메모리 효율적으로 어텐션을 계산하는 커널
Context/Sequence Parallel (Ulysses)한 샘플의 긴 시퀀스를 여러 GPU에 나눠 처리하는 병렬화
GRPOGroup Relative Policy Optimization. 그룹 내 상대 비교로 정책을 강화(가치망 불필요)
RLHF사람 선호(보상)를 강화학습으로 모델에 주입
Dense vs MoE모든 파라미터를 매번 쓰는 Dense / 일부 전문가만 활성화하는 MoE
MOSMean Opinion Score. 사람 평가자의 평균 점수(품질 지표)
World Model세계의 동역학을 학습해 시뮬레이션·예측하는 모델. 인터랙티브 영상 생성이 그 맹아
UMT5-XXL다국어 T5 텍스트 인코더. 프롬프트를 임베딩으로 변환
LoRA큰 모델에 작은 저랭크 어댑터만 끼워 효율적으로 미세조정
MIT License상업 사용·재배포·수정을 폭넓게 허용하는 관대한 오픈소스 라이선스

11참고 링크

더 깊이 파고들 곳

공식 자료

배경 논문 / 개념

생태계 / 커뮤니티