Ace-Step-Munk / docs /ko /GPU_COMPATIBILITY.md
OnyxMunk's picture
Add LoRA training assets: scripts, docs (no binaries), ui, my_dataset
bc9c638

A newer version of the Gradio SDK is available: 6.11.0

Upgrade

GPU ํ˜ธํ™˜์„ฑ ๊ฐ€์ด๋“œ

ACE-Step 1.5๋Š” GPU์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ VRAM์— ์ž๋™์œผ๋กœ ์ ์‘ํ•˜์—ฌ ์ƒ์„ฑ ์ œํ•œ, LM ๋ชจ๋ธ ๊ฐ€์šฉ์„ฑ, ์˜คํ”„๋กœ๋“œ ์ „๋žต ๋ฐ UI ๊ธฐ๋ณธ ์„ค์ •์„ ์ ์ ˆํžˆ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์‹œ์ž‘ ์‹œ GPU ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ตœ์ ์˜ ์„ค์ •์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

GPU ํ‹ฐ์–ด ๊ตฌ์„ฑ

VRAM ํ‹ฐ์–ด LM ๋ชจ๋ธ ์ถ”์ฒœ LM ๋ฐฑ์—”๋“œ ์ตœ๋Œ€ ๊ธธ์ด (LM ์‚ฌ์šฉ / ๋ฏธ์‚ฌ์šฉ) ์ตœ๋Œ€ ๋ฐฐ์น˜ (LM ์‚ฌ์šฉ / ๋ฏธ์‚ฌ์šฉ) ์˜คํ”„๋กœ๋“œ ์–‘์žํ™”
โ‰ค4GB ํ‹ฐ์–ด 1 ์—†์Œ โ€” pt 4๋ถ„ / 6๋ถ„ 1 / 1 CPU + DiT INT8
4-6GB ํ‹ฐ์–ด 2 ์—†์Œ โ€” pt 8๋ถ„ / 10๋ถ„ 1 / 1 CPU + DiT INT8
6-8GB ํ‹ฐ์–ด 3 0.6B 0.6B pt 8๋ถ„ / 10๋ถ„ 1 / 2 CPU + DiT INT8
8-12GB ํ‹ฐ์–ด 4 0.6B 0.6B vllm 8๋ถ„ / 10๋ถ„ 2 / 4 CPU + DiT INT8
12-16GB ํ‹ฐ์–ด 5 0.6B, 1.7B 1.7B vllm 8๋ถ„ / 10๋ถ„ 2 / 4 CPU INT8
16-20GB ํ‹ฐ์–ด 6a 0.6B, 1.7B 1.7B vllm 8๋ถ„ / 10๋ถ„ 4 / 8 CPU INT8
20-24GB ํ‹ฐ์–ด 6b 0.6B, 1.7B, 4B 1.7B vllm 8๋ถ„ / 8๋ถ„ 4 / 8 ์—†์Œ ์—†์Œ
โ‰ฅ24GB ์ œํ•œ ์—†์Œ ์ „์ฒด (0.6B, 1.7B, 4B) 4B vllm 10๋ถ„ / 10๋ถ„ 8 / 8 ์—†์Œ ์—†์Œ

