추천 프롬프트

Studio Ghibli style. Woman with blonde hair is walking on the beach, camera zoom out.,Studio Ghibli style. Woman dancing in the bar.,Studio Ghibli style. A young girl with short brown hair and curious eyes stands on a sunlit grassy hill, wind gently rustling her simple white dress.

추천 네거티브 프롬프트

色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走, 3D, MMD, MikuMikuDance, SFM, Source Filmmaker, Blender, Unity, Unreal, CGI, bad quality

色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走, 3D, MMD, MikuMikuDance, SFM, Source Filmmaker, Blender, Unity, Unreal, CGI, bad quality

추천 매개변수

samplers

UniPC, DPM++

steps

7 - 20

cfg

1 - 20

resolution

384x384, 768x416, 384x208

vae

wan_2.1_vae - 1.0

더 나은 2D 애니메이션 출력을 위해 UniPC 샘플러를 사용하세요.

낮은 CFG(예: CFG=1)에서 네거티브 프롬프트를 사용하려면 NAG 노드를 적용하세요.

낮은 해상도 비디오와 고해상도 이미지를 혼합한 데이터셋이 모션과 디테일 학습에 도움이 됩니다.

RTX 3090에서 OOM을 방지하려면 최대 81프레임의 16fps 비디오 클립을 사용하세요.

캡션을 재작성하지 않고 클립 조각에 재사용하면 처리 시간을 줄일 수 있습니다.

혼합 해상도 데이터셋으로 훈련하면 높은 VRAM 요구 없이 일반화 능력이 향상됩니다.

크리에이터 스폰서

OpenMuse

이 LoRA는 OpenMuse에서 소개되었으며, 공개 소스 비디오 LoRA와 이를 활용한 창작작품을 조명합니다. Wan2.1, LTX-Video, HunyuanVideo 모델에 중점을 두며, OpenMuse는 고품질 도구와 아트를 강조합니다. Banodoco 커뮤니티에서 출발해, 창작자에게 영감을 주고 AI 생성 아트에 회의적이라도 자랑스럽게 공유할 수 있는 협업 AI 아트 공간으로 성장 중입니다.

이 LoRA는 OpenMuse에서 소개되었으며, 공개 소스 비디오 LoRA와 이를 활용한 창작작품들을 조명하는 큐레이션 프로젝트입니다. Wan2.1, LTX-Video, HunyuanVideo 같은 모델에 중점을 두며, OpenMuse는 전체 생태계의 고품질 도구와 아트를 강조합니다. Banodoco 커뮤니티를 기반으로 하는 OpenMuse는 창작자에게 영감을 주고, 호기심을 불러일으키며, AI 생성 아트에 회의적인 사람과도 자랑스럽게 공유할 만한 무언가를 제공하는 성장하는 협업 AI 아트의 보금자리입니다.

설명

이달 초 Wan이 나온 이후 한 달 동안 작업한 저의 걸작 LoRA를 여러분께 소개하게 되어 매우 기쁩니다. 지금까지 제가 훈련한 LoRA 중 최고이며, 다시 한 번 말씀드리자면 WanVideo는 훌륭한 모델입니다.

이 LoRA는 RTX 3090에서 약 90시간 동안 musubi-tuner를 사용해 240개 클립과 120개 이미지의 혼합 데이터셋으로 훈련했습니다. 더 빨리 할 수도 있었지만, 최첨단 스타일 모델을 만드는 데 한계를 밀어붙이고 싶었습니다. 성공 여부는 여러분 판단에 맡깁니다.

사용법

트리거 문구는 스튜디오 지브리 스타일이며, 모든 훈련 데이터 캡션 앞에 이 문구가 붙었습니다.

갤러리에 공개하는 모든 클립은 기본 Wan-T2V-14B 모델에 LoRA를 적용한 원시 출력물이며 (최신 비디오는 일부 추론 가속을 위한 self-forcing LoRA 포함), 후처리, 업스케일, 보간 작업은 하지 않았습니다.

다른 LoRA나 Wan-I2V 모델과의 호환성은 테스트하지 않았습니다.

