Chapter 9: Q&A & ์ฉ์ด์ง
๋ฐํ ํ ์์๋๋ ์ง๋ฌธ์ ๋ํ ์์ธ ๋ต๋ณ, ์ฌ๋ผ์ด๋๋ณ ๋ฐํ ๊ฐ์ด๋, ๊ทธ๋ฆฌ๊ณ ํต์ฌ ๊ธฐ์ ์ฉ์ด ์ ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
1. ์์ ์ง๋ฌธ 15๊ฐ
Q1. Checkpointless Training์ด ์ฒดํฌํฌ์ธํธ๋ฅผ ์์ ์ ๋ง๋๋์?
๋ต๋ณ: ์๋์, "Checkpointless"๋ ์ฅ์ ๋ณต๊ตฌ ์ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ์๋ฏธ์ ๋๋ค.
- ์ฅ์ ๋ณต๊ตฌ: P2P ๋ฉ๋ชจ๋ฆฌ ๋ณต์ ๋ฅผ ํตํด ์ฒดํฌํฌ์ธํธ ๋ก๋ ์์ด ๋ณต๊ตฌ
- ์ฅ๊ธฐ ๋ณด๊ด: ๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ, ํ์ต ์ฌ๊ฐ๋ฅผ ์ํ S3 ์ฒดํฌํฌ์ธํธ๋ ๋ณ๋ ์ฃผ๊ธฐ๋ก ์ ์ฅ ๊ฐ๋ฅ
- Fallback: P2P ๋ณต๊ตฌ ์คํจ ์ ์๋์ผ๋ก ์ฒดํฌํฌ์ธํธ ๊ธฐ๋ฐ ๋ณต๊ตฌ๋ก ์ ํ
Q2. ๊ธฐ์กด PyTorch ์ฝ๋๋ฅผ ์ผ๋ง๋ ์์ ํด์ผ ํ๋์?
๋ต๋ณ: 4 Tier ์ ์ง์ ์ ์ฉ ๋ชจ๋ธ์ ์ ๊ณตํ๋ฉฐ, Tier 1์ ์ฝ๋ ์์ ์์ด ํ๊ฒฝ ๋ณ์๋ง์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
| Tier | ์ฝ๋ ์์ | ๊ธฐ๋ฅ |
|---|---|---|
| Tier 1 | ์์ (ํ๊ฒฝ ๋ณ์๋ง) | TCPStore-less NCCL ์ด๊ธฐํ |
| Tier 2 | ์ต์ (๋ฐ์ดํฐ ๋ก๋) | + MMAP ๋ฐ์ดํฐ ๋ก๋ฉ |
| Tier 3 | ์ค๊ฐ | + In-Process Recovery |
| Tier 4 | NeMo ๊ธฐ๋ฐ | + P2P State Replication (์ ์ฒด ๊ธฐ๋ฅ) |
Q3. NeMo๊ฐ ์๋ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ ์ง์ํ๋์?
๋ต๋ณ: ํ์ฌ ์ ์ฒด ๊ธฐ๋ฅ(Tier 4)์ NeMo ๊ธฐ๋ฐ์ด์ง๋ง, Tier 1-3์ ์ผ๋ฐ PyTorch์์๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
- Tier 1-3: ์์ PyTorch, PyTorch Lightning, Hugging Face Transformers ๋ฑ๊ณผ ํธํ
- Tier 4: P2P State Replication์ NeMo์ ๋ถ์ฐ ํ์ต ๊ตฌ์กฐ์ ํตํฉ ํ์
- ํฅํ ๊ณํ: AWS๋ ๋ ๋ง์ ํ๋ ์์ํฌ ์ง์์ ํ๋ ์ค
Q4. GPU ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๋ ์ผ๋ง๋ ๋๋์?
๋ต๋ณ: P2P ๋ณต์ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, num_distributed_optimizer_instances=2๋ฉด Optimizer State๊ฐ 2x ๋ณต์ ๋ฉ๋๋ค.
- ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ: ๋ณต์ ํ์ง ์์ (FSDP/ZeRO๋ก ์ด๋ฏธ ๋ถ์ฐ)
- Optimizer State: ๋ณต์ ์๋งํผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ฆ๊ฐ
- ์ํ ๋ฐฉ๋ฒ: CPU Offload๋ฅผ ํ์ฉํ์ฌ GPU ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด ๊ฐ์
Q5. Hot Spare ๋ ธ๋๋ฅผ ๋ช ๊ฐ ์ค๋นํด์ผ ํ๋์?
๋ต๋ณ: ์ผ๋ฐ์ ์ผ๋ก ํด๋ฌ์คํฐ ํฌ๊ธฐ์ 1-5%๋ฅผ ๊ถ์ฅํฉ๋๋ค.
| ํด๋ฌ์คํฐ ๊ท๋ชจ | ๊ถ์ฅ Hot Spare | ๊ทผ๊ฑฐ |
|---|---|---|
| 100 GPU | 1-2 ๋ ธ๋ | ์๊ท๋ชจ์์ ์ฅ์ ๋น๋ ๋ฎ์ |
| 1,000 GPU | 10-50 ๋ ธ๋ | ํต๊ณ์ ์ผ๋ก ์ฃผ 1-2ํ ์ฅ์ |
| 10,000+ GPU | 100-500 ๋ ธ๋ | Meta ํต๊ณ: 54์ผ๊ฐ 466ํ ์ฅ์ |
Q6. EKS๋ง ์ง์ํ๋์? Slurm์์?
๋ต๋ณ: Checkpointless Training์ EKS ๊ธฐ๋ฐ HyperPod Training Operator ํ์์ ๋๋ค. Slurm ํ๊ฒฝ์์๋ ๋ณ๋์ Auto-Resume ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค.
- EKS (๊ถ์ฅ): Training Operator๊ฐ Hot Spare ๊ด๋ฆฌ, ์๋ ๋ณต๊ตฌ ์ค์ผ์คํธ๋ ์ด์
- Slurm: Auto-Resume ๊ธฐ๋ฅ์ผ๋ก Job ์ฌ์์ ์ง์, ํ์ง๋ง In-Process Recovery ๋ฏธ์ง์
Q7. ๋ณต๊ตฌ ์ค ํ์ต ์งํ ์ํ(step)๋ ์ด๋ป๊ฒ ๋๋์?
๋ต๋ณ: ์ฅ์ ๋ฐ์ ์์ ์ step์ผ๋ก ์ ํํ ๋ณต๊ทํฉ๋๋ค.
- P2P ๋ณต์ ๋ ์ํ์๋ ํ์ฌ global step ์ ๋ณด ํฌํจ
- MMAP ๋ฐ์ดํฐ ๋ก๋ฉ์ผ๋ก ๋ฐ์ดํฐ ์์น๋ ์ ํํ ๋ณต์
- RNG State ๋ณต์ ๋ก ๋์ผํ ๋๋ค ์๋ ์ ์ง
Checkpointless: ์ฅ์ ์ง์ step์ผ๋ก ๋ณต๊ท (์์ค ์ต์ํ)
Q8. ๋ค๋ฅธ AWS ๋ฆฌ์ ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฐ์?
๋ต๋ณ: ํ์ฌ 17๊ฐ ๋ฆฌ์ ์์ SageMaker HyperPod๋ฅผ ์ง์ํ์ง๋ง, ์์ธ(ap-northeast-2)์ ๋ฏธํฌํจ์ ๋๋ค.
- ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ : ๋์ฟ (ap-northeast-1)
- ๋ถ๋ฏธ: us-east-1, us-east-2, us-west-2 ๋ฑ
- ์ ๋ฝ: eu-west-1, eu-central-1 ๋ฑ
Q9. P2P ๋ณต์ ๊ฐ ๋คํธ์ํฌ ๋์ญํญ์ ์ผ๋ง๋ ์ฌ์ฉํ๋์?
๋ต๋ณ: ํ์ต ์ค ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ณต์ ๋๋ฉฐ, EFA 3,200 Gbps ๋๋น ๋ฏธ๋ฏธํ ์์ค์ ๋๋ค.
- ๋ณต์ ํ์ด๋ฐ: Forward/Backward ์ฐ์ฐ์ ์ ํด ์๊ฐ ํ์ฉ
- ๋์ญํญ ์ฌ์ฉ: AllReduce ๋ฑ ํ์ต ํต์ ๊ณผ ์๊ฐ ๋ถ๋ฆฌ
- ์ํฅ: ํ์ต ์ฒ๋ฆฌ๋์ ๊ฑฐ์ ์ํฅ ์์ (<1%)
Q10. Silent Data Corruption์ ์ด๋ป๊ฒ ๊ฐ์งํ๋์?
๋ต๋ณ: CudaHealthCheck์ CheckpointManager์ global step consistency ๊ฒ์ฆ์ ํตํด ๊ฐ์งํฉ๋๋ค.
- CudaHealthCheck: GPU ๋ฉ๋ชจ๋ฆฌ ๋ฌด๊ฒฐ์ฑ ์ฃผ๊ธฐ์ ๊ฒ์ฆ
- Step Consistency: ๋ชจ๋ Rank์ global step ์ผ์น ์ฌ๋ถ ํ์ธ
- Gradient ๊ฒ์ฆ: NaN/Inf ๊ฐ์ง ๋ฐ ์๋ ๋กค๋ฐฑ
Q11. ๋น์ฉ์ด ์ถ๊ฐ๋ก ๋๋์?
๋ต๋ณ: Hot Spare ๋ ธ๋ ๋น์ฉ๊ณผ Checkpointless Container Image ์ฌ์ฉ๋ฃ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. ํ์ง๋ง ๋ณต๊ตฌ ์๊ฐ ์ ๊ฐ์ผ๋ก ์ ๋น์ฉ ์ ๊ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
| ๋น์ฉ ํญ๋ชฉ | ์ถ๊ฐ ๋น์ฉ | ์ ๊ฐ ํจ๊ณผ |
|---|---|---|
| Hot Spare ๋ ธ๋ | ํด๋ฌ์คํฐ์ 1-5% | ๋ณต๊ตฌ ์๊ฐ 90% ์ด์ ๋จ์ถ |
| Container Image | ๋ฏธ๋ฏธ | - |
| ๋ณต๊ตฌ ์๊ฐ ์ ๊ฐ | - | $4,693/์ฅ์ (1,000 GPU ๊ธฐ์ค) |
Q12. Amazon Nova๋ ์ค์ ๋ก ์ด ๊ธฐ์ ๋ก ํ์ต๋๋์?
๋ต๋ณ: ๋ค, Amazon Nova ๋ชจ๋ธ ๊ฐ์กฑ์ Checkpointless Training ๊ธฐ์ ๋ก ํ์ต๋์์ต๋๋ค.
- ํด๋ฌ์คํฐ ๊ท๋ชจ: Tens of thousands of accelerators
- Goodput: 95% ์ด์ ๋ฌ์ฑ
- ์์: ํ๋ก๋์ ํ๊ฒฝ์์ ๋๊ท๋ชจ ๊ฒ์ฆ ์๋ฃ
Q13. On-premise ํ๊ฒฝ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฐ์?
๋ต๋ณ: ์๋์, Checkpointless Training์ SageMaker HyperPod ์ ์ฉ Managed Service์ ๋๋ค.
- Training Operator, Hot Spare ๊ด๋ฆฌ, EFA ํตํฉ ๋ฑ์ด AWS ์ธํ๋ผ์ ์์กด
- On-premise ๋์: NVIDIA NVRx (์คํ์์ค) ๊ณ ๋ ค
Q14. Elastic Training๊ณผ Checkpointless Training์ ์ฐจ์ด๋?
๋ต๋ณ: ๋ชฉ์ ์ด ๋ค๋ฆ ๋๋ค. Elastic์ ๋์ ์ค์ผ์ผ๋ง, Checkpointless๋ ์ฅ์ ๋ณต๊ตฌ์ ์ด์ ์ ๋ง์ถฅ๋๋ค.
| ํน์ฑ | Elastic Training | Checkpointless Training |
|---|---|---|
| ๋ชฉ์ | ๋์ ํด๋ฌ์คํฐ ํฌ๊ธฐ ์กฐ์ | ๋น ๋ฅธ ์ฅ์ ๋ณต๊ตฌ |
| ์๋๋ฆฌ์ค | Spot VM ํ์ฉ, ๋ฆฌ์์ค ํ๋ ฅ์ฑ | ๋๊ท๋ชจ ์ฅ๊ธฐ ํ์ต ์์ ์ฑ |
| ๋ณต๊ตฌ ๋ฐฉ์ | ์ฒดํฌํฌ์ธํธ ๊ธฐ๋ฐ | ์ธ๋ฉ๋ชจ๋ฆฌ ๋ณต์ |
Q15. ๊ธฐ์กด Checkpoint์ ๋ณํ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฐ์?
๋ต๋ณ: ๋ค, ๋ณํ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ ๊ถ์ฅ๋ฉ๋๋ค.
- P2P ๋ณต์ : ๋น ๋ฅธ ์ฅ์ ๋ณต๊ตฌ์ฉ (primary)
- S3 ์ฒดํฌํฌ์ธํธ: ์ฅ๊ธฐ ๋ณด๊ด, ๋ฒ์ ๊ด๋ฆฌ์ฉ (๋ณ๋ ์ฃผ๊ธฐ)
- Fallback: P2P ๋ณต๊ตฌ ์คํจ ์ ์๋์ผ๋ก ์ฒดํฌํฌ์ธํธ ๋ณต๊ตฌ๋ก ์ ํ
# ๊ถ์ฅ ์ค์ ์์
p2p_replication_interval: 100 # 100 step๋ง๋ค P2P ๋ณต์
s3_checkpoint_interval: 10000 # 10,000 step๋ง๋ค S3 ์ ์ฅ
2. ์ฌ๋ผ์ด๋๋ณ ๋ฐํ ๊ฐ์ด๋ (15๋ถ ์ธ์ )
| Slide # | Title | Key Talking Points | Time |
|---|---|---|---|
| 1 | Title Slide | ์๊ธฐ์๊ฐ, ์ธ์ ๋ชฉํ ๊ฐ๋จํ | 30์ด |
| 2 | Agenda | 3๊ฐ์ง ํต์ฌ: ๋ฌธ์ , ์๋ฃจ์ , ์ฑ๊ณผ | 30์ด |
| 3-4 | The Problem |
- Meta ํต๊ณ: 54์ผ๊ฐ 466ํ ์ฅ์ - Llama 3 70B ์ฒดํฌํฌ์ธํธ = 521GB - ๋ณต๊ตฌ ์๊ฐ 15-60๋ถ |
2๋ถ |
| 5-6 | Cost of Failure |
- $4,693/์ฅ์ (1,000 GPU) - Goodput 60-80%๋ก ํ๋ฝ - "์๊ฐ = ๋" ๊ฐ์กฐ |
2๋ถ |
| 7-8 | Checkpointless ์๊ฐ |
- ํต์ฌ ์์ด๋์ด: ๋์คํฌ I/O ์ ๊ฑฐ - ์ธ๋ฉ๋ชจ๋ฆฌ P2P ๋ณต์ - Hot Spare ์ฆ์ ๋์ฒด |
2๋ถ |
| 9-11 | 5๋ ์ปดํฌ๋ํธ |
- Rootless NCCL: ๋จ์ผ ์ฅ์ ์ ์ ๊ฑฐ - MMAP: ๋ฐ์ดํฐ ์์น ์ฆ์ ๋ณต์ - IPR: ๊ฑด๊ฐํ ๋ ธ๋ ์ ์ง - P2P: ์ํ ๋ณต์ ํต์ฌ - Training Operator: ์ค์ผ์คํธ๋ ์ด์ |
3๋ถ |
| 12-13 | ์ฑ๋ฅ ๋ฒค์น๋งํฌ |
- ๋ณต๊ตฌ ์๊ฐ: 15-60๋ถ โ <90์ด - Goodput: 60% โ 95%+ - Amazon Nova ์ฌ๋ก |
2๋ถ |
| 14-15 | Getting Started |
- 4-Tier ์ ์ฉ ๋ชจ๋ธ - Pre-configured Recipes - GitHub ๋งํฌ |
1๋ถ 30์ด |
| 16-17 | Wrap-up & Q&A |
- ํต์ฌ 3์ค ์์ฝ - Call to Action - Q&A ์ ํ |
1๋ถ 30์ด |
2. Checkpointless Training์ ๋์คํฌ I/O๋ฅผ ์ ๊ฑฐํ๊ณ ๋ณต๊ตฌ ์๊ฐ์ 90% ๋จ์ถํฉ๋๋ค.
3. Amazon Nova ํ์ต์์ ๊ฒ์ฆ๋ ํ๋ก๋์ ๊ธฐ์ ์ ๋๋ค.
3. ์ฉ์ด์ง (Glossary)
| Term | Definition |
|---|---|
| AllGather | ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ์ ์กํ์ฌ, ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฒ ๋๋ collective operation |
| AllReduce | ๋ชจ๋ ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ๋ฅผ ํฉ์ฐ(๋๋ ๋ค๋ฅธ ์ฐ์ฐ)ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ๋ฐฐํฌํ๋ collective operation. ๋ถ์ฐ ํ์ต์์ gradient ๋๊ธฐํ์ ํต์ฌ์ ์ผ๋ก ์ฌ์ฉ |
| Backpropagation | ์ ๊ฒฝ๋ง ํ์ต์์ ์ถ๋ ฅ ์ค๋ฅ๋ฅผ ์ญ๋ฐฉํฅ์ผ๋ก ์ ํํ์ฌ ๊ฐ ๊ฐ์ค์น์ gradient๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ |
| BF16 (BFloat16) | Brain Floating Point 16-bit. Google์ด ๊ฐ๋ฐํ 16๋นํธ ๋ถ๋์์์ ํ์์ผ๋ก, FP32์ ๋์ผํ ์ง์ ๋ฒ์๋ฅผ ์ ์งํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ ๋ฐ์ผ๋ก ์ค์ |
| Checkpoint | ํ์ต ์ค ๋ชจ๋ธ ๊ฐ์ค์น, optimizer ์ํ, ํ์ต ์งํ ์ํฉ ๋ฑ์ ์ ์ฅํ ์ค๋ ์ท. ์ฅ์ ๋ณต๊ตฌ ๋ฐ ํ์ต ์ฌ๊ฐ์ ์ฌ์ฉ |
| CUDA | NVIDIA์ ๋ณ๋ ฌ ์ปดํจํ ํ๋ซํผ ๋ฐ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ. GPU์์ ๋ฒ์ฉ ์ฐ์ฐ์ ์ํํ ์ ์๊ฒ ํจ |
| DDP (Distributed Data Parallel) | PyTorch์ ๋ฐ์ดํฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ชจ๋. ๊ฐ GPU์ ๋ชจ๋ธ ๋ณต์ ๋ณธ์ ๋๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ์ฌ ๋ณ๋ ฌ ํ์ต |
| DeepSpeed | Microsoft๊ฐ ๊ฐ๋ฐํ ๋๊ท๋ชจ ๋ชจ๋ธ ํ์ต ์ต์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ZeRO ์ตํฐ๋ง์ด์ ๋ก ์ ๋ช |
| EFA (Elastic Fabric Adapter) | AWS์ ๊ณ ์ฑ๋ฅ ๋คํธ์ํฌ ์ธํฐํ์ด์ค. HPC ๋ฐ ML ์ํฌ๋ก๋๋ฅผ ์ํด ์ค๊ณ๋์์ผ๋ฉฐ, ์ต๋ 3,200 Gbps ๋์ญํญ ์ ๊ณต |
| FSDP (Fully Sharded Data Parallel) | PyTorch์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ๋ถ์ฐ ํ์ต ๊ธฐ๋ฒ. ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ, gradient, optimizer ์ํ๋ฅผ GPU ๊ฐ์ ์ค๋ฉ |
| Goodput | ์ ํจ ์ฒ๋ฆฌ๋. ์ ์ฒด ์ฒ๋ฆฌ๋์์ ์ฅ์ ๋ก ์ธํ ์์ค ์์ ์ ์ ์ธํ ์ค์ ์์ฐ์ ์ธ ์์ ๋. Goodput = Throughput ร (1 - Failure_Rate ร Recovery_Time) |
| Gradient | ์์ค ํจ์์ ๋ํ ๊ฐ ํ๋ผ๋ฏธํฐ์ ํธ๋ฏธ๋ถ๊ฐ. ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ |
| HBM3 (High Bandwidth Memory 3) | 3์ธ๋ ๊ณ ๋์ญํญ ๋ฉ๋ชจ๋ฆฌ. H100 GPU์์ 3.35 TB/s ๋์ญํญ ์ ๊ณต. H200์ HBM3e๋ก 4.8 TB/s |
| Hot Spare | ์ฅ์ ๋ฐ์ ์ ์ฆ์ ๋์ฒดํ ์ ์๋๋ก ๋๊ธฐ ์ํ๋ก ์ ์ง๋๋ ์๋น ๋ ธ๋ |
| HyperPod | AWS SageMaker์ ๋๊ท๋ชจ ๋ถ์ฐ ํ์ต์ ์ํ ๊ด๋ฆฌํ ํด๋ฌ์คํฐ ์๋น์ค. ์๋ ์ฅ์ ๋ณต๊ตฌ, ํด๋ฌ์คํฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต |
| In-Process Recovery (IPR) | ํ๋ก์ธ์ค ์ฌ์์ ์์ด ๋์ผ ํ๋ก์ธ์ค ๋ด์์ ์ฅ์ ๋ฅผ ๋ณต๊ตฌํ๋ ๋ฉ์ปค๋์ฆ. ๊ฑด๊ฐํ ๋ ธ๋์ ํ๋ก์ธ์ค๋ ์ ์ง |
| JLR (Job Level Restart) | ์ ์ฒด ํ์ต Job์ ์ฒ์๋ถํฐ ์ฌ์์ํ๋ ๋ณต๊ตฌ ๋ฐฉ์. ๊ฐ์ฅ ๋๋ฆฌ๊ณ ๋น์ฉ์ด ํผ |
| Loss Function | ๋ชจ๋ธ์ ์์ธก๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ธก์ ํ๋ ํจ์. ํ์ต์ ๋ชฉํ๋ ์ด ๊ฐ์ ์ต์ํํ๋ ๊ฒ |
| MMAP (Memory-Mapped I/O) | ํ์ผ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ๋งคํํ์ฌ ํ์ผ I/O๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ฒ๋ผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ. ๋ฐ์ดํฐ ๋ก๋ ์ํ ๋น ๋ฅธ ๋ณต์์ ํ์ฉ |
| Mixed Precision Training | FP16/BF16๊ณผ FP32๋ฅผ ํผํฉํ์ฌ ํ์ตํ๋ ๊ธฐ๋ฒ. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ์ฐ์ฐ ์๊ฐ์ ์ค์ด๋ฉด์ ์ ํ๋ ์ ์ง |
| MTBF (Mean Time Between Failures) | ํ๊ท ์ฅ์ ๊ฐ๊ฒฉ. ์์คํ ์ด ์ฅ์ ์์ด ์ด์๋๋ ํ๊ท ์๊ฐ |
| NCCL (NVIDIA Collective Communications Library) | NVIDIA GPU ๊ฐ ๊ณ ์ฑ๋ฅ ํต์ ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. AllReduce, AllGather ๋ฑ collective operations ์ ๊ณต |
| NeMo | NVIDIA์ ๋ํํ AI ๋ชจ๋ธ ํ์ต ํ๋ ์์ํฌ. ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ ํ์ต์ ์ต์ ํ |
| NVLink | NVIDIA์ ๊ณ ์ GPU ๊ฐ ์ธํฐ์ปค๋ฅํธ. PCIe๋ณด๋ค ํจ์ฌ ๋์ ๋์ญํญ ์ ๊ณต (H100: 900 GB/s) |
| NVSwitch | NVLink๋ฅผ ํตํด ์ฌ๋ฌ GPU๋ฅผ ์ฐ๊ฒฐํ๋ ์ค์์น. ๋จ์ผ ๋ ธ๋ ๋ด ๋ชจ๋ GPU ๊ฐ ์ง์ ํต์ ๊ฐ๋ฅ |
| Optimizer State | Optimizer๊ฐ ์ ์งํ๋ ์ํ ์ ๋ณด. Adam์ ๊ฒฝ์ฐ momentum(m)๊ณผ variance(v) ํฌํจ. ํ๋ผ๋ฏธํฐ ํฌ๊ธฐ์ 2๋ฐฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ |
| P2P (Peer-to-Peer) | ์ค์ ์๋ฒ ์์ด ๋ ธ๋ ๊ฐ ์ง์ ํต์ ํ๋ ๋ฐฉ์. Checkpointless Training์์ ์ํ ๋ณต์ ์ ์ฌ์ฉ |
| Pipeline Parallelism (PP) | ๋ชจ๋ธ์ ๋ ์ด์ด ๋จ์๋ก ๋ถํ ํ์ฌ ์ฌ๋ฌ GPU์ ๋ฐฐ์นํ๊ณ , ๋ง์ดํฌ๋ก๋ฐฐ์น๋ฅผ ํ์ดํ๋ผ์ธ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ณ๋ ฌํ ๊ธฐ๋ฒ |
| PLR (Process Level Restart) | ์คํจํ ํ๋ก์ธ์ค๋ง ์ฌ์์ํ๋ ๋ณต๊ตฌ ๋ฐฉ์. JLR๋ณด๋ค ๋น ๋ฅด์ง๋ง ์ฌ์ ํ ์ฒดํฌํฌ์ธํธ ๋ก๋ ํ์ |
| RDMA (Remote Direct Memory Access) | CPU ๊ฐ์ ์์ด ์๊ฒฉ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ๋ ๊ธฐ์ . EFA, InfiniBand ๋ฑ์์ ์ฌ์ฉ |
| ReduceScatter | Reduce ํ ๊ฒฐ๊ณผ๋ฅผ ๋ถ์ฐํ๋ collective operation. FSDP์์ gradient ๋๊ธฐํ ํ ์ค๋ฉ์ ์ฌ์ฉ |
| Ring Algorithm | ๋ ธ๋๋ค์ ๋ง ํํ๋ก ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ฌํ๋ collective ์๊ณ ๋ฆฌ์ฆ. ๋์ญํญ ํจ์จ์ |
| RNG State | Random Number Generator ์ํ. ๋์ผํ ๋๋ค ์ํ์ค๋ฅผ ์ฌํํ๊ธฐ ์ํด ์ ์ฅ/๋ณต์ ํ์ |
| Rootless NCCL | ๋จ์ผ "root" ๋ ธ๋ ์์ด ๋ถ์ฐ ๋ฐฉ์์ผ๋ก NCCL์ ์ด๊ธฐํํ๋ ๊ธฐ๋ฒ. TCPStore ์์กด์ฑ ์ ๊ฑฐ |
| SageMaker | AWS์ ์์ ๊ด๋ฆฌํ ML ํ๋ซํผ. ๋ชจ๋ธ ๊ฐ๋ฐ, ํ์ต, ๋ฐฐํฌ์ ์ ์ฒด ML ๋ผ์ดํ์ฌ์ดํด ์ง์ |
| Sharding | ๋ฐ์ดํฐ๋ ๋ชจ๋ธ ์ํ๋ฅผ ์ฌ๋ฌ ๋ ธ๋์ ๋ถํ ํ์ฌ ์ ์ฅํ๋ ๊ธฐ๋ฒ. ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ ํฅ์ |
| SRD (Scalable Reliable Datagram) | AWS EFA์์ ์ฌ์ฉํ๋ ์ ์ก ํ๋กํ ์ฝ. UDP ๊ธฐ๋ฐ์ด์ง๋ง ์ ๋ขฐ์ฑ ๋ณด์ฅ |
| Straggler | ๋ค๋ฅธ ๋ ธ๋๋ณด๋ค ๋๋ฆฌ๊ฒ ์ฐ์ฐ์ ์ํํ์ฌ ์ ์ฒด ํ์ต ์๋๋ฅผ ์ ํ์ํค๋ ๋ ธ๋ |
| TCPStore | PyTorch ๋ถ์ฐ ํ์ต์์ ํ๋ก์ธ์ค ๊ฐ ์ ๋ณด ๊ณต์ ๋ฅผ ์ํ ํค-๊ฐ ์ ์ฅ์. ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ ๋ง์คํฐ ๋ ธ๋์์ ์คํ |
| Tensor Core | NVIDIA GPU์ ํ๋ ฌ ์ฐ์ฐ ์ ์ฉ ์ ๋. ๋ฅ๋ฌ๋ ์ฐ์ฐ(ํ๋ ฌ ๊ณฑ์ )์ ๊ณ ์์ผ๋ก ์ฒ๋ฆฌ |
| Tensor Parallelism (TP) | ๋จ์ผ ๋ ์ด์ด์ ํ ์๋ฅผ ์ฌ๋ฌ GPU์ ๋ถํ ํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ. ๋งค์ฐ ํฐ ๋ ์ด์ด์ ํจ๊ณผ์ |
| Training Operator | Kubernetes์์ ๋ถ์ฐ ํ์ต Job์ ๊ด๋ฆฌํ๋ ์คํผ๋ ์ดํฐ. HyperPod์์ Hot Spare, ์๋ ๋ณต๊ตฌ ์ค์ผ์คํธ๋ ์ด์ ๋ด๋น |
| Tree Algorithm | ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง๊ณ/๋ฐฐํฌํ๋ collective ์๊ณ ๋ฆฌ์ฆ. ์ง์ฐ ์๊ฐ ์ต์ ํ |
| UltraCluster | AWS์ ๋๊ท๋ชจ GPU ํด๋ฌ์คํฐ ๊ตฌ์ฑ. ์ฌ๋ฌ UltraServer๋ฅผ ๊ณ ์ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ |
| UltraServer | AWS์ ๊ณ ์ฑ๋ฅ GPU ์๋ฒ ๋ ธ๋. 8x H100/H200 GPU + NVSwitch + EFA๋ก ๊ตฌ์ฑ |
| World Size | ๋ถ์ฐ ํ์ต์ ์ฐธ์ฌํ๋ ์ ์ฒด ํ๋ก์ธ์ค(GPU) ์ |
| ZeRO (Zero Redundancy Optimizer) | DeepSpeed์ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ๊ธฐ์ . Optimizer state, gradient, parameter๋ฅผ ๋จ๊ณ๋ณ๋ก ๋ถํ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ต์ํ |
| ZeRO-Infinity | ZeRO์ ํ์ฅ์ผ๋ก, CPU ๋ฐ NVMe ์คํ ๋ฆฌ์ง๋ก ์คํ๋ก๋ํ์ฌ GPU ๋ฉ๋ชจ๋ฆฌ ํ๊ณ๋ฅผ ๊ทน๋ณต |
4. ์ฐธ๊ณ ์๋ฃ
4.1 AWS ๊ณต์ ๋ฌธ์
- SageMaker HyperPod Documentation
- HyperPod CLI Operations
- Elastic Fabric Adapter (EFA) Documentation
- Amazon FSx for Lustre Documentation
4.2 AWS ๋ธ๋ก๊ทธ
- Achieve 95% goodput training with Amazon SageMaker HyperPod Checkpointless Training
- Tiered Checkpointing: Maximize ML Training Goodput
- Amazon SageMaker HyperPod Launch Announcement
4.3 GitHub Repositories
- sagemaker-hyperpod-checkpointless-training - Checkpointless Training ์์ค ์ฝ๋
- sagemaker-hyperpod-recipes - Pre-configured ํ์ต ๋ ์ํผ
- sagemaker-hyperpod-cli - HyperPod CLI ๋๊ตฌ
- nvidia-resiliency-ext (NVRx) - NVIDIA ๋ด๊ฒฐํจ์ฑ ํ์ฅ
- microsoft/varuna - Varuna ๋ถ์ฐ ํ์ต ํ๋ ์์ํฌ
- microsoft/DeepSpeed - DeepSpeed ๋ผ์ด๋ธ๋ฌ๋ฆฌ
4.4 ํ์ ๋ ผ๋ฌธ
| ๋ ผ๋ฌธ | ํํ | ํต์ฌ ๊ธฐ์ฌ |
|---|---|---|
| CheckFreq: Frequent, Fine-Grained DNN Checkpointing | USENIX FAST '21 | Snapshot-and-Persist ๋ถ๋ฆฌ, I/O Latency Hiding |
| Bamboo: Making Preemptible Instances Resilient for Affordable Training | USENIX NSDI '23 | ํ์ดํ๋ผ์ธ ๋ฒ๋ธ ํ์ฉ ์ค๋ณต ์ฐ์ฐ, Instant Takeover |
| Varuna: Scalable, Low-cost Training of Massive Deep Learning Models | EuroSys '22 (Best Paper) | ๋์ ๋ชจ๋ธ ์ฌ๋ถํ , Spot VM ํ์ต |
| Oobleck: Resilient Distributed Training Using Pipeline Templates | ACM SOSP '23 | Pipeline Template ๊ธฐ๋ฐ ๋์ ์ฌ๊ตฌ์ฑ |
| MegaScale: Scaling LLM Training to More Than 10,000 GPUs | arXiv 2024 | 12,288 GPU ๋๊ท๋ชจ ํ์ต, 55.2% MFU |
| Pathways: Asynchronous Distributed Dataflow for ML | MLSys '22 | Google์ ๋น๋๊ธฐ ๋ถ์ฐ ๋ฐ์ดํฐํ๋ก์ฐ |
4.5 NVIDIA ๋ฌธ์
4.6 ๊ธฐํ ์ฐธ๊ณ ์๋ฃ
- PyTorch Elastic Documentation
- DeepSpeed Training Documentation
- Llama Paper - Training Details
- Llama 3 Technical Report