Ryuko Matoi ๐ฌ Wan2.1-T2V-14B
์ธ๋ถ ์ ๋ณด
ํ์ผ ๋ค์ด๋ก๋
๋ชจ๋ธ ์ค๋ช
์ค๋ช
"๋ค ์๊ฒฌ์ ์ฐ๋ ๊ธฐ๋ค. ์๋ฌด๋ฆฌ ๋๊ตฌ๋ผ๊ณ ํด๋ ๋๋ ๋ด ๊ธธ์ ๊ฐ ๊ฒ์ด๋ค." - ๋งํ ์ด ๋ฅ์ฝ
์ฌ์ฉ๋ฒ
ํธ๋ฆฌ๊ฑฐ ๋จ์ด๋ "Ryuko-chan"์ ๋๋ค.
์ ๋ ํน์ ํ๋กฌํํธ ํ์์ ์ฌ์ฉํ์ง ์์ต๋๋ค(์์ง ์คํ ์ค์ ๋๋ค). ํ์ง๋ง ๋ณดํต ๋ชจ๋ ํ๋กฌํํธ๋ฅผ "High quality 2D art animation."๋ก ์์ํฉ๋๋ค. ์: "High quality 2d art animation. Ryuko-chan, with long red hair and a black trench coat, stands on top of a ruined skyscraper. The city burns in the distance, smoke rising into the dark sky. The wind makes her coat billow as she crosses her arms. The camera suddenly zooms in on her determined face. She smirks, tilts her head slightly, and winks."
์ถ๋ก ์๋ Kijai์ ๋ํผ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ถํํ๋ Civitai๋ ์ด ๋๊ตฌ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ํฌํ๋ก์ฐ๋ ๊ฐ ํด๋ฆฝ์ ๋ด์ฅ๋์ด ์์ต๋๋ค. ํน์ ๋ชจ๋ฅผ ์ํฉ์ ๋๋นํด JSON ํ์์ ์ํฌํ๋ก์ฐ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ ํ ๊ฐ๋ฐ ์ค์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ์ด ์ฝ๊ฐ ํผ์กํ์ง๋ง ์ ๋ฐ์ ์ผ๋ก ์์ ํ ๊ธฐ๋ฅํฉ๋๋ค.
์ ๊ฐ ๊ฒ์ํ ๋ชจ๋ ํด๋ฆฝ์ LoRA์ ์๋ณธ ์ถ๋ ฅ์ด๋ฉฐ, ์ ์ค์ผ์ผ๋ง์ด๋ ํ๋ ์ ๋ณด๊ฐ์ ์ฌ์ฉํ์ง ์์ต๋๋ค(์ด๊ฒ๋ค์ LoRA์ ์ง์ ํ ๋ฅ๋ ฅ์ ์๊ณกํฉ๋๋ค). ๋ค์ ํ๋ผ๋ฏธํฐ๋ ๋ชจ๋ ํด๋ฆฝ์์ ์ผ๊ด๋๊ฒ ์ฌ์ฉ๋ฉ๋๋ค:
Sampler: unipc
Steps: 20
Cfg: 6
Shift: 7
์ ์ํฌํ๋ก์ฐ๋ฅผ ํ์ธํ๋ฉด, Wan2.1์ด ์ถ์๋ ์ดํ ๋์ ๋ ๊ฐ๋ฅํ ๋ชจ๋ ์ต์ ํ ๊ธฐ์ ์ ์ฌ์ฉํ๊ณ ์์์ ์ ์ ์์ต๋๋ค. ์ ๋ ์ด ๊ธฐ์ ๋ค์ด ์๋น์์ฉ GPU์์ Kling ์์ค์ ๋น๋์ค ๋ชจ๋ธ์ ๋ง์กฑ์ค๋ฌ์ด ์๋๋ก, (๊ฑฐ์) ํ์ง์ ํฌ์ํ์ง ์๊ณ ์คํํ ์ ์๋๋ก ํด์ค ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ฐ ML ์์ง๋์ด๋ค(Comfyanonymous, Kijai, TeaCache ํ ๋ฐ ๊ธฐํ ๋ง์ ๋ถ๋ค)์๊ฒ ๊ฐ์ฌ๋ฅผ ํํ๊ณ ์ถ์ต๋๋ค.
์ฒ์์๋ "์์ํ" FP8 + SDPA๋ก ์์ํ๊ณ , ์๋๋ ๊ฐ ์ต์ ํ ๊ธฐ์ ์ ์ ์ฉํ์ ๋ ์ป์ ์๋ ํฅ์์ ๋๋ค.
์ฐธ๊ณ ๋ก, ์ ํ๊ฒฝ์ RTX 3090, 64GB RAM, Win 11, Python 3.11.6, Torch 2.7.0.dev20250311+cu126, Sage Attention 2.1.1, Triton 3.2.0, NVidia ๋๋ผ์ด๋ฒ 572.16, ComfyUI portable v0.3.26์ ๋๋ค.
์๋์ ์ธ๊ธํ ์๊ฐ์ ๊ฐค๋ฌ๋ฆฌ์ ํ์ํ๋ ํด๋ฆฝ ๋ ๋๋ง ์๊ฐ์ด ์๋๋๋ค. ๋๋ถ๋ถ 640x480x81์ด๋ฉฐ, ์ด๋ ์ด ์๊ฐ์ ์ฝ 2๋ถ์ ์ถ๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ์๊ด์์ต๋๋ค. ๋ณดํต ํ ๋ฒ์ 50~60๊ฐ์ ํ๋กฌํํธ๋ฅผ ์คํํ๊ณ ๋ช ์๊ฐ ํ์ ๊ฒฐ๊ณผ๋ฅผ ์์งํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฌ๋ ์ ์๊ฒ ๊ฐ์ฅ ์ค์ํ ์๊ฐ์ Wan-14B T2V๋ฅผ ํ ์คํธํ๊ณ ๋ค๋ฅธ LoRA ๋ฒ์ ์ ๋น๊ตํ ๋์ ์๊ฐ์ ๋๋ค. ์ด ๋จ๊ณ์์๋ 512x512x65 ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํ ์คํธ ํด๋ฆฝ์ 99%๋ ์์ฑ ์งํ ํด๋๋ก ์ด๋๋์ง๋ง, LoRA ํ์ง์ ๋ช ํํ๊ฒ ํ๊ฐํ ์ ์์ผ๋ฏ๋ก ํ ์คํธ ์๊ฐ ์ถ๋ก ์ ๊ฐ๋ฅํ ํ ๋น ๋ฅด๊ฒ ํด์ผ ํฉ๋๋ค.
512x512x65 ํด๋ฆฝ, 20์คํ , UniPC ์ํ๋ฌ ๊ธฐ์ค:
(DiT ์ถ๋ก ๋จ๊ณ๋ง ๊ณ ๋ คํฉ๋๋ค. ์ต์ ํ๋ UMT5๋ฅผ ํตํ ํ๋กฌํํธ ์ธ์ฝ๋ฉ ๋๋ VAE๋ฅผ ํตํ ๋ ์ดํดํธ ๋์ฝ๋ฉ ์๊ฐ์๋ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ, ์ด ์๊ฐ์ 2~3์ด๋ก ๋ฌด์ํ ์ ์์ต๋๋ค.)
fp8_e4m3fn + sdpa -> 09:24 (28.24s/it)
fp8_e4m3fn + sageattention 2 -> 06:53 (20.70s/it) +36% (1.36x)
fp8_e52m + torch.compile + sageattention 2 -> 06:21 (19.08s/it) +48% (1.48x)
fp8_e52m + torch.compile + sageattention 2 + teacache (0.250/6) -> 04:29 (13.50s/it) +109% (2.09x)
fp8_e52m + torch.compile + sageattention 2 + teacache + fp16_fast -> 03:23 (10.19s/it) +177% (2.77x)
๋ฐ๋ผ์ ํ์ง ์์ค์ ์ต์ํ์ด๋ฉฐ, ๊ฑฐ์ 3๋ฐฐ ์๋ ํฅ์์ ๋ฌ์ฑํ์ต๋๋ค(์ ์ฌ์ฉ ์ฌ๋ก ๊ธฐ์ค; ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ๋ ๋ค๋ฅผ ์ ์์ต๋๋ค). ๋์ผํ ์๋๋ก TeaCache/Sage Attention 2๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋๋งํ ํด๋ฆฝ๊ณผ ์ฌ์ฉํ์ง ์์ ํด๋ฆฝ์ ๋น๊ตํด ๋ณด์์ผ๋, ํ์ง ์ ํ๋ฅผ ๋ช ํํ ํ์ธํ์ง ๋ชปํ์ต๋๋ค. ๋งค์ฐ ๋ณต์กํ ํ๋กฌํํธ์์ ์์ง์์ด ๋ง์ ๊ฒฝ์ฐ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์์ ์ ์์ง๋ง, ์ฌ์ง์ด '์๋ณธ' ๋ชจ๋์์๋ ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ค์์ ๊ฒช๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐธ๊ณ ๋ก, ์ ๋ Enhance-A-Video์ SLG(๋ ์ด์ด 9, 0.2-0.8)๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉํฉ๋๋ค. ์ด๋ค์ ํด๋ฆฝ์ ํ์ง์ ํฅ์์ํค๊ณ ์์ง์ ์ํฐํฉํธ๋ฅผ ์ํํ๋ ๋ฐ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
์๋ ํฅ์์ HV์์ Wan์ผ๋ก ์ ํํ๋ ๋ฐ ๊ฒฐ์ ์ ์ธ ์์ธ ์ค ํ๋์์ต๋๋ค. Wan์ ๋ ๋์ ํ์ง์ ์ ๊ณตํ์ง๋ง, ์ ๋ HV์์์ ๋น ๋ฅธ ๋ ๋๋ง์ ์ต์ํ๊ธฐ ๋๋ฌธ์ Wan์์๋ ์ ์ฌํ ์๋๋ฅผ ์ป์ ์ ์์๋ ๊ฒ์ด ์ ํ์ ๊ฐ์น ์๊ฒ ๋ง๋ค์์ต๋๋ค.
ํ์ต
215์ฅ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ต๋๋ค(๋๋ถ๋ถ์ ใํฌ ๋ผ ํฌใ ์ ์ฒด 25ํ์์ 18,461๊ฐ์ ์คํฌ๋ฆฐ์บก์ ์๋์ผ๋ก ์ ๋ณํ ํ, ๊ณต์ ์ํธ์ํฌ ๋ช ์ฅ์ ์ถ๊ฐํ์ต๋๋ค). ์ด ์ด๋ฏธ์ง๋ค์ THUDM/cogvlm2-llama3-chat-19B๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ํ๋กฌํํธ๋ก ์บก์ ์ฒ๋ฆฌํ์ต๋๋ค:
"์ด ์์ ์ํ์ ์์ธํ ์ค๋ช ํ์ธ์. ์๊ฐ์ ์คํ์ผ, ๋ฐฐ๊ฒฝ, ๋ถ์๊ธฐ, ์์ ์ ๊ธฐ๋ฒ์ ์ง์คํ์ธ์. ์ด๋์ด ๋จธ๋ฆฌ์นด๋ฝ์ ๊ฐ์ง ์ฌ์ฑ ์บ๋ฆญํฐ๊ฐ ๋ฑ์ฅํ ๊ฒฝ์ฐ, ๊ทธ๋ ๋ฅผ 'Ryuko-chan'์ด๋ผ ๋ถ๋ฅด์ธ์. ๊ทธ๋ ์ ์ท, ์ก์ธ์๋ฆฌ, ์์ธ๋ฅผ ์ธ๊ธํ๋, ์ผ๊ตด ํน์ง, ์ ์ฒด ๋น์จ, ์ ์ฒด์ ์์ฑ์ ๋ฌ์ฌํ์ง ๋ง์ธ์. ๊ตฌ์ฒด์ ์ธ ์์ ์คํ์ผ ์ฉ์ด(์: ์ ์ ฐ์ด๋ฉ, ํ์ธํ ์คํ์ผ, ์์ฑํ, ๋์งํธ ์ผ๋ฌ์คํธ)์ ๋ฏธํ์ ์ ์ํ๋ ์๊ฐ์ ์์๋ฅผ ํฌํจํ์ธ์. ์กฐ๋ช , ์์ ํ๋ ํธ, ๊ตฌ์ฑ, ์ฃผ์ ์์ ์ ์ํฅ๋ ์ค๋ช ํ์ธ์."
์ด ๋ฐฉ๋ฒ์ ๋ชฉ์ ์ ๋ฅ์ฝ์ ์ท๊ณผ ๋จธ๋ฆฌ์นด๋ฝ ์์ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝํ๋ฉด์๋, ๊ทธ๋ ์ ์ธ๋ชจ(์ผ๊ตด, ์ ์ฒด ๋ฑ)์ ๋ค๋ฅธ ๋ชจ๋ ์ธก๋ฉด์ ์๋๋๋ก ์ ์งํ๊ณ ์ธ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ด์์ต๋๋ค. ์ด๋ ์ค์ ๋ก ํจ๊ณผ๊ฐ ์์๊ณ , WanVideo๋ ๋งค์ฐ ๋ฐ์ด๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋์์ต๋๋ค(์ ๊ฐ ๊ฒ์ํ ์์๋ฅผ ๋ณด๋ฉด ์ ์ ์์ ๊ฒ์ ๋๋ค). ๋ถํํ๋, ํฑ๋ ๋ชจ์์ ๋๊ณต์ ํ์ต๋์ง ์์์ผ๋ฉฐ, ์ด๋ ๋ฐ์ดํฐ์ ์ ๊ทผ์ ์ดฌ์์ด ์ถฉ๋ถํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Ryuko ์ธ์๋ ์ด๋ฆ์ผ๋ก ์บก์ ํ์ง ์์๊ธฐ ๋๋ฌธ์, ๋ชจ๋ธ์ Senketsu์ ๊ฐ์ ์นผ๋ ์ ์๊ฐ์ ํน์ง์ ํ์ตํ์ ์ ์์ง๋ง, ์ด๋ฅผ ๋ช ์์ ์ผ๋ก ํธ์ถํ๋ฉด ์๋ํ์ง ์์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค(์์ง ์ถฉ๋ถํ ํ ์คํธํ์ง ์์์ต๋๋ค). ๊ทธ๋ฌ๋ ์ด๋ ์๋์ ์ธ ๊ฒ์ด์๊ณ , ๋ชจ๋ธ์๊ฒ ๋ฅ์ฝ์ ๊ทธ๋ ์ ์ ์ฒด์ ์ธ๋ชจ์ ๋ํด์๋ง ๊ฐ๋ฅด์น๋ ค ํ์ต๋๋ค.
์ท๊ณผ ๋จธ๋ฆฌ์นด๋ฝ ์์ ๋ช ์์ ์ผ๋ก ์ค๋ช ํ์ง ์์ผ๋ฉด, ๋๋ถ๋ถ ๋ฅ์ฝ์ ์๋ ๋ณต์ฅ์ผ๋ก ๊ธฐ๋ณธ ์ค์ ๋ฉ๋๋ค. ์ผ์ ์ฅ๋ฉด์์๋ ์ ๊ท ๊ต๋ณต์, ์ ํฌ ๋ฐ ๊ฐ๋ ฌํ ์ฅ๋ฉด์์๋ ์ฃผ๋ก Senketsu๋ฅผ ์ ํธํฉ๋๋ค.
(์ฒ์์๋ ์บ๋ฆญํฐ ์ ์ฉ LoRA๋ฅผ ๋ง๋ค๊ณ ์ถ์์ผ๋ฉฐ, ์ด๋ก์จ ๋ฅ์ฝ๋ฅผ ์ฌ์ค์ ์ผ๋ก๋ ๊ทธ๋ฆด ์ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ์ ํธํฅ์ด ๋๋ฌด ๊ฐํ๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ์๋ฆฌ์ฆ์ ์คํ์ผ๋ก๋ง ๋ ๋๋งํ ์ ์์์ผ๋ฉฐ, ์ด๋ ๊ฒฐ์ฝ ๋์ ๊ฒฐ๊ณผ๋ ์๋๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์บ๋ฆญํฐ/์คํ์ผ ํผํฉ LoRA๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ด ๋ ์ ํํ ์ ์์ต๋๋ค.)
์ฒซ ๋ฒ์งธ ๋ฒ์ ์ LoRA๋ diffusion-pipe๋ฅผ ์ฌ์ฉํด 1.3B ๋ชจ๋ธ๋ก ํ์ตํ์ง๋ง, ๊ฒฐ๊ณผ๊ฐ ๋ง์์ ๋ค์ง ์์์ต๋๋ค. 1.3B ๋ชจ๋ธ(์ ์๊ฒฌ์ผ๋ก๋)์ ํ์ง ๋ฉด์์ HV์ ๊ฒฝ์ํ๊ธฐ์ ๋๋ฌด ์์ต๋๋ค(์ ์ผํ ์ฅ์ ์ ์๋์ ์์ ์๊ตฌ๋์ ๋๋ค). ๋ ๋ฒ์งธ ๋ฒ์ ์ ai-toolkit์ ์ฌ์ฉํด ํ์ตํ์ง๋ง, ๊ธฐ๋ํ๋ ๋งํผ ์ข์ง ์์์ต๋๋ค(์ด๋ ai-toolkit์ด ์บก์ ํ์ต์ ์์ง ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋จํฉ๋๋ค).
๋ง์ง๋ง์ผ๋ก, ํ์ฌ(์ฑ๊ณต์ ์ธ) ๋ฒ์ ์ musubi-tuner๋ฅผ ์ฌ์ฉํด 14B ๋ชจ๋ธ๋ก ํ์ตํ์ต๋๋ค. ์๋๋ ์ ๊ฐ ์ฌ์ฉํ ๋ช ๋ น์ด์ ๋๋ค(์ ๋ ์ผ๋ฐ์ ์ผ๋ก musubi-tuner ํ์ดํ๋ผ์ธ์ ์คํํ๊ธฐ ์ํด .bat ํ์ผ์ ๋ง๋๋ฏ๋ก, ํ์ต ๋ช ๋ น์ ํ์์ด ๊ทธ์ ๊ฐ์ต๋๋ค). ๊ฐ๋ตํ ์ค๋ช ํ๋ฉด, ๋๋ถ๋ถ์ ์ค์ํ ํ๋ผ๋ฏธํฐ๋ ๊ธฐ๋ณธ๊ฐ๊ณผ ๋์ผํ๋ฉฐ, ํ์ต๋ฅ ๋ง 7e-5๋ก ๋ณ๊ฒฝํ์ต๋๋ค. 40์ํญ(17,630์คํ , 1์ํญ๋น 430์คํ ) ๋์ ํ์ตํ๊ณ , 3์ผ๊ฐ์ ํ ์คํธ ํ ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ์ฒดํฌํฌ์ธํธ๋ฅผ 15,050์คํ ์ผ๋ก ์ ํํ์ต๋๋ค. ๋ชจ๋ธ์ด ๊ณ์ ๊ฐ์ ๋๊ณ ์์๊ณ , ํ์ต ์์ค์ ์ถ์ด๊ฐ ๊ธ์ ์ ์ด์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์คํ ์ผ๋ก ํ์ตํ ์๋ ์์์ ๊ฒ์ ๋๋ค.
- cache_latents (vae):
python wan_cache_latents.py --dataset_config G:/samples/musubi-tuner/_ryuko_matoi_wan14b_config.toml --vae G:/samples/musubi-tuner/wan14b/vae/wan_2.1_vae.safetensors
- cache_prompts (t_enc):
python wan_cache_text_encoder_outputs.py --dataset_config G:/samples/musubi-tuner/_ryuko_matoi_wan14b_config.toml --t5 G:/samples/musubi-tuner/wan14b/tenc/models_t5_umt5-xxl-enc-bf16.pth --batch_size 16
- ๋ฐ์ดํฐ์ ๊ตฌ์ฑ ํ์ผ (์๋์ผ๋ก ์์ฑํ์ง ์์๊ณ , ์ด๋ฏธ์ง ํด๋๋ฅผ ์ค์บํ์ฌ ๊ฐ ์ด๋ฏธ์ง์ ์ต๋ ์ฐจ์์ด 720px๋ฅผ ๋์ง ์๋๋ก ๋น์จ์ ์ ์งํ๋ฉฐ 16์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ํฌ๊ธฐ๋ก ์ค์ผ์ผ๋งํ๋ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ์ต๋๋ค. ์ค์ ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ฆฌ์ฌ์ด์งํ์ง ์๊ณ , musubi-tuner์ ๋ฒํท ๋ฉ์ปค๋์ฆ์ ์ํด ์ฌ์ ์ค๋น๋ง ์ํํ ํ, ๊ฐ์ ํฌ๊ธฐ์ ์ด๋ฏธ์ง๋ฅผ ํ์ ํด๋๋ก ๊ทธ๋ฃนํํ๊ณ musubi-tuner์ฉ ๋ฉํ๋ฐ์ดํฐ YAML ํ์ผ์ ์์ฑํ์ต๋๋ค):
[general]
caption_extension = ".txt"
batch_size = 1
enable_bucket = true
bucket_no_upscale = false
[[datasets]]
resolution = [528, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1057x1516x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1057x1516x1/cache"
num_repeats = 2
[[datasets]]
resolution = [768, 432]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1280x720x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1280x720x1/cache"
num_repeats = 2
[[datasets]]
resolution = [592, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1600x2033x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1600x2033x1/cache"
num_repeats = 2
[[datasets]]
resolution = [400, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1727x3264x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1727x3264x1/cache"
num_repeats = 2
[[datasets]]
resolution = [720, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1917x2002x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1917x2002x1/cache"
num_repeats = 2
[[datasets]]
resolution = [768, 432]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1920x1080x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1920x1080x1/cache"
num_repeats = 2
[[datasets]]
resolution = [736, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1920x1963x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1920x1963x1/cache"
num_repeats = 2
[[datasets]]
resolution = [480, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/1920x3038x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/1920x3038x1/cache"
num_repeats = 2
[[datasets]]
resolution = [768, 576]
image_directory = "H:/datasets/ryuko_matoi_wan_video/2363x1813x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/2363x1813x1/cache"
num_repeats = 2
[[datasets]]
resolution = [768, 624]
image_directory = "H:/datasets/ryuko_matoi_wan_video/3877x3208x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/3877x3208x1/cache"
num_repeats = 2
[[datasets]]
resolution = [640, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/690x820x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/690x820x1/cache"
num_repeats = 2
[[datasets]]
resolution = [576, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/690x920x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/690x920x1/cache"
num_repeats = 2
[[datasets]]
resolution = [512, 768]
image_directory = "H:/datasets/ryuko_matoi_wan_video/800x1195x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/800x1195x1/cache"
num_repeats = 2
[[datasets]]
resolution = [768, 496]
image_directory = "H:/datasets/ryuko_matoi_wan_video/935x608x1"
cache_directory = "H:/datasets/ryuko_matoi_wan_video/935x608x1/cache"
num_repeats = 2
- ์ํ๋ง ํ์ผ:
# prompt 1
Ryuko-chan with blonde hair is walking on the beach, camera zoom out. --w 384 --h 384 --f 45 --d 7 --s 20
# prompt 2
Ryuko-chan dancing in the bar. --w 384 --h 384 --f 45 --d 7 --s 20
- ํ์ต ๋ช ๋ น:
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 ^
--dataset_config G:/samples/musubi-tuner/_ryuko_matoi_wan14b_config.toml ^
--sdpa ^
--mixed_precision bf16 ^
--fp8_base ^
--fp8_t5 ^
--optimizer_type adamw8bit ^
--learning_rate 7e-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 ^
--max_train_epochs 50 ^
--save_every_n_epochs 1 ^
--seed 42 ^
--output_dir G:/samples/musubi-tuner/output ^
--output_name ryuko_matoi_wan14b ^
--log_config ^
--log_with tensorboard ^
--logging_dir G:/samples/musubi-tuner/logs ^
--sample_prompts G:/samples/musubi-tuner/_ryuko_matoi_wan14b_sampling.txt ^
--save_state ^
--sample_every_n_epochs 1
ํ์ต ์ค ์๋๋ ์ฝ 4์ด/์คํ
์ด๋ฉฐ, VRAM ์ฌ์ฉ๋์ ์ฝ 21GB์์ต๋๋ค. --fp8_base ๋ฐ --fp8_t5 ํ๋๊ทธ ์ธ์๋ ํน๋ณํ ์ต์ ํ๋ฅผ ์ ์ฉํ์ง ์์์ต๋๋ค.
๋ค๋ฅธ LoRA๋ค๊ณผ์ ํธํ์ฑ ํ ์คํธ๋ ์ํํ์ง ์์๊ณ , ํฅํ ๊ณํ๋ ์์ต๋๋ค.
๋ํ, I2V ๋ชจ๋ธ๊ณผ์ ํ ์คํธ๋ ํ์ง ์์์ต๋๋ค(์ค์ ๋ก ์์ง ๋ค์ด๋ก๋์กฐ์ฐจ ํ์ง ์์์ต๋๋ค).
(๊ทธ๋ฆฌ๊ณ , ์ ๋ LoRA์ ํจ๊ป ๋ฐ์ดํฐ์ ๋ ๊ณต๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํน๋ณํ ์ฃผ๋ชฉํ ๋งํ ๋ด์ฉ์ ์์ต๋๋ค.)
๊ฒฐ๋ก
์ด๊ฒ์ ์ ๊ฐ Wan Video 2.1-T2V 14B๋ฅผ ์ํ ์ฒซ ๋ฒ์งธ(์ฑ๊ณต์ ์ธ) LoRA์ ๋๋ค. ์ด ๋ชจ๋ธ์ ๋ํด ๋งค์ฐ ํฅ๋ถ๋๊ณ ์์ต๋๋ค. ํ์ตํ๋ ๊ณผ์ ์ด ์ฆ๊ฑฐ์ ์ผ๋ฉฐ, ์ ํ์ฌ์ ์ ํ๋ ๊ฒฝํ์ ๊ธฐ์ค์ผ๋ก ๋ณผ ๋, ์ด ๋ชจ๋ธ์ ๊ฐ๋ ๊ณผ ์คํ์ผ์ ๋ฐ์ด๋๊ฒ ์ดํดํ๊ณ ์์ต๋๋ค. ๊ณํํ ๋ชจ๋ LoRA๋ฅผ ํ์ตํ๋ ๊ฒ์ด ๊ธฐ๋ค๋ ค์ง์ง ์์ต๋๋ค! ์ง๊ธ๊น์ง ์ ๋ ์คํ์ผ์ ์ํ ์์ฑํ AI ๋ชจ๋ธ๋ง ํ์ตํด์์ง๋ง, ์ด์ ์คํ์ผ๋ฟ ์๋๋ผ VFX, ๊ฐ๋ , ์์ง์ ๋ฑ๋ ํ์ตํ๋ ๋ฐ ๋งค์ฐ ์ด์ ์ ์ด๊ฒ ๋์์ต๋๋ค.
์ด LoRA์ ๋์์์, ์๋ฒฝํ๋ค๊ณ ๋ ๋งํ ์ ์์ง๋ง, ์ ๊ฐ ์์ฑํ 3๊ฐ์ ํด๋ฆฝ ์ค 1๊ฐ๋ ์ฑ๊ณต์ ์ ๋๋ค(์ฆ, ํ๋กฌํํธ๋ฅผ ์ค์ํ๊ณ ๋ถ์ ์ ์ธ ์ํฐํฉํธ๊ฐ ์์ต๋๋ค). ์ด๋ ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค. ์ด ์ฑ๊ณผ๋ ๋ชจ๋ธ ์์ฒด์ ๊ธฐ์ธํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ๊ฐ LoRA๋ฅผ ์ด๋ฏธ์ง๋ง์ผ๋ก ํ์ต์์ผฐ์ง๋ง(ํฅํ LoRA์์๋ ๋น๋์ค ํด๋ฆฝ๋ ์ฌ์ฉํ ์์ ์ ๋๋ค), ์ด ๋ชจ๋ธ์ ์์ ์๋ฆฌ์ฆ์ ์ ๋๋ฉ์ด์ ๊ธฐ๋ฒ๊ณผ ์๊ฐ์ ํน์ง์ ๋ง์ด ํ์ต(๋๋ ์ถ๋ก )ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ์ธ ์ฅ๋ฉด์์์ ๊ณผ๋ํ(ํญ์ ์ ์ ํ์ง๋ ์์ xD) ๋ ์ฆ ํ๋ ์ด ์ฌ์ฉ, ๊ณผ์ฅ๋ ์ผ๊ตด ์ ๋๋ฉ์ด์ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
๋ํ ์ด ๋ชจ๋ธ์ ๋ค์ํ ๋ฐ์ดํฐ์ (์ต์ 100์ฅ ์ด์์ ์ด๋ฏธ์ง)๊ณผ ๋ฎ์ ํ์ต๋ฅ (1e-4๋ ๋๋ฌด ๋์)์ ํํ์ ๋ฐ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค์ LoRA์์๋ ํ์ต๋ฅ ์ 5e-5 ์ดํ๋ก ์ค์ ํ ์์ ์ ๋๋ค. ๋ ๋ง์ ์คํ ์ด ํ์ํ ์ ์์ง๋ง, ์ด ๊ฒฝ์ฐ ๊ณผ์ ํฉ ์์ด ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๋ ์ ํ์ตํฉ๋๋ค.




