각 비디오에 워크플로우가 내장되어 있어 ComfyUI에 드래그 앤 드롭해 쉽게 열 수 있습니다. 예를 들어, 여기 JSON 예시Kijai의 래퍼를 기반으로 하며, self-forcing LoRA(제작자 blyss)를 사용합니다. 이는 lightx2v의 Wan2.1-T2V-14B-StepDistill-CfgDistill 모델에서 추출한 버전입니다. 제가 blyss 버전을 선택한 이유는 최대 호환성과 추론 속도 향상만 제공하며 추가 디테일링이나 스타일 편향이 없기 때문입니다. 이 때문에 기본 Wan 모델을 고수하고, AniWan이나 FusionX 같은 병합 모델을 사용하지 않습니다.

UniPC 샘플러(가끔 DPM++도 사용)와 함께 가속 LoRA를 사용하며, 제 경험상 UniPC가 2D 애니메이션에 더 적합합니다. LCM은 사실감을 추구하는 경향이 있어 피하고 싶었습니다. 보통 CFG=1의 네거티브 프롬프트를 위해 NAG 노드도 적용합니다. 초기 테스트 결과, TeaCache 기반 이전 워크플로우와 비교해 RTX 3090에서 640×480×81 6-step 클립이 약 1분 내에 렌더링 되고 모션 부드러움과 텍스트 렌더링도 약간 개선되었습니다.

최신 lightx2v LoRA 또한 속도와 품질 유지에서 인상적입니다. 저는 rank 128 LoRA를 사용하지만 32, 64 버전도 훌륭한 결과를 냅니다. 워크플로우 JSON 예시도 있습니다. strength를 0.9로 낮추고 단계 수를 8로 늘리며 UniPC나 DPMPP 스케줄러를 사용하면 매우 좋은 출력이 나옵니다.

여기는 JSON 포맷의 '레거시' 워크플로우입니다. 이 워크플로우로 갤러리 영상의 90%가 생성됐고, 여러 최적화(자세한 내용은 여기에서)를 포함해 fp8_e5m2 체크포인트, torch.compile, SageAttention 2, TeaCache, Enhance-A-Video, Fp16_fast, SLG, Zero-Star 등을 적용했습니다. 하지만 640x480x81 클립 렌더링이 약 5분 소요(RTX 3090)되는 단점이 있으며, 약간 나은 품질에도 불구하고 5배 느림 때문에 lightx2v 기반 버전으로 전환했습니다.

프롬프트 작성

대부분 프롬프트는 ChatGPT(또는 Claude, 혹은 그 외 LLM)을 활용해 아래의 메타 프롬프트를 적용해 "거친" 설명을 보완하고 다듬습니다. 이 프롬프트는 Wan 개발진의 공식 프롬프트 확장 코드를 기반으로 하며, 내용은 다음과 같습니다:

당신은 사용자 입력을 고품질 비디오 생성용 프롬프트로 다듬는 프롬프트 엔지니어입니다. 스튜디오 지브리 스타일에 맞추어, 원래 의도에 부합하면서 시각적, 동작적 세부사항을 풍부하게 표현합니다.

작업 요구 사항:
- 너무 짧은 입력은 핵심 의미를 바꾸지 않고 장면을 생생히 확장합니다.
- 등장인물의 외모, 표정, 복장, 자세, 공간 관계에 초점을 둡니다.
- 스튜디오 지브리 시각적 미학(부드러운 수채화 배경, 표현력 있으면서 단순한 캐릭터 디자인, 따뜻한 노스탤지어 분위기)을 항상 유지합니다.
- 자연스러운 애니메이션 흐름을 위해 움직임과 카메라 동작 묘사를 강화합니다. 지브리의 이야기 스타일에 맞는 부드럽고 유기적인 움직임 포함.
- 인용문이나 제목 속 원문 텍스트를 보존하되, 프롬프트는 명확하고 몰입감 있게 80-100 단어로 유지합니다.
- 모든 프롬프트는 "Studio Ghibli style."로 시작해야 하며, 다른 예술 스타일은 사용하지 않습니다.