์—ด ์„ค๋ช…

  • LM ๋ชจ๋ธ: ํ•ด๋‹น ํ‹ฐ์–ด์—์„œ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” 5Hz ์–ธ์–ด ๋ชจ๋ธ ํฌ๊ธฐ
  • ์ถ”์ฒœ LM: UI์—์„œ ํ•ด๋‹น ํ‹ฐ์–ด์— ๊ธฐ๋ณธ ์„ ํƒ๋˜๋Š” LM ๋ชจ๋ธ
  • ๋ฐฑ์—”๋“œ: LM ์ถ”๋ก  ๋ฐฑ์—”๋“œ (vllm์€ ์ถฉ๋ถ„ํ•œ VRAM์„ ๊ฐ€์ง„ NVIDIA GPU์šฉ, pt๋Š” PyTorch ๋Œ€์ฒด, mlx๋Š” Apple Silicon์šฉ)
  • ์˜คํ”„๋กœ๋“œ:
    • CPU + DiT: ๋ชจ๋“  ๋ชจ๋ธ(DiT, VAE, ํ…์ŠคํŠธ ์ธ์ฝ”๋”)์„ ๋ฏธ์‚ฌ์šฉ ์‹œ CPU๋กœ ์˜คํ”„๋กœ๋“œ; DiT๋„ ๋‹จ๊ณ„ ๊ฐ„ ์˜คํ”„๋กœ๋“œ
    • CPU: VAE์™€ ํ…์ŠคํŠธ ์ธ์ฝ”๋”๋ฅผ CPU๋กœ ์˜คํ”„๋กœ๋“œ; DiT๋Š” GPU์— ์œ ์ง€
    • ์—†์Œ: ๋ชจ๋“  ๋ชจ๋ธ์„ GPU์— ์œ ์ง€
  • ์–‘์žํ™”: VRAM ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ INT8 ๊ฐ€์ค‘์น˜ ์–‘์žํ™”๋ฅผ ํ™œ์„ฑํ™”ํ• ์ง€ ์—ฌ๋ถ€

์ ์‘ํ˜• UI ๊ธฐ๋ณธ ์„ค์ •

Gradio UI๋Š” ๊ฐ์ง€๋œ GPU ํ‹ฐ์–ด์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค:

  • LM ์ดˆ๊ธฐํ™” ์ฒดํฌ๋ฐ•์Šค: LM์„ ์ง€์›ํ•˜๋Š” ํ‹ฐ์–ด(ํ‹ฐ์–ด 3+)์—์„œ ๊ธฐ๋ณธ ์ฒดํฌ, ํ‹ฐ์–ด 1-2์—์„œ๋Š” ์ฒดํฌ ํ•ด์ œ ๋ฐ ๋น„ํ™œ์„ฑํ™”
  • LM ๋ชจ๋ธ ๊ฒฝ๋กœ: ํ‹ฐ์–ด์˜ ์ถ”์ฒœ ๋ชจ๋ธ์ด ์ž๋™ ์ž…๋ ฅ; ๋“œ๋กญ๋‹ค์šด์—๋Š” ํ˜ธํ™˜ ๋ชจ๋ธ๋งŒ ํ‘œ์‹œ
  • ๋ฐฑ์—”๋“œ ๋“œ๋กญ๋‹ค์šด: ํ‹ฐ์–ด 1-3์—์„œ๋Š” pt/mlx๋กœ ์ œํ•œ(vllm KV ์บ์‹œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉ); ํ‹ฐ์–ด 4+์—์„œ๋Š” ๋ชจ๋“  ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • CPU ์˜คํ”„๋กœ๋“œ / DiT ์˜คํ”„๋กœ๋“œ: ๋‚ฎ์€ ํ‹ฐ์–ด์—์„œ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”, ๋†’์€ ํ‹ฐ์–ด์—์„œ ๋น„ํ™œ์„ฑํ™”
  • ์–‘์žํ™”: ํ‹ฐ์–ด 1-6a์—์„œ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”, ํ‹ฐ์–ด 6b+์—์„œ ๋น„ํ™œ์„ฑํ™”(์ถฉ๋ถ„ํ•œ VRAM)
  • ๋ชจ๋ธ ์ปดํŒŒ์ผ: ๋ชจ๋“  ํ‹ฐ์–ด์—์„œ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”(์–‘์žํ™”์— ํ•„์š”)

ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์˜ต์…˜์„ ์ˆ˜๋™์œผ๋กœ ์„ ํƒํ•œ ๊ฒฝ์šฐ(์˜ˆ: 6GB GPU์—์„œ vllm ์‚ฌ์šฉ ์‹œ๋„), ์‹œ์Šคํ…œ์ด ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์„ค์ •์œผ๋กœ ์ž๋™ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„ ์•ˆ์ „ ๊ธฐ๋Šฅ

  • VRAM ๊ฐ€๋“œ: ๊ฐ ์ถ”๋ก  ์ „์— VRAM ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถ”์ •ํ•˜๊ณ  ํ•„์š” ์‹œ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์ž๋™ ์ถ•์†Œ
  • ์ ์‘ํ˜• VAE ๋””์ฝ”๋”ฉ: 3๋‹จ๊ณ„ ๋Œ€์ฒด: GPU ํƒ€์ผ ๋””์ฝ”๋”ฉ โ†’ GPU ๋””์ฝ”๋”ฉ+CPU ์˜คํ”„๋กœ๋“œ โ†’ ์™„์ „ CPU ๋””์ฝ”๋”ฉ
  • ์ž๋™ ์ฒญํฌ ํฌ๊ธฐ: VAE ๋””์ฝ”๋”ฉ ์ฒญํฌ ํฌ๊ธฐ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฌ์œ  VRAM์— ์ ์‘(64/128/256/512/1024/1536)
  • ๊ธธ์ด/๋ฐฐ์น˜ ํด๋žจํ•‘: ํ‹ฐ์–ด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์„ ์š”์ฒญํ•˜๋ฉด ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜ ์ž๋™ ์กฐ์ •

