본문 바로가기

AI Insights & Innovations

최신 인공지능 기술과 트렌드를 탐색하는 전문 블로그

영상생성AI/WAN2.2

Wan2.2 Multi-GPU 구동 매뉴얼: 대형 비디오 생성 모델 최적화 가이드

by dma-ai 2025. 8. 5.
728x90

Wan2.2 Multi-GPU 구동 매뉴얼: 대형 비디오 생성 모델 최적화 가이드

1. 사전 준비 사항

  • 다중 GPU를 사용할 수 있는 환경 (예: 4개 이상의 NVIDIA GPU)
  • CUDA 및 NVIDIA 드라이버 정상 설치 완료
  • Python 3.8 이상, PyTorch 2.4 이상 설치
  • Git, huggingface-cli 등 필수 도구 설치

설치 명령 예시:

 
bash
git clone https://github.com/Wan-Video/Wan2.2.git cd Wan2.2 pip install -r requirements.txt

필요 모델 다운로드:

 
bash
huggingface-cli download Wan-AI/Wan2.2-T2V-A14B --local-dir ./Wan2.2-T2V-A14B

2. Multi-GPU 실행 기본 명령어

아래 명령어는 텍스트-비디오(Text-to-Video) 작업 시 8개의 GPU를 활용하는 예시입니다.

 
bash
torchrun --nproc_per_node=8 generate.py \ --task t2v-A14B \ --size 1280*720 \ --ckpt_dir ./Wan2.2-T2V-A14B \ --dit_fsdp --t5_fsdp --ulysses_size 8 \ --prompt "원하는 비디오 프롬프트 입력"
  • --nproc_per_node : 사용할 GPU 개수 설정
  • --dit_fsdp, --t5_fsdp : FSDP(Fully Sharded Data Parallel) 사용 옵션, 메모리 효율성 향상
  • --ulysses_size : Ulysses 분산 전략에 따른 GPU 수 지정 (실제 GPU 수와 동일하게 설정)

4개 GPU 사용 시 명령어는 --nproc_per_node=4 --ulysses_size 4로 변경하면 됩니다.

3. 다양한 태스크별 실행 예시

태스크실행 예시
텍스트-비디오 (T2V) bash torchrun --nproc_per_node=8 generate.py --task t2v-A14B --size 1280*720 --ckpt_dir ./Wan2.2-T2V-A14B --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "..."
이미지-비디오 (I2V) bash torchrun --nproc_per_node=8 generate.py --task i2v-A14B --size 1280*720 --ckpt_dir ./Wan2.2-I2V-A14B --image /경로/입력.jpg --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "..."
텍스트-이미지-비디오 (TI2V) bash torchrun --nproc_per_node=8 generate.py --task ti2v-5B --size 1280*704 --ckpt_dir ./Wan2.2-TI2V-5B --image /경로/입력.jpg --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "..."
 

4. 프롬프트 자동 확장 옵션

프롬프트 자동 확장 기능을 사용하면 보다 상세하고 풍부한 프롬프트 생성이 가능합니다.

  • Dashscope API 방식 (API 키 필요)
 
bash
DASH_API_KEY=your_key torchrun --nproc_per_node=8 generate.py --task t2v-A14B ... --use_prompt_extend --prompt_extend_method 'dashscope'
  • 로컬 Qwen 모델 방식
 
bash
torchrun --nproc_per_node=8 generate.py --task t2v-A14B ... --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_model 'Qwen/Qwen2.5-7B-Instruct'

5. 실행 시 주의사항 및 팁

  • GPU 수에 맞춰 --nproc_per_node와 --ulysses_size를 동일하게 설정해야 합니다.
  • 메모리 부족 (OOM) 시 --offload_model True --convert_model_dtype --t5_cpu 옵션을 추가해 모델 일부를 CPU로 오프로딩할 수 있습니다.
  • FlashAttention 등 속도 향상 관련 패키지 설치를 권장합니다.
  • 멀티노드 환경에서는 NCCL 환경변수 및 --master_port 옵션도 신경써야 안정적 분산처리가 가능합니다.
  • ComfyUI 등 GUI 환경에서는 GPU 분할 기능이 제한적일 수 있으므로 CLI 실행 방식을 우선 권장합니다.

 

728x90