수정된 예시 프롬프트:
"Studio Ghibli style. 짧은 갈색 머리와 호기심 어린 눈을 가진 어린 소녀가 햇빛이 비치는 풀밭 언덕에 서 있고, 바람에 흰 드레스가 부드럽게 흔들립니다. 그녀는 황금빛 하늘을 나는 새 떼를 바라보고 있으며, 맨발이 부드러운 땅에 약간 파묻혀 있습니다. 따뜻하고 노스탤지어 어린 빛이 장면을 비추며, 멀리서 나무가 흔들립니다. 산들바람이 자연의 소리를 운반합니다. 중간 샷, 약간 낮은 앵글, 느린 시네마틱 패닝으로 평화로운 움직임을 담았습니다."
"Studio Ghibli style. 석양이 비치는 작은 마을, 나무집 처마 아래 부드럽게 빛나는 등불. 파란 유카타를 입은 소년이 좁은 돌길을 달려가며, 샌달이 바닥을 두드리고 반딧불을 쫓습니다. 그의 신난 표정이 옆 강물에 반사됩니다. 따뜻한 주황색과 차가운 푸른 색이 어우러져 평화로운 여름 저녁 분위기를 풍깁니다. 부드러운 트래킹 무브로 소년의 활기찬 발걸음을 따릅니다."
"Studio Ghibli style. 아침 안개가 낀 신비한 숲, 우거진 나무가 이끼 낀 길 위로 아치형을 이룹니다. 초록 망토를 입은 소녀가 고대 사슴을 닮은 커다랗고 온화한 눈의 생명체 등 뒤에 손을 얹습니다. 햇살이 무성한 캐노피를 통과하며 가루를 비춥니다. 카메라가 천천히 확대하며 두 존재의 조용한 연결을 강조합니다. 부드러운 바람이 나뭇잎을 흔들고, 작은 빛나는 정령들이 뿌리 뒤에서 엿봅니다."

지침:
이제 프롬프트를 제공할 테니, 영어로 확장 및 다듬어 스튜디오 지브리 미학에 부합하도록 작성하세요. 지시문이라 해도 시각적이고 풍성한 완전한 프롬프트로 재작성하며, 추가 답변이나 인용 부호는 사용하지 마세요.

프롬프트: "YOUR PROMPT HERE".

YOUR PROMPT HERE를 예를 들어 어린 금발 소녀가 바닷가 산에 서서 비를 맞고 있다와 같이 바꿔 사용하세요.

부정 프롬프트는 기본 텍스트를 항상 포함하며, 특정 프롬프트에 따라 추가 단어가 붙을 수 있습니다:

색조 선명, 과노출, 정지, 세부 흐림, 자막, 스타일, 작품, 그림, 화면, 정지된, 전체 탁함, 최악의 품질, 저품질, JPEG 압축 잔여, 못생김, 결손, 여분의 손가락, 잘못 그린 손, 잘못 그린 얼굴, 기형, 훼손, 형태 기형 사지, 손가락 융합, 정지된 화면, 어지러운 배경, 세 다리, 배경에 사람 많음, 거꾸로 걷기, 3D, MMD, MikuMikuDance, SFM, Source Filmmaker, Blender, Unity, Unreal, CGI, 저품질

데이터셋

이후 섹션에서도 약간의 잡담이 포함될 것이니, 필요하면 결론만 읽으셔도 좋습니다. 하지만 누군가에게 유용한 정보가 될 수 있으니 공유합니다.

데이터셋 선정이 "가장 쉬운" 단계였습니다. 저는 이미 모든 지브리 영화의 최고 화질 영상과 씬 단위 분할본을 보유 중이며, 1920x1040 해상도와 고비트레이트의 3만 개 이상의 클립이 있습니다. 이 영상들을 사용해 언젠가 완전한 비디오 모델 미세 조정을 할 날을 기다리고 있죠.

또한 HV LoRA v0.7 학습용으로 약 300 클립을 준비했었습니다 (사실 Wan 발표 직전이었죠). 이 클립들은 65-129 프레임 범위이며 HV 비디오 학습에 최적이고 모두 24fps였습니다. Wan 용으로는 다른 프레임 범위(최대 81 프레임, 자세한 설명은 "훈련" 섹션 참조)와 16fps가 필요했습니다. 아직도 16fps 엄격 준수 여부는 확실치 않으나, HV에서 30fps 대신 24fps가 더 안정적이라 16fps로 결정했습니다.

