Ace-Step-Munk / docs /ko /GRADIO_GUIDE.md
OnyxMunk's picture
Add LoRA training assets: scripts, docs (no binaries), ui, my_dataset
bc9c638
# ACE-Step Gradio ๋ฐ๋ชจ ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ
**์–ธ์–ด / Language / ่ฏญ่จ€ / ่จ€่ชž:** [English](../en/GRADIO_GUIDE.md) | [ํ•œ๊ตญ์–ด](GRADIO_GUIDE.md) | [ไธญๆ–‡](../zh/GRADIO_GUIDE.md) | [ๆ—ฅๆœฌ่ชž](../ja/GRADIO_GUIDE.md)
---
์ด ๊ฐ€์ด๋“œ๋Š” ACE-Step Gradio ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์Œ์•… ์ƒ์„ฑ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชจ๋“  ๊ธฐ๋Šฅ๊ณผ ์„ค์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
## ๋ชฉ์ฐจ
- [์‹œ์ž‘ํ•˜๊ธฐ](#์‹œ์ž‘ํ•˜๊ธฐ)
- [์„œ๋น„์Šค ์„ค์ •](#์„œ๋น„์Šค-์„ค์ •)
- [์ƒ์„ฑ ๋ชจ๋“œ](#์ƒ์„ฑ-๋ชจ๋“œ)
- [์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ](#์ž…๋ ฅ-ํŒŒ๋ผ๋ฏธํ„ฐ)
- [๊ณ ๊ธ‰ ์„ค์ •](#๊ณ ๊ธ‰-์„ค์ •)
- [๊ฒฐ๊ณผ ์„น์…˜](#๊ฒฐ๊ณผ-์„น์…˜)
- [LoRA ํ•™์Šต](#lora-ํ•™์Šต)
- [ํŒ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€](#ํŒ๊ณผ-๋ชจ๋ฒ”-์‚ฌ๋ก€)
---
## ์‹œ์ž‘ํ•˜๊ธฐ
### ๋ฐ๋ชจ ์‹คํ–‰
```bash
# ๊ธฐ๋ณธ ์‹คํ–‰
python app.py
# ์‚ฌ์ „ ์ดˆ๊ธฐํ™” ํฌํ•จ
python app.py --config acestep-v15-turbo --init-llm
# ํŠน์ • ํฌํŠธ ์ง€์ •
python app.py --port 7860
```
### ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ์š”
Gradio ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ ˆ์ด์•„์›ƒ:
1. **์„ค์ •** (์ ‘์ด์‹ ์•„์ฝ”๋””์–ธ) - ์„œ๋น„์Šค ์„ค์ •, DiT/LM ํŒŒ๋ผ๋ฏธํ„ฐ, ์ถœ๋ ฅ ์˜ต์…˜
2. **์ƒ์„ฑ ํƒญ** - ๋ฉ”์ธ ์ž‘์—… ๊ณต๊ฐ„. ์ƒ๋‹จ์— **์ƒ์„ฑ ๋ชจ๋“œ** ๋ผ๋””์˜ค ์„ ํƒ๊ธฐ:
- Turbo/SFT ๋ชจ๋ธ: Simple, Custom, Remix, Repaint
- Base ๋ชจ๋ธ: Simple, Custom, Remix, Repaint, Extract, Lego, Complete
3. **๊ฒฐ๊ณผ ์„น์…˜** - ์ƒ์„ฑ๋œ ์˜ค๋””์˜ค ์žฌ์ƒ, ์Šค์ฝ”์–ด๋ง, ๋ฐฐ์น˜ ๋‚ด๋น„๊ฒŒ์ด์…˜
4. **ํ•™์Šต ํƒญ** - ๋ฐ์ดํ„ฐ์…‹ ๋นŒ๋” ๋ฐ LoRA ํ•™์Šต
---
## ์„œ๋น„์Šค ์„ค์ •
### ๋ชจ๋ธ ์„ ํƒ
| ์„ค์ • | ์„ค๋ช… |
|------|------|
| **์ฒดํฌํฌ์ธํŠธ ํŒŒ์ผ** | ํ•™์Šต๋œ ๋ชจ๋ธ ์ฒดํฌํฌ์ธํŠธ ์„ ํƒ (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ) |
| **๋ฉ”์ธ ๋ชจ๋ธ ๊ฒฝ๋กœ** | DiT ๋ชจ๋ธ ์„ค์ • ์„ ํƒ (์˜ˆ: `acestep-v15-turbo`, `acestep-v15-turbo-shift3`) |
| **๋””๋ฐ”์ด์Šค** | ์ฒ˜๋ฆฌ ๋””๋ฐ”์ด์Šค: `auto` (๊ถŒ์žฅ), `cuda`, ๋˜๋Š” `cpu` |
### 5Hz LM ์„ค์ •
| ์„ค์ • | ์„ค๋ช… |
|------|------|
| **5Hz LM ๋ชจ๋ธ ๊ฒฝ๋กœ** | ์–ธ์–ด ๋ชจ๋ธ ์„ ํƒ. **์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์€ GPU ํ‹ฐ์–ด์— ๋”ฐ๋ผ ์ž๋™ ํ•„ํ„ฐ๋ง** โ€” ์˜ˆ: 6-8GB GPU๋Š” 0.6B๋งŒ, 24GB+ GPU๋Š” ๋ชจ๋“  ํฌ๊ธฐ(0.6B, 1.7B, 4B) ํ‘œ์‹œ. |
| **5Hz LM ๋ฐฑ์—”๋“œ** | `vllm` (๋” ๋น ๋ฆ„, VRAM โ‰ฅ8GB NVIDIA GPU ๊ถŒ์žฅ), `pt` (PyTorch, ๋ฒ”์šฉ ํด๋ฐฑ), ๋˜๋Š” `mlx` (Apple Silicon). **VRAM <8GB GPU์—์„œ๋Š” `pt`/`mlx`๋กœ ์ œํ•œ** (vllm์˜ KV ์บ์‹œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ). |
| **5Hz LM ์ดˆ๊ธฐํ™”** | ์ดˆ๊ธฐํ™” ์‹œ LM์„ ๋กœ๋“œํ•˜๋ ค๋ฉด ์ฒดํฌ (thinking ๋ชจ๋“œ์— ํ•„์š”). **VRAM โ‰ค6GB GPU(Tier 1-2)์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒดํฌ ํ•ด์ œ ๋ฐ ๋น„ํ™œ์„ฑํ™”.** |
> **์ ์‘ํ˜• ๊ธฐ๋ณธ๊ฐ’**: ๋ชจ๋“  LM ์„ค์ •์€ GPU์˜ VRAM ํ‹ฐ์–ด์— ๋”ฐ๋ผ ์ž๋™ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ถŒ์žฅ LM ๋ชจ๋ธ, ๋ฐฑ์—”๋“œ, ์ดˆ๊ธฐํ™” ์ƒํƒœ๊ฐ€ ์ตœ์  ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์‚ฌ์ „ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, GPU์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์„ ํƒ ์‹œ ์‹œ์Šคํ…œ์ด ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
### ์„ฑ๋Šฅ ์˜ต์…˜
| ์„ค์ • | ์„ค๋ช… |
|------|------|
| **Flash Attention ์‚ฌ์šฉ** | ๋” ๋น ๋ฅธ ์ถ”๋ก ์„ ์œ„ํ•ด ํ™œ์„ฑํ™” (flash_attn ํŒจํ‚ค์ง€ ํ•„์š”) |
| **CPU๋กœ ์˜คํ”„๋กœ๋“œ** | ์œ ํœด ์‹œ ๋ชจ๋ธ์„ CPU๋กœ ์˜คํ”„๋กœ๋“œํ•˜์—ฌ GPU ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ. **VRAM <20GB GPU์—์„œ ์ž๋™ ํ™œ์„ฑํ™”.** |
| **DiT๋ฅผ CPU๋กœ ์˜คํ”„๋กœ๋“œ** | DiT ๋ชจ๋ธ์„ ํŠน๋ณ„ํžˆ CPU๋กœ ์˜คํ”„๋กœ๋“œ. **VRAM <12GB GPU์—์„œ ์ž๋™ ํ™œ์„ฑํ™”.** |
| **INT8 ์–‘์žํ™”** | INT8 ๊ฐ€์ค‘์น˜ ์–‘์žํ™”๋กœ ๋ชจ๋ธ VRAM ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์†Œ. **VRAM <20GB GPU์—์„œ ์ž๋™ ํ™œ์„ฑํ™”.** |
| **๋ชจ๋ธ ์ปดํŒŒ์ผ** | ์ตœ์ ํ™”๋œ ์ถ”๋ก ์„ ์œ„ํ•ด `torch.compile` ํ™œ์„ฑํ™”. **๋ชจ๋“  ํ‹ฐ์–ด์—์„œ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”** (์–‘์žํ™” ํ™œ์„ฑ ์‹œ ํ•„์š”). |
> **ํ‹ฐ์–ด ์ธ์‹ ์„ค์ •**: ์˜คํ”„๋กœ๋“œ, ์–‘์žํ™”, ์ปดํŒŒ์ผ ์˜ต์…˜์€ GPU ํ‹ฐ์–ด์— ๋”ฐ๋ผ ์ž๋™ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ‹ฐ์–ด ํ…Œ์ด๋ธ”์€ [GPU_COMPATIBILITY.md](../ko/GPU_COMPATIBILITY.md)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
### LoRA ์–ด๋Œ‘ํ„ฐ
| ์„ค์ • | ์„ค๋ช… |
|------|------|
| **LoRA ๊ฒฝ๋กœ** | ํ•™์Šต๋œ LoRA ์–ด๋Œ‘ํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ |
| **LoRA ๋กœ๋“œ** | ์ง€์ •๋œ LoRA ์–ด๋Œ‘ํ„ฐ ๋กœ๋“œ |
| **์–ธ๋กœ๋“œ** | ํ˜„์žฌ ๋กœ๋“œ๋œ LoRA ์ œ๊ฑฐ |
| **LoRA ์‚ฌ์šฉ** | ์ถ”๋ก ์šฉ ๋กœ๋“œ๋œ LoRA ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” |
> **โš ๏ธ ์ฐธ๊ณ :** PEFT์™€ TorchAO ๊ฐ„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋กœ ์–‘์žํ™”๋œ ๋ชจ๋ธ์— LoRA ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. LoRA๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๊ธฐ ์ „์— **INT8 ์–‘์žํ™”**๋ฅผ **None**์œผ๋กœ ์„ค์ •ํ•˜์„ธ์š”.
### ์ดˆ๊ธฐํ™”
**์„œ๋น„์Šค ์ดˆ๊ธฐํ™”**๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋ชจ๋ธ์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ ๋ฐ•์Šค์— ๋‹ค์Œ์„ ํฌํ•จํ•œ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ํ™•์ธ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:
- ๊ฐ์ง€๋œ GPU ํ‹ฐ์–ด ๋ฐ VRAM
- ์ตœ๋Œ€ ํ—ˆ์šฉ ์‹œ๊ฐ„ ๋ฐ ๋ฐฐ์น˜ ํฌ๊ธฐ (LM ์ดˆ๊ธฐํ™” ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋™์  ์กฐ์ •)
- ์ž๋™ ์ˆ˜์ •๋œ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์„ค์ •์— ๋Œ€ํ•œ ๊ฒฝ๊ณ 
์ดˆ๊ธฐํ™” ํ›„ **์˜ค๋””์˜ค ์‹œ๊ฐ„** ๋ฐ **๋ฐฐ์น˜ ํฌ๊ธฐ** ์Šฌ๋ผ์ด๋”๊ฐ€ ํ‹ฐ์–ด ์ œํ•œ์„ ๋ฐ˜์˜ํ•˜๋„๋ก ์ž๋™ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
---
## ์ƒ์„ฑ ๋ชจ๋“œ
์ƒ์„ฑ ํƒญ ์ƒ๋‹จ์˜ **์ƒ์„ฑ ๋ชจ๋“œ** ๋ผ๋””์˜ค ์„ ํƒ๊ธฐ๊ฐ€ ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. Turbo ๋ฐ SFT ๋ชจ๋ธ์€ 4๊ฐ€์ง€ ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , Base ๋ชจ๋ธ์€ 3๊ฐ€์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
### Simple ๋ชจ๋“œ
๋น ๋ฅธ ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ ์Œ์•… ์ƒ์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Simple** ์„ ํƒ
2. "๊ณก ์„ค๋ช…" ํ•„๋“œ์— ์ž์—ฐ์–ด ์„ค๋ช… ์ž…๋ ฅ
3. ๋ณด์ปฌ์ด ํ•„์š” ์—†์œผ๋ฉด "์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ" ์˜ต์…˜ ์ฒดํฌ
4. ์„ ํ˜ธํ•˜๋Š” ๋ณด์ปฌ ์–ธ์–ด ์˜ต์…˜ ์„ ํƒ
5. **์ƒ˜ํ”Œ ์ƒ์„ฑ** ํด๋ฆญํ•˜์—ฌ caption, ๊ฐ€์‚ฌ, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ฑ
6. ํ™•์žฅ๋œ ์„น์…˜์—์„œ ์ƒ์„ฑ๋œ ์ฝ˜ํ…์ธ  ํ™•์ธ
7. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญํ•˜์—ฌ ์˜ค๋””์˜ค ์ƒ์„ฑ
**์„ค๋ช… ์˜ˆ์‹œ:**
- "์กฐ์šฉํ•œ ์ €๋…์„ ์œ„ํ•œ ๋ถ€๋“œ๋Ÿฌ์šด ๋ฒต๊ณจ ๋Ÿฌ๋ธŒ์†ก"
- "๊ฐ•๋ ฌํ•œ ๋ฒ ์ด์Šค ๋“œ๋กญ์ด ์žˆ๋Š” ์—…๋น„ํŠธ ์ผ๋ ‰ํŠธ๋กœ๋‹‰ ๋Œ„์Šค ๋ฎค์ง"
- "์–ด์ฟ ์Šคํ‹ฑ ๊ธฐํƒ€์˜ ๋ฉœ๋ž‘์ฝœ๋ฆฌํ•œ ์ธ๋”” ํฌํฌ"
- "์—ฐ๊ธฐ ์ž์šฑํ•œ ๋ฐ”์—์„œ ์—ฐ์ฃผํ•˜๋Š” ์žฌ์ฆˆ ํŠธ๋ฆฌ์˜ค"
**๋žœ๋ค ์ƒ˜ํ”Œ:** ๐ŸŽฒ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๋žœ๋ค ์˜ˆ์‹œ ์„ค๋ช…์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
### Custom ๋ชจ๋“œ
๋ชจ๋“  ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์™„์ „ํžˆ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค (text2music).
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Custom** ์„ ํƒ
2. Caption๊ณผ ๊ฐ€์‚ฌ ํ•„๋“œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅ
3. ์˜ต์…˜์œผ๋กœ ์ฐธ์กฐ ์˜ค๋””์˜ค๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ์Šคํƒ€์ผ ๊ฐ€์ด๋˜์Šค
4. ์˜ต์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ • (BPM, ํ‚ค, ์‹œ๊ฐ„ ๋“ฑ)
5. ์˜ต์…˜์œผ๋กœ **ํฌ๋งท** ํด๋ฆญํ•˜์—ฌ LM์œผ๋กœ ์ž…๋ ฅ ํ–ฅ์ƒ
6. ํ•„์š”์— ๋”ฐ๋ผ ๊ณ ๊ธ‰ ์„ค์ • ๊ตฌ์„ฑ
7. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญํ•˜์—ฌ ์˜ค๋””์˜ค ์ƒ์„ฑ
### Remix ๋ชจ๋“œ
๊ธฐ์กด ์˜ค๋””์˜ค์˜ ๋ฉœ๋กœ๋”” ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Remix** ์„ ํƒ
2. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ (๋ฆฌ๋ฏน์Šคํ•  ๊ณก)
3. ํƒ€๊ฒŸ ์Šคํƒ€์ผ์„ ์„ค๋ช…ํ•˜๋Š” Caption ์ž‘์„ฑ
4. ์˜ต์…˜์œผ๋กœ ๊ฐ€์‚ฌ ์ˆ˜์ •
5. **Remix ๊ฐ•๋„** (0.0-1.0) ์กฐ์ •: ๋†’์„์ˆ˜๋ก = ์›๋ณธ ๊ตฌ์กฐ์— ๊ฐ€๊นŒ์›€
6. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญ
**์šฉ๋„:** ์ปค๋ฒ„ ๋ฒ„์ „ ์ƒ์„ฑ, ์Šคํƒ€์ผ ์ „์ด, ๊ณก ๋ณ€ํ˜• ์ƒ์„ฑ.
### Repaint ๋ชจ๋“œ
์˜ค๋””์˜ค์˜ ํŠน์ • ์‹œ๊ฐ„ ๊ตฌ๊ฐ„์„ ์žฌ์ƒ์„ฑํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Repaint** ์„ ํƒ
2. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ
3. **๋ฆฌํŽ˜์ธํŠธ ์‹œ์ž‘**๊ณผ **๋ฆฌํŽ˜์ธํŠธ ๋** ์„ค์ • (์ดˆ; -1์€ ํŒŒ์ผ ๋)
4. ๋ฆฌํŽ˜์ธํŠธ ์„น์…˜์˜ ์›ํ•˜๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” Caption ์ž‘์„ฑ
5. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญ
**์šฉ๋„:** ๋ฌธ์ œ ์žˆ๋Š” ์„น์…˜ ์ˆ˜์ •, ๊ตฌ๊ฐ„ ๋‚ด ๊ฐ€์‚ฌ ๋ณ€๊ฒฝ, ๊ณก ์—ฐ์žฅ.
### Extract ๋ชจ๋“œ (Base ๋ชจ๋ธ ์ „์šฉ)
๋ฏน์Šค๋œ ์˜ค๋””์˜ค์—์„œ ํŠน์ • ์•…๊ธฐ ํŠธ๋ž™์„ ์ถ”์ถœ/๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Extract** ์„ ํƒ
2. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ
3. ๋“œ๋กญ๋‹ค์šด์—์„œ ์ถ”์ถœํ•  **ํŠธ๋ž™ ์ด๋ฆ„** ์„ ํƒ
4. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญ
**์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŠธ๋ž™:** vocals, backing_vocals, drums, bass, guitar, keyboard, percussion, strings, synth, fx, brass, woodwinds
### Lego ๋ชจ๋“œ (Base ๋ชจ๋ธ ์ „์šฉ)
๊ธฐ์กด ์˜ค๋””์˜ค์— ์ƒˆ๋กœ์šด ์•…๊ธฐ ํŠธ๋ž™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Lego** ์„ ํƒ
2. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ
3. ๋“œ๋กญ๋‹ค์šด์—์„œ ์ถ”๊ฐ€ํ•  **ํŠธ๋ž™ ์ด๋ฆ„** ์„ ํƒ
4. ํŠธ๋ž™ ํŠน์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” Caption ์ž‘์„ฑ
5. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญ
### Complete ๋ชจ๋“œ (Base ๋ชจ๋ธ ์ „์šฉ)
์ง€์ •๋œ ์•…๊ธฐ๋กœ ๋ถ€๋ถ„์ ์ธ ํŠธ๋ž™์„ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค (์ž๋™ ํŽธ๊ณก).
**์‚ฌ์šฉ ๋ฐฉ๋ฒ•:**
1. ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ **Complete** ์„ ํƒ
2. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ
3. ์ถ”๊ฐ€ํ•  ์—ฌ๋Ÿฌ **ํŠธ๋ž™ ์ด๋ฆ„** ์„ ํƒ
4. ์›ํ•˜๋Š” ์Šคํƒ€์ผ์„ ์„ค๋ช…ํ•˜๋Š” Caption ์ž‘์„ฑ
5. **์Œ์•… ์ƒ์„ฑ** ํด๋ฆญ
---
## ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ
### ์˜ค๋””์˜ค ์ž…๋ ฅ
| ํ•„๋“œ | ์„ค๋ช… |
|------|------|
| **์ฐธ์กฐ ์˜ค๋””์˜ค** | ์Šคํƒ€์ผ/์Œ์ƒ‰ ๊ฐ€์ด๋˜์Šค๋ฅผ ์œ„ํ•œ ์˜ต์…˜ ์˜ค๋””์˜ค (Custom ๋ชจ๋“œ์—์„œ ํ‘œ์‹œ) |
| **์†Œ์Šค ์˜ค๋””์˜ค** | Remix, Repaint, Extract, Lego, Complete ๋ชจ๋“œ์— ํ•„์ˆ˜ |
| **์ฝ”๋“œ๋กœ ๋ณ€ํ™˜** | ์†Œ์Šค ์˜ค๋””์˜ค์—์„œ 5Hz ์‹œ๋งจํ‹ฑ ์ฝ”๋“œ ์ถ”์ถœ |
#### LM ์ฝ”๋“œ ํžŒํŠธ (Custom ๋ชจ๋“œ)
์‚ฌ์ „ ๊ณ„์‚ฐ๋œ ์˜ค๋””์˜ค ์‹œ๋งจํ‹ฑ ์ฝ”๋“œ๋ฅผ ์—ฌ๊ธฐ์— ๋ถ™์—ฌ๋„ฃ์–ด ์ƒ์„ฑ์„ ๊ฐ€์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **ํŠธ๋žœ์Šคํฌ๋ผ์ด๋ธŒ** ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์˜ค๋””์˜ค ์—…๋กœ๋“œ ์—†์ด ๋ฉœ๋กœ๋”” ๊ตฌ์กฐ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
### ์Œ์•… Caption
์›ํ•˜๋Š” ์Œ์•…์˜ ํ…์ŠคํŠธ ์„ค๋ช…. ๋‹ค์Œ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์ž‘์„ฑ:
- ์žฅ๋ฅด์™€ ์Šคํƒ€์ผ
- ์•…๊ธฐ
- ๋ถ„์œ„๊ธฐ์™€ ๋А๋‚Œ
- ํ…œํฌ ๋А๋‚Œ (BPM์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ)
**์˜ˆ์‹œ:** "์ผ๋ ‰ ๊ธฐํƒ€, ๊ฐ•๋ ฌํ•œ ๋“œ๋Ÿผ, ์บ์น˜ํ•œ ์‹ ์Šค ํ›…์ด ์žˆ๋Š” ์—…๋น„ํŠธ ํŒ ๋ก"
๐ŸŽฒ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋žœ๋ค ์˜ˆ์‹œ caption์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
### ๊ฐ€์‚ฌ
๊ตฌ์กฐ ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ๊ฐ€์‚ฌ๋ฅผ ์ž…๋ ฅ:
```
[Verse 1]
์˜ค๋Š˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฑธ์œผ๋ฉฐ
๋„ค๊ฐ€ ํ–ˆ๋˜ ๋ง๋“ค์„ ๋– ์˜ฌ๋ ธ์–ด
[Chorus]
๋‚˜๋Š” ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€, ๊ฐ•ํ•˜๊ฒŒ ์„œ์„œ
์—ฌ๊ธฐ๊ฐ€ ๋‚ด ์ž๋ฆฌ์•ผ
[Verse 2]
...
```
**์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ ์ฒดํฌ๋ฐ•์Šค:** ๊ฐ€์‚ฌ ๋‚ด์šฉ์— ๊ด€๊ณ„์—†์ด ์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ ์Œ์•…์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.
**๋ณด์ปฌ ์–ธ์–ด:** ๋ณด์ปฌ ์–ธ์–ด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ๊ฐ์ง€ ๋˜๋Š” ์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ ํŠธ๋ž™์—๋Š” "unknown"์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
**ํฌ๋งท ๋ฒ„ํŠผ:** 5Hz LM์„ ์‚ฌ์šฉํ•˜์—ฌ caption๊ณผ ๊ฐ€์‚ฌ๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
### ์˜ต์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ
| ํŒŒ๋ผ๋ฏธํ„ฐ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|----------|--------|------|
| **BPM** | ์ž๋™ | ๋ถ„๋‹น ๋น„ํŠธ ์ˆ˜ (30-300) |
| **ํ‚ค ์Šค์ผ€์ผ** | ์ž๋™ | ์Œ์•… ํ‚ค (์˜ˆ: "C Major", "Am", "F# minor") |
| **๋ฐ•์ž ๊ธฐํ˜ธ** | ์ž๋™ | ๋ฐ•์ž ๊ธฐํ˜ธ: 2 (2/4), 3 (3/4), 4 (4/4), 6 (6/8) |
| **์˜ค๋””์˜ค ์‹œ๊ฐ„** | ์ž๋™/-1 | ๋ชฉํ‘œ ๊ธธ์ด(์ดˆ) (10-600). -1์€ ์ž๋™ |
| **๋ฐฐ์น˜ ํฌ๊ธฐ** | 2 | ์ƒ์„ฑํ•  ์˜ค๋””์˜ค ๋ณ€ํ˜• ์ˆ˜ (1-8) |
---
## ๊ณ ๊ธ‰ ์„ค์ •
### DiT ํŒŒ๋ผ๋ฏธํ„ฐ
| ํŒŒ๋ผ๋ฏธํ„ฐ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|----------|--------|------|
| **์ถ”๋ก  ์Šคํ…** | 8 | ๋””๋…ธ์ด์ง• ์Šคํ…. Turbo: 1-20, Base: 1-200 |
| **๊ฐ€์ด๋˜์Šค ์Šค์ผ€์ผ** | 7.0 | CFG ๊ฐ•๋„ (base ๋ชจ๋ธ๋งŒ). ๋†’์„์ˆ˜๋ก = ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ๋”ฐ๋ฆ„ |
| **์‹œ๋“œ** | -1 | ๋žœ๋ค ์‹œ๋“œ. ๋ฐฐ์น˜์—๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ’ ์‚ฌ์šฉ |
| **๋žœ๋ค ์‹œ๋“œ** | โœ“ | ์ฒดํฌ ์‹œ ๋žœ๋ค ์‹œ๋“œ ์ƒ์„ฑ |
| **์˜ค๋””์˜ค ํ˜•์‹** | mp3 | ์ถœ๋ ฅ ํ˜•์‹: mp3, flac |
| **์‹œํ”„ํŠธ** | 3.0 | ํƒ€์ž„์Šคํ… ์‹œํ”„ํŠธ ๊ณ„์ˆ˜ (1.0-5.0). turbo์— 3.0 ๊ถŒ์žฅ |
| **์ถ”๋ก  ๋ฐฉ๋ฒ•** | ode | ode (Euler, ๋” ๋น ๋ฆ„) ๋˜๋Š” sde (ํ™•๋ฅ ์ ) |
| **์ปค์Šคํ…€ ํƒ€์ž„์Šคํ…** | - | ํƒ€์ž„์Šคํ… ์˜ค๋ฒ„๋ผ์ด๋“œ (์˜ˆ: "0.97,0.76,0.615,0.5,0.395,0.28,0.18,0.085,0") |
### Base ๋ชจ๋ธ ์ „์šฉ ํŒŒ๋ผ๋ฏธํ„ฐ
| ํŒŒ๋ผ๋ฏธํ„ฐ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|----------|--------|------|
| **ADG ์‚ฌ์šฉ** | โœ— | ๋” ๋‚˜์€ ํ’ˆ์งˆ์„ ์œ„ํ•ด ์ ์‘ํ˜• ๋“€์–ผ ๊ฐ€์ด๋˜์Šค ํ™œ์„ฑํ™” |
| **CFG ๊ตฌ๊ฐ„ ์‹œ์ž‘** | 0.0 | CFG ์ ์šฉ ์‹œ์ž‘ ์‹œ์  (0.0-1.0) |
| **CFG ๊ตฌ๊ฐ„ ๋** | 1.0 | CFG ์ ์šฉ ์ข…๋ฃŒ ์‹œ์  (0.0-1.0) |
### LM ํŒŒ๋ผ๋ฏธํ„ฐ
| ํŒŒ๋ผ๋ฏธํ„ฐ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|----------|--------|------|
| **LM ์˜จ๋„** | 0.85 | ์ƒ˜ํ”Œ๋ง ์˜จ๋„ (0.0-2.0). ๋†’์„์ˆ˜๋ก = ๋” ์ฐฝ์˜์  |
| **LM CFG ์Šค์ผ€์ผ** | 2.0 | LM ๊ฐ€์ด๋˜์Šค ๊ฐ•๋„ (1.0-3.0) |
| **LM Top-K** | 0 | Top-K ์ƒ˜ํ”Œ๋ง. 0์ด๋ฉด ๋น„ํ™œ์„ฑํ™” |
| **LM Top-P** | 0.9 | ํ•ต ์ƒ˜ํ”Œ๋ง (0.0-1.0) |
| **LM ๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ”„๋กฌํ”„ํŠธ** | "NO USER INPUT" | CFG์šฉ ๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ”„๋กฌํ”„ํŠธ |
### CoT (์‚ฌ๊ณ ์˜ ์—ฐ์‡„) ์˜ต์…˜
| ์˜ต์…˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|------|--------|------|
| **CoT Metas** | โœ“ | LM ์ถ”๋ก ์„ ํ†ตํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ฑ |
| **CoT Language** | โœ“ | LM์œผ๋กœ ๋ณด์ปฌ ์–ธ์–ด ๊ฐ์ง€ |
| **์ œ์•ฝ ๋””์ฝ”๋”ฉ ๋””๋ฒ„๊ทธ** | โœ— | ๋””๋ฒ„๊ทธ ๋กœ๊น… ํ™œ์„ฑํ™” |
### ์ƒ์„ฑ ์˜ต์…˜
| ์˜ต์…˜ | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|------|--------|------|
| **LM ์ฝ”๋“œ ๊ฐ•๋„** | 1.0 | LM ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์˜ ๊ฐ•๋„ (0.0-1.0) |
| **์ž๋™ ์Šค์ฝ”์–ด** | โœ— | ํ’ˆ์งˆ ์Šค์ฝ”์–ด ์ž๋™ ๊ณ„์‚ฐ |
| **์ž๋™ LRC** | โœ— | ๊ฐ€์‚ฌ ํƒ€์ž„์Šคํƒฌํ”„ ์ž๋™ ์ƒ์„ฑ |
| **LM ๋ฐฐ์น˜ ์ฒญํฌ ํฌ๊ธฐ** | 8 | LM ๋ฐฐ์น˜๋‹น ์ตœ๋Œ€ ํ•ญ๋ชฉ ์ˆ˜ (GPU ๋ฉ”๋ชจ๋ฆฌ) |
### ๋ฉ”์ธ ์ƒ์„ฑ ์ปจํŠธ๋กค
| ์ปจํŠธ๋กค | ์„ค๋ช… |
|--------|------|
| **Think** | ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ 5Hz LM ํ™œ์„ฑํ™” |
| **ParallelThinking** | ๋ณ‘๋ ฌ LM ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ํ™œ์„ฑํ™” |
| **CaptionRewrite** | LM์ด ์ž…๋ ฅ caption์„ ํ–ฅ์ƒ์‹œํ‚ค๋„๋ก ํ•จ |
| **AutoGen** | ์™„๋ฃŒ ํ›„ ๋‹ค์Œ ๋ฐฐ์น˜ ์ž๋™ ์‹œ์ž‘ |
---
## ๊ฒฐ๊ณผ ์„น์…˜
### ์ƒ์„ฑ๋œ ์˜ค๋””์˜ค
๋ฐฐ์น˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ตœ๋Œ€ 8๊ฐœ์˜ ์˜ค๋””์˜ค ์ƒ˜ํ”Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ƒ˜ํ”Œ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:
- **์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด** - ์ƒ์„ฑ๋œ ์˜ค๋””์˜ค ์žฌ์ƒ, ์ผ์‹œ ์ •์ง€, ๋‹ค์šด๋กœ๋“œ
- **์†Œ์Šค๋กœ ์ „์†ก** - ์ด ์˜ค๋””์˜ค๋ฅผ ์†Œ์Šค ์˜ค๋””์˜ค ์ž…๋ ฅ์œผ๋กœ ์ „์†กํ•˜์—ฌ ์ถ”๊ฐ€ ์ฒ˜๋ฆฌ
- **์ €์žฅ** - ์˜ค๋””์˜ค์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ JSON ํŒŒ์ผ๋กœ ์ €์žฅ
- **์Šค์ฝ”์–ด** - ํผํ”Œ๋ ‰์‹œํ‹ฐ ๊ธฐ๋ฐ˜ ํ’ˆ์งˆ ์Šค์ฝ”์–ด ๊ณ„์‚ฐ
- **LRC** - ๊ฐ€์‚ฌ ํƒ€์ž„์Šคํƒฌํ”„ ์ƒ์„ฑ (LRC ํ˜•์‹)
### ์ƒ์„ธ ์•„์ฝ”๋””์–ธ
"Score & LRC & LM Codes"๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ™•์žฅํ•˜๊ณ  ๋‹ค์Œ์„ ํ™•์ธ:
- **LM ์ฝ”๋“œ** - ์ด ์ƒ˜ํ”Œ์˜ 5Hz ์‹œ๋งจํ‹ฑ ์ฝ”๋“œ
- **ํ’ˆ์งˆ ์Šค์ฝ”์–ด** - ํผํ”Œ๋ ‰์‹œํ‹ฐ ๊ธฐ๋ฐ˜ ํ’ˆ์งˆ ๋ฉ”ํŠธ๋ฆญ
- **๊ฐ€์‚ฌ ํƒ€์ž„์Šคํƒฌํ”„** - LRC ํ˜•์‹ ํƒ€์ด๋ฐ ๋ฐ์ดํ„ฐ
### ๋ฐฐ์น˜ ๋‚ด๋น„๊ฒŒ์ด์…˜
| ์ปจํŠธ๋กค | ์„ค๋ช… |
|--------|------|
| **โ—€ ์ด์ „** | ์ด์ „ ๋ฐฐ์น˜ ๋ณด๊ธฐ |
| **๋ฐฐ์น˜ ์ธ๋””์ผ€์ดํ„ฐ** | ํ˜„์žฌ ๋ฐฐ์น˜ ์œ„์น˜ ํ‘œ์‹œ (์˜ˆ: "๋ฐฐ์น˜ 1 / 3") |
| **๋‹ค์Œ ๋ฐฐ์น˜ ์ƒํƒœ** | ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ƒ์„ฑ ์ง„ํ–‰ ์ƒํ™ฉ ํ‘œ์‹œ |
| **๋‹ค์Œ โ–ถ** | ๋‹ค์Œ ๋ฐฐ์น˜ ๋ณด๊ธฐ (AutoGen์ด ์ผœ์ ธ ์žˆ์œผ๋ฉด ์ƒ์„ฑ ํŠธ๋ฆฌ๊ฑฐ) |
### ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณต์›
**์ด ์„ค์ •์„ UI์— ์ ์šฉ**์„ ํด๋ฆญํ•˜์—ฌ ํ˜„์žฌ ๋ฐฐ์น˜์˜ ๋ชจ๋“  ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅ ํ•„๋“œ๋กœ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
### ๋ฐฐ์น˜ ๊ฒฐ๊ณผ
"๋ฐฐ์น˜ ๊ฒฐ๊ณผ ๋ฐ ์ƒ์„ฑ ์ƒ์„ธ" ์•„์ฝ”๋””์–ธ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:
- **๋ชจ๋“  ์ƒ์„ฑ ํŒŒ์ผ** - ๋ชจ๋“  ๋ฐฐ์น˜์˜ ๋ชจ๋“  ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
- **์ƒ์„ฑ ์ƒ์„ธ** - ์ƒ์„ฑ ๊ณผ์ •์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด
---
## LoRA ํ•™์Šต
LoRA ํ•™์Šต ํƒญ์€ ์ปค์Šคํ…€ LoRA ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
> ๐Ÿ“– **์ „์ฒด ๋‹จ๊ณ„๋ณ„ ์•ˆ๋‚ด** (๋ฐ์ดํ„ฐ ์ค€๋น„, ์ฃผ์„, ์ „์ฒ˜๋ฆฌ, ํ•™์Šต, ๋‚ด๋ณด๋‚ด๊ธฐ)๋Š” [LoRA ํ•™์Šต ํŠœํ† ๋ฆฌ์–ผ](./LoRA_Training_Tutorial.md)์„ ์ฐธ์กฐํ•˜์„ธ์š”.
### ๋ฐ์ดํ„ฐ์…‹ ๋นŒ๋” ํƒญ
#### 1๋‹จ๊ณ„: ๋กœ๋“œ ๋˜๋Š” ์Šค์บ”
**์˜ต์…˜ A: ๊ธฐ์กด ๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œ**
1. ์ด์ „์— ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ์…‹ JSON ๊ฒฝ๋กœ ์ž…๋ ฅ
2. **๋กœ๋“œ** ํด๋ฆญ
**์˜ต์…˜ B: ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ ์Šค์บ”**
1. ์˜ค๋””์˜ค ํด๋” ๊ฒฝ๋กœ ์ž…๋ ฅ
2. **์Šค์บ”** ํด๋ฆญํ•˜์—ฌ ์˜ค๋””์˜ค ํŒŒ์ผ ๊ฒ€์ƒ‰ (wav, mp3, flac, ogg, opus)
#### 2๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ์…‹ ์„ค์ •
| ์„ค์ • | ์„ค๋ช… |
|------|------|
| **๋ฐ์ดํ„ฐ์…‹ ์ด๋ฆ„** | ๋ฐ์ดํ„ฐ์…‹ ์ด๋ฆ„ |
| **๋ชจ๋‘ ์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ** | ๋ชจ๋“  ํŠธ๋ž™์— ๋ณด์ปฌ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ฒดํฌ |
| **์ปค์Šคํ…€ ํ™œ์„ฑํ™” ํƒœ๊ทธ** | ์ด LoRA์˜ ์Šคํƒ€์ผ์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ณ ์œ  ํƒœ๊ทธ |
| **ํƒœ๊ทธ ์œ„์น˜** | ํƒœ๊ทธ๋ฅผ ๋ฐฐ์น˜ํ•  ์œ„์น˜: ์•ž์— ์ถ”๊ฐ€, ๋’ค์— ์ถ”๊ฐ€, ๋˜๋Š” caption ๋Œ€์ฒด |
#### 3๋‹จ๊ณ„: ์ž๋™ ๋ผ๋ฒจ๋ง
**๋ชจ๋‘ ์ž๋™ ๋ผ๋ฒจ๋ง**์„ ํด๋ฆญํ•˜์—ฌ ๋ชจ๋“  ์˜ค๋””์˜ค ํŒŒ์ผ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ:
- Caption (์Œ์•… ์„ค๋ช…)
- BPM
- ํ‚ค
- ๋ฐ•์ž ๊ธฐํ˜ธ
**๋ฉ”ํƒ€ ๊ฑด๋„ˆ๋›ฐ๊ธฐ** ์˜ต์…˜์€ LLM ๋ผ๋ฒจ๋ง์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  N/A ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
#### 4๋‹จ๊ณ„: ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐ ํŽธ์ง‘
์Šฌ๋ผ์ด๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ˜ํ”Œ์„ ์„ ํƒํ•˜๊ณ  ์ˆ˜๋™ ํŽธ์ง‘:
- Caption
- ๊ฐ€์‚ฌ
- BPM, ํ‚ค, ๋ฐ•์ž ๊ธฐํ˜ธ
- ์–ธ์–ด
- ์ธ์ŠคํŠธ๋ฃจ๋ฉ˜ํƒˆ ํ”Œ๋ž˜๊ทธ
**๋ณ€๊ฒฝ ์ €์žฅ**์„ ํด๋ฆญํ•˜์—ฌ ์ƒ˜ํ”Œ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
#### 5๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ์…‹ ์ €์žฅ
์ €์žฅ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  **๋ฐ์ดํ„ฐ์…‹ ์ €์žฅ**์„ ํด๋ฆญํ•˜์—ฌ JSON์œผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
#### 6๋‹จ๊ณ„: ์ „์ฒ˜๋ฆฌ
๋น ๋ฅธ ํ•™์Šต์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์ „ ๊ณ„์‚ฐ ํ…์„œ๋กœ ๋ณ€ํ™˜:
1. ์˜ต์…˜์œผ๋กœ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์…‹ JSON ๋กœ๋“œ
2. ํ…์„œ ์ถœ๋ ฅ ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •
3. **์ „์ฒ˜๋ฆฌ** ํด๋ฆญ
์ด๊ฒƒ์€ ์˜ค๋””์˜ค๋ฅผ VAE ์ž ์žฌ ๋ณ€์ˆ˜๋กœ ์ธ์ฝ”๋”ฉํ•˜๊ณ , ํ…์ŠคํŠธ๋ฅผ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์ธ์ฝ”๋”ฉํ•˜๋ฉฐ, ์กฐ๊ฑด ์ธ์ฝ”๋”๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
### LoRA ํ•™์Šต ํƒญ
#### ๋ฐ์ดํ„ฐ์…‹ ์„ ํƒ
์ „์ฒ˜๋ฆฌ๋œ ํ…์„œ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  **๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œ**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
#### LoRA ์„ค์ •
| ์„ค์ • | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|------|--------|------|
| **LoRA ๋žญํฌ (r)** | 64 | LoRA์˜ ์šฉ๋Ÿ‰. ๋†’์„์ˆ˜๋ก = ๋” ๋งŽ์€ ์šฉ๋Ÿ‰, ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ |
| **LoRA ์•ŒํŒŒ** | 128 | ์Šค์ผ€์ผ๋ง ๊ณ„์ˆ˜ (์ผ๋ฐ˜์ ์œผ๋กœ ๋žญํฌ์˜ 2๋ฐฐ) |
| **LoRA ๋“œ๋กญ์•„์›ƒ** | 0.1 | ์ •๊ทœํ™”๋ฅผ ์œ„ํ•œ ๋“œ๋กญ์•„์›ƒ ๋น„์œจ |
#### ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ
| ์„ค์ • | ๊ธฐ๋ณธ๊ฐ’ | ์„ค๋ช… |
|------|--------|------|
| **ํ•™์Šต๋ฅ ** | 1e-4 | ์ตœ์ ํ™” ํ•™์Šต๋ฅ  |
| **์ตœ๋Œ€ ์—ํญ** | 500 | ์ตœ๋Œ€ ํ•™์Šต ์—ํญ |
| **๋ฐฐ์น˜ ํฌ๊ธฐ** | 1 | ํ•™์Šต ๋ฐฐ์น˜ ํฌ๊ธฐ |
| **๊ทธ๋ž˜๋””์–ธํŠธ ๋ˆ„์ ** | 1 | ์œ ํšจ ๋ฐฐ์น˜ = batch_size ร— accumulation |
| **N ์—ํญ๋งˆ๋‹ค ์ €์žฅ** | 200 | ์ฒดํฌํฌ์ธํŠธ ์ €์žฅ ๋นˆ๋„ |
| **์‹œํ”„ํŠธ** | 3.0 | turbo ๋ชจ๋ธ์˜ ํƒ€์ž„์Šคํ… ์‹œํ”„ํŠธ |
| **์‹œ๋“œ** | 42 | ์žฌํ˜„์„ฑ์„ ์œ„ํ•œ ๋žœ๋ค ์‹œ๋“œ |
#### ํ•™์Šต ์ปจํŠธ๋กค
- **ํ•™์Šต ์‹œ์ž‘** - ํ•™์Šต ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘
- **ํ•™์Šต ์ค‘์ง€** - ํ•™์Šต ์ค‘๋‹จ
- **ํ•™์Šต ์ง„ํ–‰** - ํ˜„์žฌ ์—ํญ๊ณผ ์†์‹ค ํ‘œ์‹œ
- **ํ•™์Šต ๋กœ๊ทธ** - ์ƒ์„ธ ํ•™์Šต ์ถœ๋ ฅ
- **ํ•™์Šต ์†์‹ค ํ”Œ๋กฏ** - ์‹œ๊ฐ์  ์†์‹ค ๊ณก์„ 
#### LoRA ๋‚ด๋ณด๋‚ด๊ธฐ
ํ•™์Šต ํ›„ ์ตœ์ข… ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค:
1. ๋‚ด๋ณด๋‚ด๊ธฐ ๊ฒฝ๋กœ ์ž…๋ ฅ
2. **LoRA ๋‚ด๋ณด๋‚ด๊ธฐ** ํด๋ฆญ
---
## ํŒ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€
### ์ตœ๊ณ  ํ’ˆ์งˆ์„ ์œ„ํ•ด
1. **thinking ๋ชจ๋“œ ์‚ฌ์šฉ** - LM ํ–ฅ์ƒ ์ƒ์„ฑ์„ ์œ„ํ•ด "Think" ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํ™œ์„ฑํ™” ์œ ์ง€
2. **caption์„ ๊ตฌ์ฒด์ ์œผ๋กœ** - ์žฅ๋ฅด, ์•…๊ธฐ, ๋ถ„์œ„๊ธฐ, ์Šคํƒ€์ผ ์„ธ๋ถ€ ์‚ฌํ•ญ ํฌํ•จ
3. **LM์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ง€ํ•˜๋„๋ก** - ์ž๋™ ๊ฐ์ง€๋ฅผ ์œ„ํ•ด BPM/ํ‚ค/์‹œ๊ฐ„์„ ๋น„์›Œ ๋‘ 
4. **๋ฐฐ์น˜ ์ƒ์„ฑ ์‚ฌ์šฉ** - 2-4๊ฐœ ๋ณ€ํ˜•์„ ์ƒ์„ฑํ•˜๊ณ  ์ตœ์ ์˜ ๊ฒƒ์„ ์„ ํƒ
### ๋” ๋น ๋ฅธ ์ƒ์„ฑ์„ ์œ„ํ•ด
1. **turbo ๋ชจ๋ธ ์‚ฌ์šฉ** - `acestep-v15-turbo` ๋˜๋Š” `acestep-v15-turbo-shift3` ์„ ํƒ
2. **์ถ”๋ก  ์Šคํ…์„ 8๋กœ ์œ ์ง€** - turbo์— ์ตœ์ ์ธ ๊ธฐ๋ณธ๊ฐ’
3. **๋ฐฐ์น˜ ํฌ๊ธฐ ์ค„์ด๊ธฐ** - ๋น ๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋ฐฐ์น˜ ํฌ๊ธฐ ๋‚ฎ์ถ”๊ธฐ
4. **AutoGen ๋น„ํ™œ์„ฑํ™”** - ๋ฐฐ์น˜ ์ƒ์„ฑ์˜ ์ˆ˜๋™ ์ œ์–ด
### ์ผ๊ด€๋œ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•ด
1. **ํŠน์ • ์‹œ๋“œ ์„ค์ •** - "๋žœ๋ค ์‹œ๋“œ" ์ฒดํฌ ํ•ด์ œ ํ›„ ์‹œ๋“œ ๊ฐ’ ์ž…๋ ฅ
2. **์ข‹์€ ๊ฒฐ๊ณผ ์ €์žฅ** - ์žฌํ˜„์„ ์œ„ํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด "์ €์žฅ" ์‚ฌ์šฉ
3. **"์ด ์„ค์ • ์ ์šฉ" ์‚ฌ์šฉ** - ์ข‹์€ ๋ฐฐ์น˜์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณต์›
### ์žฅ์‹œ๊ฐ„ ์Œ์•…์„ ์œ„ํ•ด
1. **๋ช…์‹œ์  ์‹œ๊ฐ„ ์„ค์ •** - ์ดˆ ๋‹จ์œ„๋กœ ์‹œ๊ฐ„ ์ง€์ •
2. **Repaint ๋ชจ๋“œ ์‚ฌ์šฉ** - ์ดˆ๊ธฐ ์ƒ์„ฑ ํ›„ ๋ฌธ์ œ ์žˆ๋Š” ์„น์…˜ ์ˆ˜์ •
3. **์ƒ์„ฑ ์ฒด์ธ** - "์†Œ์Šค๋กœ ์ „์†ก"์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•
### ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด
1. **LoRA ํ•™์Šต** - ์Šคํƒ€์ผ์— ๋งž๋Š” ์ปค์Šคํ…€ ์–ด๋Œ‘ํ„ฐ ์ƒ์„ฑ
2. **์ฐธ์กฐ ์˜ค๋””์˜ค ์‚ฌ์šฉ** - ์˜ค๋””์˜ค ์—…๋กœ๋“œ์—์„œ ์Šคํƒ€์ผ ์ฐธ์กฐ ์—…๋กœ๋“œ
3. **์ผ๊ด€๋œ caption ์‚ฌ์šฉ** - ์œ ์‚ฌํ•œ ์„ค๋ช…์  ์–ธ์–ด ์œ ์ง€
### ๋ฌธ์ œ ํ•ด๊ฒฐ
**์˜ค๋””์˜ค๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Œ:**
- ๋ชจ๋ธ์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธ (๋…น์ƒ‰ ์ƒํƒœ ๋ฉ”์‹œ์ง€)
- thinking ๋ชจ๋“œ ์‚ฌ์šฉ ์‹œ 5Hz LM์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
- ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์ƒํƒœ ์ถœ๋ ฅ ํ™•์ธ
**๊ฒฐ๊ณผ ํ’ˆ์งˆ์ด ๋‚ฎ์Œ:**
- ์ถ”๋ก  ์Šคํ… ์ฆ๊ฐ€ (base ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ)
- ๊ฐ€์ด๋˜์Šค ์Šค์ผ€์ผ ์กฐ์ •
- ๋‹ค๋ฅธ ์‹œ๋“œ ์‹œ๋„
- caption์„ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ž‘์„ฑ
**๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ (OOM):**
- ์‹œ์Šคํ…œ์— ์ž๋™ VRAM ๊ด€๋ฆฌ (VRAM ๊ฐ€๋“œ, ์ ์‘ํ˜• VAE ๋””์ฝ”๋“œ, ์ž๋™ ๋ฐฐ์น˜ ์ถ•์†Œ) ํฌํ•จ. ๊ทธ๋ž˜๋„ OOM ๋ฐœ์ƒ ์‹œ:
- ์ˆ˜๋™์œผ๋กœ ๋ฐฐ์น˜ ํฌ๊ธฐ ์ค„์ด๊ธฐ
- CPU ์˜คํ”„๋กœ๋“œ ํ™œ์„ฑํ™” (VRAM <20GB์—์„œ ์ž๋™ ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•จ)
- INT8 ์–‘์žํ™” ํ™œ์„ฑํ™” (VRAM <20GB์—์„œ ์ž๋™ ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•จ)
- LM ๋ฐฐ์น˜ ์ฒญํฌ ํฌ๊ธฐ ์ค„์ด๊ธฐ
**LM์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ:**
- ์ดˆ๊ธฐํ™” ์‹œ "5Hz LM ์ดˆ๊ธฐํ™”"๊ฐ€ ์ฒดํฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ (VRAM โ‰ค6GB GPU์—์„œ ๊ธฐ๋ณธ ๋น„ํ™œ์„ฑํ™”)
- ์œ ํšจํ•œ LM ๋ชจ๋ธ ๊ฒฝ๋กœ๊ฐ€ ์„ ํƒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ (ํ‹ฐ์–ด ํ˜ธํ™˜ ๋ชจ๋ธ๋งŒ ํ‘œ์‹œ)
- vllm ๋˜๋Š” PyTorch ๋ฐฑ์—”๋“œ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ (VRAM <8GB์—์„œ vllm ์ œํ•œ)
- LM ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ํšŒ์ƒ‰์ด๋ฉด GPU ํ‹ฐ์–ด๊ฐ€ LM์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ โ€” DiT ์ „์šฉ ๋ชจ๋“œ ์‚ฌ์šฉ
---
## ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค
Gradio ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ‘œ์ค€ ์›น ๋‹จ์ถ•ํ‚ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:
- **Tab** - ์ž…๋ ฅ ํ•„๋“œ ๊ฐ„ ์ด๋™
- **Enter** - ํ…์ŠคํŠธ ์ž…๋ ฅ ์ œ์ถœ
- **Space** - ์ฒดํฌ๋ฐ•์Šค ํ† ๊ธ€
---
## ์–ธ์–ด ์ง€์›
์ธํ„ฐํŽ˜์ด์Šค๋Š” ์—ฌ๋Ÿฌ UI ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:
- **์˜์–ด** (en)
- **์ค‘๊ตญ์–ด** (zh)
- **์ผ๋ณธ์–ด** (ja)
- **ํ•œ๊ตญ์–ด** (ko)
์„œ๋น„์Šค ์„ค์ • ์„น์…˜์—์„œ ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”.
---
์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”:
- ๋ฉ”์ธ README: [`../../README.md`](../../README.md)
- REST API ๋ฌธ์„œ: [`../en/API.md`](../en/API.md)
- Python ์ถ”๋ก  API: [`../en/INFERENCE.md`](../en/INFERENCE.md)