์ฐธ๊ณ  ์‚ฌํ•ญ

  • ๊ธฐ๋ณธ ์„ค์ •์€ ๊ฐ์ง€๋œ GPU ๋ฉ”๋ชจ๋ฆฌ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค
  • LM ๋ชจ๋“œ๋Š” Chain-of-Thought ์ƒ์„ฑ ๋ฐ ์˜ค๋””์˜ค ์ดํ•ด์— ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด ๋ชจ๋ธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค
  • Flash Attention์€ ์ž๋™ ๊ฐ์ง€๋˜๋ฉฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•  ๋•Œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค
  • ์ œ์•ฝ ๋””์ฝ”๋”ฉ: LM์ด ์ดˆ๊ธฐํ™”๋˜๋ฉด LM์˜ ๊ธธ์ด ์ƒ์„ฑ๋„ GPU ํ‹ฐ์–ด์˜ ์ตœ๋Œ€ ๊ธธ์ด ์ œํ•œ์œผ๋กœ ์ œ์•ฝ๋˜์–ด CoT ์ƒ์„ฑ ์ค‘ OOM ์—๋Ÿฌ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • VRAM์ด 6GB ์ดํ•˜์ธ GPU(ํ‹ฐ์–ด 1-2)์˜ ๊ฒฝ์šฐ, DiT ๋ชจ๋ธ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด๋ฅผ ์œ„ํ•ด LM ์ดˆ๊ธฐํ™”๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค
  • CLI ์ธ์ž ๋˜๋Š” Gradio UI๋ฅผ ํ†ตํ•ด ์„ค์ •์„ ์ˆ˜๋™์œผ๋กœ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ ํ™˜์˜: ์œ„์˜ GPU ํ‹ฐ์–ด ๊ตฌ์„ฑ์€ ์ผ๋ฐ˜์ ์ธ ํ•˜๋“œ์›จ์–ด์—์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ธ ์žฅ์น˜์˜ ์‹ค์ œ ์„ฑ๋Šฅ์ด ์ด ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋‹ค๋ฅด๋‹ค๋ฉด, ๋” ์ฒ ์ €ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  acestep/gpu_config.py์—์„œ ๊ตฌ์„ฑ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ PR์„ ์ œ์ถœํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ํŒ

  1. ์ดˆ์ € VRAM (โ‰ค6GB): LM ์ดˆ๊ธฐํ™” ์—†์ด DiT ์ „์šฉ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉ. INT8 ์–‘์žํ™”์™€ ์™„์ „ CPU ์˜คํ”„๋กœ๋“œ๊ฐ€ ํ•„์ˆ˜. VAE ๋””์ฝ”๋”ฉ์ด ์ž๋™์œผ๋กœ CPU๋กœ ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ € VRAM (6-8GB): pt ๋ฐฑ์—”๋“œ๋กœ 0.6B LM ๋ชจ๋ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ์˜คํ”„๋กœ๋“œ๋ฅผ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์„ธ์š”.
  3. ์ค‘๊ฐ„ VRAM (8-16GB): 0.6B ๋˜๋Š” 1.7B LM ๋ชจ๋ธ์„ ์‚ฌ์šฉ. ํ‹ฐ์–ด 4+์—์„œ vllm ๋ฐฑ์—”๋“œ๊ฐ€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋†’์€ VRAM (16-24GB): ๋” ํฐ LM ๋ชจ๋ธ(1.7B ์ถ”์ฒœ)์„ ํ™œ์„ฑํ™”. 20GB+์—์„œ๋Š” ์–‘์žํ™”๊ฐ€ ์„ ํƒ ์‚ฌํ•ญ์ด ๋ฉ๋‹ˆ๋‹ค.
  5. ์ดˆ๊ณ  VRAM (โ‰ฅ24GB): ๋ชจ๋“  ๋ชจ๋ธ์ด ์˜คํ”„๋กœ๋“œ๋‚˜ ์–‘์žํ™” ์—†์ด ์ž‘๋™. ์ตœ๊ณ  ํ’ˆ์งˆ์„ ์œ„ํ•ด 4B LM์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋””๋ฒ„๊ทธ ๋ชจ๋“œ: ๋‹ค๋ฅธ GPU ๊ตฌ์„ฑ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