데이터셋 처리용으로 저는 Claude, ChatGPT, DeepSeek의 도움을 받아 다수의 일회성 스크립트(간단 GUI 포함)를 제작합니다. 이 스크립트들은 영상 수동 선택, 프레임 분할, 보조 통계 출력, 클립 범위 분해, 버킷 생성 등 용도로 사용하며 공개하지는 않습니다. 누구라도 최신 LLM에 요청해 비슷한 스크립트를 쉽게 만들 수 있습니다.

모든 클립을 16fps로 변환하니 각 비디오의 프레임이 65-129에서 대략 45-88로 줄어들어, 제가 철저히 계획한 프레임 버킷 범위와 어긋났습니다. 다행히도, 영상 선택 정책이 있어서 문제 없었습니다.

우선 씬 내 급격한 전환이 없어야 했습니다. 훈련 시 프레임 버킷의 정확한 길이를 미리 알 수 없어 GPU 메모리 등을 고려해 클립을 여러 부분으로 나눌 수 있는데, 이렇게 되면 문맥이 뒤섞여 Wan의 UMT5 인코더가 혼란스러워질 수 있습니다.

또한 원본 클립의 캡션을 재활용 하고 싶어 씬 변화가 심하면 각 부분에 동일한 캡션 적용이 적합하지 않습니다. "급작스러운 문맥 전환 없음"과 "클립 자체만으로 상황 이해 가능"이라는 규칙을 지키면, 분할 후에도 캡션을 적절히 활용할 수 있습니다.

변환 후 불필요한 클립을 제외해 240개로 줄였으며, 이것이 데이터셋의 첫 번째 부분입니다.

비디오와 이미지 혼합 학습을 계획해 두 번째 부분은 120장, 768x768 해상도의 지브리 영화 스틸 이미지로 구성했습니다.

이미지를 먼저 학습하고 그 후 비디오로 미세 조정하는 방법도 있지만(예: 이 LoRA 크리에이터), 저는 한 배치 내에 모두 섞는 방식이 더 효과적이라 생각합니다(쉽게 입증할 수는 없지만). 이를 뒷받침하는 우수한 혼합 학습 LoRA도 있습니다(24 GB GPU에서 학습된 모델).

업무용 GPU 환경에서 비디오 학습을 최대화하려는 의도로, 낮은 해상도의 긴 클립과 고해상도 이미지를 혼합했습니다. 자세한 내용은 훈련 섹션에서 다룹니다.

이미지 캡션은 HV 데이터셋에서 재활용했고, Qwen2-VL-7B-Instruct라는 "만능 요령" VLM을 사용해 작성했습니다. 다음과 같은 캡션 프롬프트를 적용했습니다:

이 장면을 매우 상세하게 설명하세요. 번호 매기기나 줄 바꿈 없이 서술합니다. 중요: 출력 설명은 반드시 변경 없이 'Studio Ghibli style. '로 시작해야 하며, 이어서 상세하게 기술합니다. 설명은 1) 주요 내용 2) 환경 및 조명 3) 촬영 종류(항공, 클로즈업, 중간 샷, 롱 샷 등) 4) 장면 분위기(아늑함, 긴장감, 신비 등)를 포함해야 합니다. 템플릿: 'Studio Ghibli style. {주요 주제 행동/설명}. {환경 및 조명}. {스타일 및 기술 사양}'.

캡션 재작성 여부에 대한 고민이 있었으며, 업스트림인 HunyuanVideo 전용 구조라 Wan에는 적합하지 않을 수도 있다고 생각했으나 결국 그대로 사용했습니다. 현대 텍스트 인코더의 강력함으로 인해 큰 문제는 없을 것이라 예상합니다. Flux 등 일부 모델은 캡션 없이도 학습 가능하지만, 캡션이 있으면 보통 더 좋다는 점도 참고하세요.

비디오 캡션용으로 여러 로컬 모델을 시험했으며, 주요 후보는 다음과 같습니다:

이 중에서는 Apollo-7B를 사용했습니다. 간단한 VLM 프롬프트는 다음과 같습니다:

이 비디오를 매우 상세히 묘사하세요. 출력 설명은 반드시 변경 없이 'Studio Ghibli style. '로 시작해야 합니다.

전체 데이터셋은 모델 부록으로 포함하며, 저작권 관련 소재도 있으나 공정 이용에 해당한다고 생각합니다. 연구 및 교육 목적으로만 제공되며, 재배포나 상업적 이용은 금지됩니다.

