Scaling Laws
Scaling Laws¶
ํ์ต ๋ชฉํ¶
- Scaling Laws์ ๊ฐ๋ ๊ณผ ์ํ์ ํํ ์ดํด
- Kaplan et al. vs Chinchilla ๋ฒ์น ๋น๊ต
- Compute-optimal ํ์ต ์ ๋ต ์ต๋
- ์ค๋ฌด์์์ Scaling Laws ํ์ฉ๋ฒ ํ์
1. Scaling Laws๋?¶
1.1 ์ ์¶
Scaling Laws๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ์(N), ๋ฐ์ดํฐ ์(D), ๊ณ์ฐ๋(C)๊ณผ ์ฑ๋ฅ(Loss)์ ๊ด๊ณ๋ฅผ ์ค๋ช ํ๋ ๊ฒฝํ์ ๋ฒ์น์ ๋๋ค.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Scaling Laws ํต์ฌ ๊ด๊ณ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Loss โ A/N^ฮฑ + B/D^ฮฒ + E โ
โ โ
โ N = ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ์ โ
โ D = ํ์ต ๋ฐ์ดํฐ ํ ํฐ ์ โ
โ C = ๊ณ์ฐ๋ (FLOPs) โ 6 ร N ร D โ
โ E = ๋ฌ์ฑ ๋ถ๊ฐ๋ฅํ ์ต์ ์์ค (entropy of data) โ
โ โ
โ ํต์ฌ ๋ฐ๊ฒฌ: โ
โ โข Loss๋ N, D์ ๋ํด Power Law๋ก ๊ฐ์ โ
โ โข C๋ฅผ ๊ณ ์ ํ ๋, N๊ณผ D์ ์ต์ ๋น์จ์ด ์กด์ฌ โ
โ โข ๋ ํฐ ๋ชจ๋ธ์ ๋ ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ฉ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1.2 ์ ์ค์ํ๊ฐ?¶
"""
Scaling Laws์ ์ค๋ฌด์ ๊ฐ์น:
1. ๋น์ฉ ์์ธก
- ํ์ต ์ ์ ํ์ํ ๋ฆฌ์์ค ์ถ์ ๊ฐ๋ฅ
- "10B ๋ชจ๋ธ์ ํ์ตํ๋ ค๋ฉด ์ผ๋ง๋ ํ์ํ๊ฐ?"
2. ์ต์ ํ ๋น
- ๊ณ ์ ๋ ์์ฐ์์ ๋ชจ๋ธ ํฌ๊ธฐ vs ๋ฐ์ดํฐ ์ ๊ฒฐ์
- "100M$ ์์ ๋, ์ต๊ณ ์ฑ๋ฅ์ ์ํ ์ค์ ์?"
3. ์ฑ๋ฅ ์์ธก
- ์์ ๋ชจ๋ธ๋ก ํฐ ๋ชจ๋ธ์ ์ฑ๋ฅ ์ถ์
- "ํ์ฌ 7B ๋ชจ๋ธ, 70B๋ก ํค์ฐ๋ฉด ์ฑ๋ฅ์ด ์ผ๋ง๋?"
4. ์ฐ๊ตฌ ๊ณํ
- ํฌ์ ๋๋น ํจ๊ณผ๊ฐ ํฐ ์ฐ๊ตฌ ๋ฐฉํฅ ๊ฒฐ์
- "๋ฐ์ดํฐ๋ฅผ ๋๋ฆด๊น, ๋ชจ๋ธ์ ํค์ธ๊น?"
"""
2. Kaplan Scaling Laws (2020)¶
2.1 OpenAI ์ด๊ธฐ ์ฐ๊ตฌ¶
Kaplan et al.์ 2020๋ ๋ ผ๋ฌธ "Scaling Laws for Neural Language Models"์์ ๋ฐ๊ฒฌํ ๋ฒ์น:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Kaplan Scaling Laws โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ 1. Loss vs Parameters โ
โ L(N) = (N_c / N)^ฮฑ_N, where ฮฑ_N โ 0.076 โ
โ โ
โ 2. Loss vs Data โ
โ L(D) = (D_c / D)^ฮฑ_D, where ฮฑ_D โ 0.095 โ
โ โ
โ 3. Loss vs Compute โ
โ L(C) = (C_c / C)^ฮฑ_C, where ฮฑ_C โ 0.050 โ
โ โ
โ ํต์ฌ ์ฃผ์ฅ: โ
โ โข ํ๋ผ๋ฏธํฐ ์๊ฐ ๊ฐ์ฅ ์ค์ (ฮฑ_N < ฮฑ_D) โ
โ โข ๊ฐ์ compute๋ฉด, ํฐ ๋ชจ๋ธ + ์ ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฆฌ โ
โ โข N โ C^0.73, D โ C^0.27 (Compute ์ต์ ํ ๋น) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
2.2 ์๊ฐํ¶
Loss (Log)
โ
3.5 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100M params
โ โฒ
3.0 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 1B params
โ โฒ
2.5 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 10B params
โ โฒ
2.0 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ100B params
โ โฒ
1.5 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 1T params (์์ธก)
โ
โโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโถ
10^18 19 20 21 22 23 Compute (FLOPs)
โข ์ง์ = Power Law (๋ก๊ทธ ์ค์ผ์ผ์์ ์ ํ)
โข ๊ธฐ์ธ๊ธฐ = ฮฑ_C โ 0.05
2.3 Kaplan ๋ฒ์น์ ๋ฐ๋ฅธ ๋ชจ๋ธ ์ค๊ณ¶
"""
Kaplan ๋ฒ์น ์ ์ฉ ์์:
Compute budget: 10^21 FLOPs
Kaplan ์ต์ ํ ๋น:
- N โ C^0.73 โ N โ 10^15 (์ฝ 1์กฐ ํ๋ผ๋ฏธํฐ?!)
- D โ C^0.27 โ D โ 10^9 (์ฝ 10์ต ํ ํฐ)
๋ฌธ์ ์ :
- ๋ชจ๋ธ์ด ๋๋ฌด ์ปค์ง๊ณ ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑ
- ์ค์ GPT-3 (175B)๋ ์ด ๋ฒ์น์ ๋ฐ๋์ง๋ง...
- Chinchilla๊ฐ ์ด๋ฅผ ๋ฐ๋ฐ
"""
3. Chinchilla Scaling Laws (2022)¶
3.1 DeepMind์ ์ฌ๋ฐ๊ฒฌ¶
Hoffmann et al.์ "Training Compute-Optimal Large Language Models"๋ Kaplan ๋ฒ์น์ ์์ :
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chinchilla Scaling Laws โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ํต์ฌ ๋ฐ๊ฒฌ: ๊ธฐ์กด ๋ชจ๋ธ๋ค์ Under-trained! โ
โ โ
โ Compute-optimal scaling: โ
โ โข N โ C^0.5 (ํ๋ผ๋ฏธํฐ ์) โ
โ โข D โ C^0.5 (๋ฐ์ดํฐ ํ ํฐ ์) โ
โ โข ์ฆ, N๊ณผ D๋ฅผ ๋์ผ ๋น์จ๋ก ์ฆ๊ฐ์์ผ์ผ ์ต์ โ
โ โ
โ ์ค์ฉ์ ๊ท์น: โ
โ D โ 20 ร N (ํ ํฐ ์ โ 20 ร ํ๋ผ๋ฏธํฐ ์) โ
โ โ
โ ์์: โ
โ โข 1B ๋ชจ๋ธ โ 20B ํ ํฐ ํ์ โ
โ โข 7B ๋ชจ๋ธ โ 140B ํ ํฐ ํ์ โ
โ โข 70B ๋ชจ๋ธ โ 1.4T ํ ํฐ ํ์ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.2 Chinchilla vs Gopher ๋น๊ต¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chinchilla (70B) vs Gopher (280B) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๋ชจ๋ธ โ ํ๋ผ๋ฏธํฐ โ ํ์ต ํ ํฐ โ Compute โ ์ฑ๋ฅ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ Gopher โ 280B โ 300B โ 5.0ร10^23 โ ๊ธฐ์ค โ
โ Chinchilla โ 70B โ 1.4T โ 5.0ร10^23 โ +10% ํฅ์ โ
โ โ
โ ๊ฒฐ๋ก : โ
โ โข ๊ฐ์ Compute๋ก 4๋ฐฐ ์์ ๋ชจ๋ธ์ด ๋ ์ข์ ์ฑ๋ฅ! โ
โ โข Gopher๋ Under-trained (๋ฐ์ดํฐ ๋ถ์กฑ) โ
โ โข ๋ชจ๋ธ ํฌ๊ธฐ๋ง ํค์ฐ๋ฉด ๋นํจ์จ์ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.3 ๊ธฐ์กด ๋ชจ๋ธ๋ค์ ์ํ¶
Tokens (D)
โ
10T โ โ LLaMA 2 (2023)
โ โ
1T โ โ Chinchilla (Optimal)
โ โฑ
100B โ โฑ โ GPT-3 (Under-trained)
โ โฑ
10B โ โฑ
โ โฑ โ Gopher (Very Under-trained)
1B โโ
โโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโถ
1B 10B 100B 1T 10T Parameters (N)
โฑ = Compute-optimal frontier (D โ 20N)
์ ๋ค์ด ์ ์๋์ ์์ผ๋ฉด Under-trained
4. ์ํ์ ํํ¶
4.1 Loss ํจ์¶
"""
Scaling Law์ ์ํ์ ํํ:
1. ๋จ์ผ ๋ณ์ Scaling
L(N) = (N_c / N)^ฮฑ + L_โ # ํ๋ผ๋ฏธํฐ๋ง ๊ณ ๋ ค
L(D) = (D_c / D)^ฮฒ + L_โ # ๋ฐ์ดํฐ๋ง ๊ณ ๋ ค
2. ๊ฒฐํฉ๋ Scaling (Chinchilla)
L(N, D) = E + A/N^ฮฑ + B/D^ฮฒ
where:
- E โ 1.69 (irreducible loss, ๋ฐ์ดํฐ ์ํธ๋กํผ)
- A โ 406.4
- B โ 410.7
- ฮฑ โ 0.34
- ฮฒ โ 0.28
3. Compute ๊ด์
C โ 6 ร N ร D (FLOPs for training)
์ต์ ํ: min L(N, D) subject to C = 6ND
๊ฒฐ๊ณผ: N* โ C^0.5, D* โ C^0.5
"""
4.2 Python์ผ๋ก Scaling Law ์๋ฎฌ๋ ์ด์ ¶
import numpy as np
import matplotlib.pyplot as plt
def chinchilla_loss(N, D, A=406.4, B=410.7, alpha=0.34, beta=0.28, E=1.69):
"""
Chinchilla Scaling Law์ ๋ฐ๋ฅธ Loss ๊ณ์ฐ
Args:
N: ํ๋ผ๋ฏธํฐ ์ (billions)
D: ํ ํฐ ์ (billions)
Returns:
์์ Loss (perplexity์ log)
"""
return E + A / (N ** alpha) + B / (D ** beta)
def optimal_allocation(compute_budget, flops_per_token=6):
"""
์ฃผ์ด์ง Compute budget์์ ์ต์ ์ N, D ๊ณ์ฐ
Args:
compute_budget: ์ด FLOPs (์: 10^23)
flops_per_token: ํ ํฐ๋น FLOPs (์ฝ 6N)
Returns:
optimal_N, optimal_D (in billions)
"""
# Chinchilla ์ต์ ๋น์จ: D โ 20N
# C = 6 * N * D = 6 * N * 20N = 120 * N^2
# N = sqrt(C / 120)
optimal_N = np.sqrt(compute_budget / 120) / 1e9 # billions
optimal_D = 20 * optimal_N # billions
return optimal_N, optimal_D
# ์์: 10^23 FLOPs ์์ฐ
compute = 1e23
N_opt, D_opt = optimal_allocation(compute)
print(f"Compute budget: 10^23 FLOPs")
print(f"Optimal parameters: {N_opt:.1f}B")
print(f"Optimal tokens: {D_opt:.1f}B")
print(f"Expected loss: {chinchilla_loss(N_opt, D_opt):.3f}")
# ์๊ฐํ: N vs D์ ๋ฐ๋ฅธ Loss
N_range = np.logspace(0, 3, 50) # 1B to 1000B
D_range = np.logspace(0, 4, 50) # 1B to 10000B
N_grid, D_grid = np.meshgrid(N_range, D_range)
Loss_grid = chinchilla_loss(N_grid, D_grid)
plt.figure(figsize=(10, 8))
plt.contour(N_grid, D_grid, Loss_grid, levels=20)
plt.xscale('log')
plt.yscale('log')
plt.xlabel('Parameters N (Billions)')
plt.ylabel('Tokens D (Billions)')
plt.title('Chinchilla Scaling Law: Loss Contours')
plt.colorbar(label='Loss')
plt.plot(N_range, 20*N_range, 'r--', label='Optimal ratio (D=20N)')
plt.legend()
plt.show()
5. ์ค์ ๋ชจ๋ธ์์์ ์ ์ฉ¶
5.1 ์ฃผ์ ๋ชจ๋ธ Scaling ๋น๊ต¶
| ๋ชจ๋ธ | ํ๋ผ๋ฏธํฐ (N) | ํ ํฐ (D) | D/N ๋น์จ | ์ํ |
|---|---|---|---|---|
| GPT-3 | 175B | 300B | 1.7 | Under-trained |
| Gopher | 280B | 300B | 1.1 | Very Under-trained |
| Chinchilla | 70B | 1.4T | 20 | Optimal |
| LLaMA 1 | 65B | 1.4T | 21.5 | Near-optimal |
| LLaMA 2 | 70B | 2T | 28.6 | Slight Over-trained |
| Mistral | 7B | 8T (์ถ์ ) | ~1000 | Over-trained |
5.2 Over-training์ ์ฅ์ ¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Over-training ์ ๋ต (LLaMA 2, Mistral) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Chinchilla๋ "ํ์ต" ์ต์ ์ด์ง๋ง, "๋ฐฐํฌ"๋ ๋ค๋ฆ! โ
โ โ
โ ๋ฐฐํฌ ๊ด์ ์์: โ
โ โข ์ถ๋ก ๋น์ฉ โ N (๋ชจ๋ธ ํฌ๊ธฐ) โ
โ โข ํ์ต์ ํ ๋ฒ, ์ถ๋ก ์ ์์กฐ ๋ฒ โ
โ โ
โ ๋ฐ๋ผ์: โ
โ โข ์์ ๋ชจ๋ธ + ๋ง์ ๋ฐ์ดํฐ = ์ถ๋ก ํจ์จ์ โ
โ โข "Inference-optimal" โ "Compute-optimal" โ
โ โ
โ LLaMA 2 ์ ๋ต: โ
โ โข 70B ๋ชจ๋ธ์ 2T ํ ํฐ (D/N โ 29) โ
โ โข Chinchilla๋ณด๋ค ๋ ์ค๋ ํ์ต โ
โ โข ๊ฒฐ๊ณผ: ์์ ๋ชจ๋ธ๋ก ๋ ์ข์ ์ฑ๋ฅ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
5.3 ์ค๋ฌด ๊ฐ์ด๋๋ผ์ธ¶
"""
์ค๋ฌด์์์ Scaling ์ ๋ต:
1. ์ฐ๊ตฌ/์คํ ๋จ๊ณ (Compute-limited)
- Chinchilla ๊ท์น ๋ฐ๋ฅด๊ธฐ: D โ 20N
- ์์ ๋ชจ๋ธ๋ก ๋น ๋ฅด๊ฒ ๋ฐ๋ณต
2. ํ๋ก๋์
๋ฐฐํฌ (Inference-limited)
- Over-training ๊ณ ๋ ค: D > 20N
- ์์ ๋ชจ๋ธ + ๋ง์ ๋ฐ์ดํฐ
- ์: Mistral 7B > LLaMA 2 13B (์ผ๋ถ ํ์คํฌ)
3. ์์ฐ ๊ณํ
- C = 6 * N * D (FLOPs)
- GPU hours โ C / (GPU_FLOPS * utilization)
- ์: A100 80GB = ~300 TFLOPS (์คํจ)
4. ์ค์ผ์ผ์
์ ๋ต
- ์์ ๋ชจ๋ธ๋ก ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- Scaling Law๋ก ํฐ ๋ชจ๋ธ ์ฑ๋ฅ ์์ธก
- ๊ฒ์ฆ ํ ๋๊ท๋ชจ ํ์ต ์คํ
"""
def estimate_training_cost(N_billions, D_billions, gpu_price_per_hour=2.0):
"""
ํ์ต ๋น์ฉ ์ถ์
Args:
N_billions: ํ๋ผ๋ฏธํฐ ์ (B)
D_billions: ํ ํฐ ์ (B)
gpu_price_per_hour: GPU ์๊ฐ๋น ๋น์ฉ (USD)
Returns:
dict: ์์ ๋น์ฉ ์ ๋ณด
"""
N = N_billions * 1e9
D = D_billions * 1e9
# 6ND FLOPs for training
total_flops = 6 * N * D
# A100 80GB: ~300 TFLOPS effective
gpu_tflops = 300
gpu_flops = gpu_tflops * 1e12
# ์ด GPU ์๊ฐ
total_gpu_seconds = total_flops / gpu_flops
total_gpu_hours = total_gpu_seconds / 3600
# ๋น์ฉ
total_cost = total_gpu_hours * gpu_price_per_hour
return {
"total_flops": f"{total_flops:.2e}",
"gpu_hours": f"{total_gpu_hours:,.0f}",
"cost_usd": f"${total_cost:,.0f}",
"cost_with_8gpus": f"${total_cost/8:,.0f} ({total_gpu_hours/8:,.0f} hours)"
}
# ์์: LLaMA 2 7B ํ์ต ๋น์ฉ
cost_7b = estimate_training_cost(7, 2000)
print("LLaMA 2 7B (2T tokens):")
for k, v in cost_7b.items():
print(f" {k}: {v}")
6. Scaling Law์ ํ์ฅ¶
6.1 ๋ค๋ฅธ ๋๋ฉ์ธ์์์ Scaling¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๋๋ฉ์ธ๋ณ Scaling Laws โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Vision (ViT): โ
โ โข ๋น์ทํ power law ๊ด์ฐฐ โ
โ โข ฮฑ โ 0.05 (Language๋ณด๋ค ์์) โ
โ โข ๋ฐ์ดํฐ ํ์ง์ด ๋ ์ค์ โ
โ โ
โ Multimodal (CLIP): โ
โ โข ์ด๋ฏธ์ง์ ํ
์คํธ ์ค์ผ์ผ๋ง ๋ณ๋ ์ต์ ํ ํ์ โ
โ โข ๋ฐ์ดํฐ ์์ ํ์ง์ด ํต์ฌ โ
โ โ
โ Code: โ
โ โข ๋ ๊ฐํ๋ฅธ scaling (ฮฑ ๋ ํผ) โ
โ โข ๊ณ ํ์ง ์ฝ๋ ๋ฐ์ดํฐ๊ฐ ํฌ์ โ
โ โ
โ Reasoning: โ
โ โข Emergent behavior๋ก ์ธํด smoothํ์ง ์์ โ
โ โข ํน์ ์๊ณ์ ์์ ๊ฐ์๊ธฐ ์ฑ๋ฅ ํฅ์ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
6.2 Fine-tuning Scaling Laws¶
"""
Fine-tuning์๋ Scaling Law ์ ์ฉ:
์ฐ๊ตฌ ๊ฒฐ๊ณผ:
- ๋ ํฐ base model = ๋ ์ ์ fine-tuning ๋ฐ์ดํฐ ํ์
- Fine-tuning ๋ฐ์ดํฐ๋ power law๋ก ์ค์ผ์ผ
- LoRA ๋ฑ PEFT๋ ์ ์ฌํ ํจํด
์ค์ฉ์ ๊ท์น:
- Base ๋ชจ๋ธ ํฌ๊ธฐ ร 10 = Fine-tuning ๋ฐ์ดํฐ ์ (๋๋ต)
- 7B ๋ชจ๋ธ: ~1K-10K examples
- 70B ๋ชจ๋ธ: ~100-1K examples (๊ฐ์ ์ฑ๋ฅ ๋ฌ์ฑ ์)
๋จ, ํ์ง > ์:
- ๊ณ ํ์ง ๋ฐ์ดํฐ 100๊ฐ > ์ ํ์ง ๋ฐ์ดํฐ 10,000๊ฐ
"""
6.3 Inference Scaling (Test-time Compute)¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Inference Scaling (o1 ๋ฐฉ์) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ์ ํต์ Scaling: ํ์ต ์ compute ์ฆ๊ฐ โ
โ Inference Scaling: ์ถ๋ก ์ compute ์ฆ๊ฐ โ
โ โ
โ ๋ฐฉ๋ฒ: โ
โ โข Chain-of-Thought ๊ธธ๊ฒ ์์ฑ โ
โ โข ์ฌ๋ฌ ๋ต๋ณ ์์ฑ ํ ํฌํ (Self-consistency) โ
โ โข Tree of Thoughts / Beam Search โ
โ โข Verification/Refinement ๋ฐ๋ณต โ
โ โ
โ ํจ๊ณผ: โ
โ โข ์ด๋ ค์ด ๋ฌธ์ ์์ ์ ํ๋ ํฌ๊ฒ ํฅ์ โ
โ โข ํ์ต ์์ด ์ฑ๋ฅ ํฅ์ ๊ฐ๋ฅ โ
โ โข GPT-4 โ o1์ผ๋ก์ ํจ๋ฌ๋ค์ (์ถ๋ก ์๊ฐ scaling) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
7. Scaling์ ํ๊ณ¶
7.1 ๋ฌผ๋ฆฌ์ ํ๊ณ¶
"""
Scaling์ ์ค์ ํ๊ณ:
1. ๋ฐ์ดํฐ ํ๊ณ
- ์ธํฐ๋ท ํ
์คํธ ์ด๋: ~10-50T ํ ํฐ
- ๊ณ ํ์ง ๋ฐ์ดํฐ๋ ํจ์ฌ ์ ์
- 2024๋
๊ธฐ์ค, ๋ฐ์ดํฐ ๊ณ ๊ฐ ๋
ผ์ ์์
2. ์ปดํจํธ ํ๊ณ
- ์ ๋ ฅ ์๋น (MW ๋จ์)
- ๋ฐ๋์ฒด ๊ณต๊ธ
- ๋น์ฉ (์์ญ์ต ๋ฌ๋ฌ)
3. ์ํคํ
์ฒ ํ๊ณ
- Attention์ O(nยฒ) ๋ณต์ก๋
- Memory bandwidth bottleneck
- Communication overhead in distributed training
4. ์์ต ์ฒด๊ฐ (Diminishing Returns)
- ฮฑ โ 0.05๋ 10๋ฐฐ compute โ ~12% loss ๊ฐ์
- ์ ์ ๋ ํฐ ํฌ์ ํ์
"""
7.2 Scaling ์ธ์ ๊ฐ์ ๋ฐฉํฅ¶
| ๋ฐฉํฅ | ์ค๋ช | ์์ |
|---|---|---|
| Architecture | ๋ ํจ์จ์ ์ธ ๊ตฌ์กฐ | Mamba, RWKV, Hyena |
| Data Quality | ๊ณ ํ์ง ๋ฐ์ดํฐ ํ๋ ์ด์ | Phi, LIMA |
| Synthetic Data | AI๋ก ํ์ต ๋ฐ์ดํฐ ์์ฑ | Self-Instruct |
| Efficient Training | ํ์ต ํจ์จ ๊ฐ์ | Flash Attention, ZeRO |
| Test-time Compute | ์ถ๋ก ์ ๊ณ์ฐ ์ฆ๊ฐ | CoT, Self-consistency, o1 |
์ ๋ฆฌ¶
ํต์ฌ ๊ฐ๋ ¶
- Scaling Laws: ํ๋ผ๋ฏธํฐ, ๋ฐ์ดํฐ, ๊ณ์ฐ๋๊ณผ ์ฑ๋ฅ์ power law ๊ด๊ณ
- Kaplan: N์ ์ฐ์ ์ (ํฐ ๋ชจ๋ธ + ์ ์ ๋ฐ์ดํฐ)
- Chinchilla: N๊ณผ D ๊ท ํ (D โ 20N)
- Over-training: ์ถ๋ก ํจ์จ์ ์ํด ์์ ๋ชจ๋ธ์ ๋ ์ค๋ ํ์ต
์ค๋ฌด ๊ณต์¶
Compute-optimal: D โ 20 ร N (ํ ํฐ)
Training FLOPs: C โ 6 ร N ร D
Inference-optimal: ์์ N, ํฐ D
๋ค์ ๋จ๊ณ¶
- 03_Emergent_Abilities.md: ๊ท๋ชจ์ ๋ฐ๋ฅธ ์ฐฝ๋ฐ์ ๋ฅ๋ ฅ
- 08_LLaMA_Family.md: Scaling ์ ์ฉ ์ฌ๋ก (LLaMA)
์ฐธ๊ณ ์๋ฃ¶
ํต์ฌ ๋ ผ๋ฌธ¶
- Kaplan et al. (2020). "Scaling Laws for Neural Language Models"
- Hoffmann et al. (2022). "Training Compute-Optimal Large Language Models" (Chinchilla)
- Touvron et al. (2023). "LLaMA 2: Open Foundation and Fine-Tuned Chat Models"