ํ…Œ์ŠคํŠธ ๋ฐ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด MAX_CUDA_VRAM ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ GPU ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# 4GB GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (ํ‹ฐ์–ด 1)
MAX_CUDA_VRAM=4 uv run acestep

# 6GB GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (ํ‹ฐ์–ด 2)
MAX_CUDA_VRAM=6 uv run acestep

# 8GB GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (ํ‹ฐ์–ด 4)
MAX_CUDA_VRAM=8 uv run acestep

# 12GB GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (ํ‹ฐ์–ด 5)
MAX_CUDA_VRAM=12 uv run acestep

# 16GB GPU ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (ํ‹ฐ์–ด 6a)
MAX_CUDA_VRAM=16 uv run acestep

MAX_CUDA_VRAM์„ ์„ค์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์€ torch.cuda.set_per_process_memory_fraction()์„ ํ˜ธ์ถœํ•˜์—ฌ VRAM ํ•˜๋“œ ์บก์„ ๊ฐ•์ œํ•˜๋ฉฐ, ๊ณ ์‚ฌ์–‘ GPU์—์„œ๋„ ํ˜„์‹ค์ ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ํ‹ฐ์–ด ํ…Œ์ŠคํŠธ

UI์—์„œ ๊ฐ ํ‹ฐ์–ด๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋Œ€์‹ , profile_inference.py์˜ tier-test ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# ๋ชจ๋“  ํ‹ฐ์–ด ์ž๋™ ํ…Œ์ŠคํŠธ
python profile_inference.py --mode tier-test

# ํŠน์ • ํ‹ฐ์–ด ํ…Œ์ŠคํŠธ
python profile_inference.py --mode tier-test --tiers 6 8 16

# LM ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ…Œ์ŠคํŠธ (์ง€์›๋˜๋Š” ํ‹ฐ์–ด์—์„œ)
python profile_inference.py --mode tier-test --tier-with-lm

# ๋น ๋ฅธ ํ…Œ์ŠคํŠธ (๋น„์–‘์žํ™” ํ‹ฐ์–ด์—์„œ torch.compile ๊ฑด๋„ˆ๋›ฐ๊ธฐ)
python profile_inference.py --mode tier-test --tier-skip-compile

ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ์˜ ์ „์ฒด ๋ฌธ์„œ๋Š” BENCHMARK.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ๊ณ ์‚ฌ์–‘ ํ•˜๋“œ์›จ์–ด์—์„œ GPU ํ‹ฐ์–ด ๊ตฌ์„ฑ ํ…Œ์ŠคํŠธ
  • ๊ฐ ํ‹ฐ์–ด์— ๋Œ€ํ•ด ๊ฒฝ๊ณ  ๋ฐ ์ œํ•œ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ
  • acestep/gpu_config.py ์ˆ˜์ • ํ›„ ์ž๋™ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ
  • CI/CD VRAM ํ˜ธํ™˜์„ฑ ๊ฒ€์ฆ

๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ (์ตœ์†Œ ํ‹ฐ์–ด ์ฐพ๊ธฐ)

--tier-boundary๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด INT8 ์–‘์žํ™”์™€ CPU ์˜คํ”„๋กœ๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ VRAM ํ‹ฐ์–ด๋ฅผ ์‹คํ—˜์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ‹ฐ์–ด์— ๋Œ€ํ•ด ์ตœ๋Œ€ 3๊ฐ€์ง€ ๊ตฌ์„ฑ์œผ๋กœ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค:

  1. default โ€” ํ‹ฐ์–ด์˜ ๊ธฐ๋ณธ ์„ค์ • (์–‘์žํ™” + ์˜คํ”„๋กœ๋“œ๋ฅผ ๊ตฌ์„ฑ๋Œ€๋กœ ์‚ฌ์šฉ)
  2. no-quant โ€” ์˜คํ”„๋กœ๋“œ ์„ค์ •์€ ์œ ์ง€ํ•˜๋˜ ์–‘์žํ™” ๋น„ํ™œ์„ฑํ™”
  3. no-offload โ€” ์–‘์žํ™” ์—†์Œ, CPU ์˜คํ”„๋กœ๋“œ ์—†์Œ (๋ชจ๋“  ๋ชจ๋ธ์„ GPU์— ์œ ์ง€)
# ๋ชจ๋“  ํ‹ฐ์–ด์—์„œ ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ ์‹คํ–‰
python profile_inference.py --mode tier-test --tier-boundary

# ํŠน์ • ํ‹ฐ์–ด์˜ ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ
python profile_inference.py --mode tier-test --tier-boundary --tiers 8 12 16 20 24

# LM ํ™œ์„ฑํ™”๋œ ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ (์ง€์›๋˜๋Š” ํ‹ฐ์–ด์—์„œ)
python profile_inference.py --mode tier-test --tier-boundary --tier-with-lm

# ๊ฒฐ๊ณผ๋ฅผ JSON์œผ๋กœ ์ €์žฅ
python profile_inference.py --mode tier-test --tier-boundary --benchmark-output boundary_results.json

์ฐธ๊ณ : ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋Š” ๊ฒฝํ—˜์ ์ด๋ฉฐ, DiT ๋ชจ๋ธ ๋ณ€ํ˜• (turbo vs base), LM ํ™œ์„ฑํ™” ์—ฌ๋ถ€, ์ƒ์„ฑ ์‹œ๊ฐ„, flash attention ๊ฐ€์šฉ์„ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์น˜ ํฌ๊ธฐ ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ

--tier-batch-boundary๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์น˜ ํฌ๊ธฐ 1, 2, 4, 8์„ ๋‹จ๊ณ„์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜์—ฌ ๊ฐ ํ‹ฐ์–ด์˜ ์ตœ๋Œ€ ์•ˆ์ „ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค:

# LM ํ™œ์„ฑํ™” ์ƒํƒœ์—์„œ ๋ฐฐ์น˜ ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ ์‹คํ–‰
python profile_inference.py --mode tier-test --tier-batch-boundary --tier-with-lm

# ํŠน์ • ํ‹ฐ์–ด ํ…Œ์ŠคํŠธ
python profile_inference.py --mode tier-test --tier-batch-boundary --tier-with-lm --tiers 8 12 16 24

LM ์‚ฌ์šฉ/๋ฏธ์‚ฌ์šฉ ๋‘ ๊ฐ€์ง€ ๊ตฌ์„ฑ์„ ๋ชจ๋‘ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฐ ํ‹ฐ์–ด์˜ ์ตœ๋Œ€ ์„ฑ๊ณต ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.