훈련

WanVideo 학습에 고려한 트레이너 목록은 다음과 같습니다:

  • diffusion-pipe - HV 학습의 원조로 Wan 메모리 효율적 학습도 지원, 설정 중심, 서드파티 GUI 및 runpod 템플릿 존재(자세한 내용 여기여기 참조). HV에 독점 사용했으며 Windows에서는 WSL 필요.

  • Musubi Tuner - 책임감 있고 친절한 개발자가 유지, 구성 중심, 활발한 커뮤니티, 다양한 옵션 제공. 현재 Wan 학습용 선택지.

  • AI Toolkit - 최근 Wan 지원 추가, 빠르고 사용 쉬움, 구성 중심이며 전용 UI 지원(사용 안 함), 다만 14B 학습만 지원하고 캡션 불포함이라 미사용.

  • DiffSynth Studio - 아직 시험 전이며 24GB VRAM Wan 지원 여부 미확인, ModelScope 유지로 주목 중. 곧 테스트 예정.

  • finetrainers - Wan 지원 있으나 24GB GPU 미호환 추정 (현재 상태)

  • SimpleTuner - 최근 Wan 지원 획득, 아직 사용 전. 열정적이고 뛰어난 개발자에 의해 개발 중.

  • Zero-to-Wan - 1.3B 모델만 지원.

  • WanTraining - 인상적 성과를 낸 개발자 지원 프로젝트로, guidance-distilled LoRAcontrol LoRA 포함.

결국 Musubi Tuner를 사용했습니다. 참고: 제 하드웨어 사양은 i5-12600KF, RTX 3090, Windows 11, 64GB RAM 입니다. 사용한 명령어와 설정 파일은 다음과 같습니다.

  • VAE 잠재 변수 캐싱(기본 명령어):

python wan_cache_latents.py --dataset_config G:/samples/musubi-tuner/_studio_ghibli_wan14b_v01_dataset.toml --vae G:/samples/musubi-tuner/wan14b/vae/wan_2.1_vae.safetensors
  • 텍스트 인코더 임베딩 캐싱(기본):

python wan_cache_text_encoder_outputs.py --dataset_config G:/samples/musubi-tuner/_studio_ghibli_wan14b_v01_dataset.toml --t5 G:/samples/musubi-tuner/wan14b/tenc/models_t5_umt5-xxl-enc-bf16.pth --batch_size 16 
  • 학습 실행 명령:

accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 wan_train_network.py ^
    --task t2v-14B ^
    --dit G:/samples/musubi-tuner/wan14b/dit/wan2.1_t2v_14B_bf16.safetensors ^
	--vae G:/samples/musubi-tuner/wan14b/vae/wan_2.1_vae.safetensors ^
	--t5 G:/samples/musubi-tuner/wan14b/tenc/models_t5_umt5-xxl-enc-bf16.pth ^
	--sdpa ^
	--blocks_to_swap 10 ^
	--mixed_precision bf16 ^
	--fp8_base ^
	--fp8_scaled ^
	--fp8_t5 ^
	--dataset_config G:/samples/musubi-tuner/_studio_ghibli_wan14b_v01_dataset.toml ^
    --optimizer_type adamw8bit ^
	--learning_rate 5e-5 ^
	--gradient_checkpointing ^
    --max_data_loader_n_workers 2 ^
	--persistent_data_loader_workers ^
    --network_module networks.lora_wan ^
	--network_dim 32 ^
	--network_alpha 32 ^
    --timestep_sampling shift ^
	--discrete_flow_shift 3.0 ^
	--save_every_n_epochs 1 ^
	--seed 2025 ^
    --output_dir G:/samples/musubi-tuner/output ^
	--output_name studio_ghibli_wan14b_v01 ^
	--log_config ^
	--log_with tensorboard ^
	--logging_dir G:/samples/musubi-tuner/logs ^
	--sample_prompts G:/samples/musubi-tuner/_studio_ghibli_wan14b_v01_sampling.txt ^
	--save_state ^
	--max_train_epochs 50 ^
	--sample_every_n_epochs 1

참고로 dataset config 때문인지 24GB VRAM 제약으로 인해 blocks_to_swap 파라미터를 사용했습니다. 하이퍼파라미터는 대부분 기본값이며, 이전에 flow shift 값과 adaptive 최적화기의 조합으로 60시간 HV 학습을 실패한 경험이 있어 안정적인 adamw를 선택했습니다.

  • 학습 중 샘플링용 프롬프트 파일:

# prompt 1
Studio Ghibli style. 금발 여성이 해변을 걷는 장면, 카메라 줌 아웃.  --w 384 --h 384 --f 45 --d 7 --s 20

# prompt 2
Studio Ghibli style. 바에서 춤추는 여성. --w 384 --h 384 --f 45 --d 7 --s 20
  • 데이터셋 설정(가장 중요한 부분이며, 아래서 설명):

[general]
caption_extension = ".txt"
enable_bucket = true
bucket_no_upscale = true

[[datasets]]
image_directory = "H:/datasets/studio_ghibli_wan_video_v01/images/768x768"
cache_directory = "H:/datasets/studio_ghibli_wan_video_v01/images/768x768/cache"
resolution = [768, 768]
batch_size = 1
num_repeats = 1

[[datasets]]
video_directory = "H:/datasets/studio_ghibli_wan_video_v01/videos/1920x1040"
cache_directory = "H:/datasets/studio_ghibli_wan_video_v01/videos/1920x1040/cache_1"
resolution = [768, 416]
batch_size = 1
num_repeats = 1
frame_extraction = "head"
target_frames = [1, 21]

[[datasets]]
video_directory = "H:/datasets/studio_ghibli_wan_video_v01/videos/1920x1040"
cache_directory = "H:/datasets/studio_ghibli_wan_video_v01/videos/1920x1040/cache_2"
resolution = [384, 208]
batch_size = 1
num_repeats = 1
frame_extraction = "uniform"
target_frames = [45]
frame_sample = 2

데이터셋 구성은 세 부분으로 나뉩니다.

먼저 마지막 부분은 1920x1040 해상도이고, 길이 45~88 프레임인 240개 클립을 포함합니다.

RTX 3090으로 전체 해상도, 전체 길이 클립을 학습하는 것은 불가능해 최소 해상도와 길이를 찾아 OOM 오류를 방지하면서 최대한 긴 프레임 조각 사용을 목표로 했습니다. 긴 클립 조각을 통해 모션, 타이밍, 공간 패턴(머리 움직임, 옷자락 흔들림, 액체 역학 등) 학습이 가능합니다.

HV 학습에서 24GB GPU가 처리 가능한 해상도 범위 시작점은 512x512x33임을 기억하고, "uniform" 프레임 추출 방식을 적용해 최소 45프레임 이상 분할을 보장했습니다. 16fps 변환 후 최대 88프레임이며, 2개 이상 분할되는 것은 피했습니다. 45프레임(약 3초)은 공간적 스타일 흐름을 학습하기에 충분합니다.

비율 유지 및 16으로 나눌 수 있는 해상도 조합을 스크립트로 찾은 결과, [384, 208] 크기가 OOM을 피하면서 안정적으로 동작했습니다. --blocks_to_swap 10 설정도 필요했으며, 학습 속도는 약 11-12초/반복으로 감소했습니다. 해상도를 조금 더 낮추면 약 8초/반복까지도 가능했으나 추후 최적화 여지가 있습니다.

Windows에서 모니터를 GPU에 연결해 사용 중이라 약간은 성능 제한이 있으며, Linux나 모니터를 CPU 출력으로 돌리면 더 높은 해상도와 길이도 가능할 수 있습니다.

다음으로 첫 번째 부분은 120장의 768x768 고해상도 이미지입니다. 원래 1024px 급 이미지로 하려 했으나 과했다고 판단했습니다. HD 이미지와 저해상도 비디오를 같이 학습해 일반화를 돕고, 고해상도 이미지가 저해상도 클립을 보완하도록 했습니다. WAN도 이와 유사하게 영상+이미지 사전학습 방식을 채택했습니다.

두 번째 부분은 일반화에 중요하며, 세 번째 부분과 비슷한 클립에서 처음 1프레임과 21프레임만 사용하는 접근입니다. 이를 통해 시간적 스타일 모션 특징 학습을 유도하며 해상도를 [768,416]으로 중간 크기로 높였습니다.

결과적으로 다음 세 가지를 통한 "교차 일반화"를 기대했습니다:

  • 1부 고해상 이미지 (768x768)

  • 2부 중간 해상 단일 프레임 및 21프레임 클립 (768x416)

  • 3부 저해상 45프레임 클립 (384x208)

또 2부와 3부는 시작 프레임을 공유해 Wan의 I2V 시나리오에서 LoRA 활용이 용이할 것으로 보았습니다. 이렇게 GPU 한계에 맞춰 데이터를 효과적으로 활용할 수 있었고, 처음 시도한 사람은 아닙니다만 꽤 논리적이라 생각합니다.

재미있는 점은, 각 에포크가 총 1080샘플(120 이미지 + 240 단일 프레임 + 240 21프레임 클립 + 480 45프레임 클립)이어야 했으나 실제로는 1078개였고, 이는 두 클립이 45프레임 이하라는 ffprobe 명령어의 반올림 문제 때문입니다. 큰 문제는 아니어서 그대로 진행했습니다.

학습은 원활했으며, 손실 그래프는 공개하지 않겠습니다. 에포크별 손실이 너무 비슷해지면 과적합 신호로 참고합니다.

약 28000스텝까지 학습 후 며칠간 최적체크포인트를 선정했으며, 향후 에포크 중간 체크포인트도 저장할 계획입니다. 에포크 길이가 1078스텝이라 중간 체크포인트에 더 좋은 결과가 있을 수 있기 때문입니다.

검증 손실 추정 통합도 검토 중입니다(자세한 내용 여기).

간소화는 가능할지 모르지만, 다음 LoRA에서는 1부 이미지 데이터셋이 중복인지 검증할 예정입니다. 클립 첫 프레임만 별도 데이터셋으로 쓰면서 고해상도 학습도 병행할 수 있으니까요. 또한 2부가 꼭 필요한지도 확신이 없지만, WAN 자체가 192px 클립 사전학습 모델이므로 352x192x45 훈련이 효과적이라고 알려져 있습니다. 사실 저는 16fps * 5초 + 1 = 81프레임 클립 사용을 희망하나 RTX 3090에서는 블록 스왑 없이는 무리입니다.

결론

수많은 훌륭한 클립과 함께, 이번 LoRA 훈련에서 얻은 인사이트를 몇 가지 소개합니다. 이는 개인 경험과 관찰에 의한 실천법이며 엄격한 분석적 증거는 아니고, 현재 스타일 학습만 시도했습니다. 곧 컨셉 학습도 실험할 계획입니다.

  • 일반 소비자용 GPU로 Wan-14B를 비디오로 훈련할 수 있습니다. 368x192x45 정도가 좋은 출발점입니다.

  • 저해상도 비디오로 모션 중심 스타일 학습 시 고해상도 이미지를 사용해 일반화를 보완하세요.

  • 같은 데이터셋에 다양한 프레임 추출 방식을 적용하면 효과적이고 자원 활용도 극대화됩니다.

이 LoRA 관련해서 저는 r/StableDiffusion 게시물을 수없이 읽고, Banodoco Discord에서 24시간 활동하며, Civitai의 모든 WanVideo 모델에서 NSFW 클립을 포함해 댓글과 이슈를 분석했으며, musubi-tuner, diffusion-pipe, Wan2.1 등 레포를 깊게 연구했습니다. 😽

추신

이 모델은 최신 비디오 생성 시스템의 기술력을 보여주기 위한 것이며, 원저작자 권리를 침해하거나 해를 끼칠 의도가 없습니다. 오히려 본 모델에 영감을 준 아티스트들의 훌륭한 작품에 경의를 표하는 의미입니다.

이전
Hands XL + SD 1.5 + FLUX.1-dev + Pony + Illustrious - Hand XL v5.5
다음
Niji 귀여운 스타일 - v2.0 - illustrious

모델 세부사항

모델 유형

LORA

기본 모델

Wan Video 14B t2v

모델 버전

v1.0

모델 해시

dd2fe1258d

학습된 단어

Studio Ghibli style

제작자

토론

댓글을 남기려면 log in하세요.

스튜디오 지브리 🎥 Wan2.1-T2V-14B - v1.0 제작 이미지

animation 이미지

애니메 이미지

ghibli 이미지

스튜디오 지브리 이미지

스타일 이미지