《GPU Mode》
L048
2025 · APR
High priority
transcript · 실패 · HF playbook 공개 자료 기반
The Ultra Scale Playbook
1B → 100B+ 파라미터 모델을 GPU 수십~수천 장에서 학습할 때 — DP / TP / PP / SP / EP 의 결합, 메모리 회계, 통신 토폴로지, hardware-aware 결정의 묶음. Hugging Face 의 Nouamane Tazi 가 같은 제목의 공개 playbook 을 발표한 자리. transcript 누락된 강의이므로 본 노트는 HF playbook 의 공개 자료 (huggingface.co/spaces/nanotron/ultrascale-playbook) + LLM 학습 도메인 지식 위에서 정리.
DP / TP / PP / SP / EP
메모리 회계
comm topology
ZeRO
activation checkpointing
FP8 학습
scaling efficiency
nanotron
N
Speaker
Nouamane Tazi
Hugging Face · nanotron · Ultra Scale Playbook 저자
§ 01강의가 풀려는 문제· 왜 단일 GPU 재료로 LLM 학습을 못 하는가
“model 이 GPU 한 장보다 크다” 가 시작점
현대 LLM 학습의 출발점은 한 가지 사실 — model 이 GPU 한 장에 안 들어간다. 7B 모델의 FP32 parameter + grad + optimizer state 만 84 GB. activation 까지 더하면 H100 (80 GB) 한 장이 부족. 70B / 405B 모델은 더 말할 것도 없다. 그래서 분산 학습은 옵션이 아니라 필수.
그리고 분산 학습은 한 종류가 아니다. 모델을 어디로 자를지 — DP, TP, PP, SP, EP 의 결합으로 결정한다. 각 결정이 메모리, 통신 비용, 구현 복잡도에 다른 trade-off. Ultra Scale Playbook 은 그 결정 트리를 정리한 자료.
강의 transcript 가 누락되었지만 동명의 HF playbook 이 공개 자료로 존재 — huggingface.co/spaces/nanotron/ultrascale-playbook. 본 노트는 그 playbook + LLM 학습 표준 자료(Megatron-LM, DeepSpeed, FSDP) 위에서 강의 토픽을 추정한다.
강의의 인지적 frame · 추정
HF playbook 의 핵심 메시지 — "hardware aware 학습 설계". parallelism 결정이 코드 변경이 아니라 경제 결정이다. 같은 모델을 1024 H100 으로 학습하는 비용이 시간당 수만 달러. 잘못된 parallelism 결정은 그 비용을 1.5–2x 증폭. 본 강의의 가치는 그 결정의 가이드를 한 자리에 정리한 것.
“대규모 학습은 알고리즘이 아니라 시스템 디자인이다 — parallelism 의 5축을 어떻게 묶어내느냐가 모델 자체보다 더 큰 비용 차이를 만든다.”학습 노트 · ultrascale playbook 정리
§ 021B → 100B 학습 비용· FLOPs · token · GPU-hour
“얼마나 큰 모델을 얼마나 많은 token 으로” 의 비용 함수
학습 비용의 1차 추정은 단순한 식 — compute = 6 · params · tokens (forward+backward 합산). 7B model 에 1.5T token 이면 6 × 7 × 10⁹ × 1.5 × 10¹² ≈ 6.3 × 10²² FLOPs. 그리고 hardware FLOPs efficiency 가 50% 라 가정하면 실제 GPU-hour 가 나온다.
Chinchilla scaling
params : tokens ≈ 1 : 20 이 compute-optimal. 7B → 140B token, 70B → 1.4T token.
실제 트렌드
Chinchilla 보다 더 많은 token 으로. Llama 3 8B = 15T token. inference 가 학습보다 비싸지면서 over-train.
FLOPs efficiency
peak 의 30–50% 가 일반적. 95%+ 는 드물고 specialized 환경.
통신 시간 비율
잘 짠 시스템 — 5–15%. 못 짠 시스템 — 30%+. 이 격차가 효율의 차이.
FIG · 모델 크기별 학습 비용 (개념)Chinchilla token, FP16 H100 50% efficiency
7B · 140B token
~3 K H100·hr
405B 학습은 한 클러스터 (예: 1024 H100) 에서 5–6개월. 비용으로는 수천만 달러 단위. 작은 efficiency 차이가 절대 비용에서 큰 격차로.
§ 03parallelism 5축의 결합· DP · TP · PP · SP · EP
5개 dimension — 각자 다른 자원을 분담
대규모 학습의 parallelism 은 한 종류가 아니다. 5개의 axis 가 있고, 각자 다른 자원 (compute / memory / comm) 을 분담. 실전 시스템은 5개 모두 결합해서 사용.
DP
data parallel
서로 다른 batch 샘플을 다른 GPU 에. 모델 weight 는 모두 같음. backward 후 grad 를 all-reduce.
batch 가 메모리 병목
TP
tensor parallel
한 layer 의 weight 를 여러 GPU 사이로 split. forward/backward 마다 통신. L046 의 본론.
layer 가 메모리 병목
PP
pipeline parallel
layer 들을 GPU group 사이로 분산. forward 가 stage 들을 거쳐감. micro-batch 로 idle 시간 줄임.
model 이 한 노드보다 큼
SP
sequence parallel
activation 을 sequence 차원으로 split. layernorm 같은 element-wise 연산을 그 위에서. TP 의 메모리 절감 보완.
activation 메모리 병목
EP
expert parallel
MoE 의 expert 들을 GPU 사이로 분산. all-to-all 로 token 라우팅.
MoE 모델 전용
CP
context parallel
긴 sequence (128K+) 를 여러 GPU 로 분산. attention 안 ring all-gather. 새 trend.
long context
실전 결합의 예 — Llama 3 70B 학습. TP=8 × PP=4 × DP=N. 한 노드 (8 H100) 안에서 TP=8 (NVLink 위), 4 노드씩 묶어서 PP=4 (IB 위), 나머지가 DP. 32 GPU 가 한 model replica, 32 의 N 배수 만큼이 전체 GPU 수. ZeRO-1 또는 FSDP 로 DP 의 optimizer state 추가 sharding.
§ 04메모리 회계· parameter · grad · optimizer · activation
같은 model 의 메모리 사용량을 4개 카테고리로 나눠서 본다
memory bug 를 잡는 첫 도구는 회계다. 같은 model 의 GPU 메모리 사용량은 4개 카테고리로 정확히 분해된다. 각 카테고리가 어떤 parallelism 으로 줄어드는지가 다르다.
FIG · 7B model 의 메모리 사용량 (FP16 + AdamW)per GPU · 단위 GB
optimizer (m, v)
56 GB · FP32
activation
~30 GB · seq=4K, bs=1
총 ~114 GB. H100 (80GB) 한 장에 안 들어감. optimizer state 가 가장 큼 — AdamW 의 m, v 모두 FP32 (numerical stability). 메모리 fix 의 첫 표적.
parameters2 bytes per param (FP16/BF16) · TP/PP 로 나눠짐 · ZeRO-3 / FSDP 로도14 GB · 7B
gradients2 bytes per param · 같은 dim 으로 나눠짐 · ZeRO-2 로 추가 sharding14 GB · 7B
optimizer (Adam m,v)8 bytes per param (FP32) · ZeRO-1 의 첫 표적 · FP8 optimizer 로 절감 가능56 GB · 7B
activationbatch × seq × hidden × layers × const · activation checkpointing 로 절감~30 GB
temporaryattention score, intermediate matmul. FlashAttention 로 거의 0~5 GB
activation checkpointing
memory ↔ compute 의 trade. 일부 activation 을 저장 안 하고 backward 에서 recompute. 메모리 30–70% 절감, compute 33% 추가. 거의 모든 학습이 사용. selective checkpointing (FlashAttention 의 attention 만 recompute) 으로 비용 더 줄임.
§ 05통신 토폴로지· NVLink · IB · 노드 매핑
같은 통신 양도 어느 link 위에서 도느냐가 비용을 결정
L046 에서 본 hierarchy 를 ultra-scale 의 시점으로 다시. 한 클러스터의 link 가 3 단계.
intra-node NVLink
노드 안 8 GPU. 450 GB/s 양방향. 가장 빠른 link. TP 가 여기.
inter-node InfiniBand
노드 사이. GPU 당 50 GB/s (NDR). NVLink 의 1/10. PP / DP 가 여기.
multi-rail
노드 당 IB 4–8 link. NCCL 이 자동 활용. 큰 메시지에서만 효과.
topology-aware NCCL
all-reduce 가 노드 안 reduce → 노드 사이 reduce → 노드 안 broadcast. hierarchical.
MNNVL (NVL72)
GB200 NVL72 — 72 GPU 가 한 NVLink domain. 노드 경계가 사라짐. parallelism 매핑 재설계.
통신 압축
grad 를 FP16/BF16 로 통신. 큰 변화 없는 grad 는 0 으로 압축 (sparsification). 손실 있는 trade-off.
parallelism 매핑의 룰 — 통신 빈도 높은 axis 를 빠른 link 에. TP 는 forward+backward 마다 통신 (한 layer 당 4 collective) → NVLink. DP 는 step 끝에 한 번 → IB. PP 는 micro-batch 마다 → IB 도 OK (메시지가 작음).
§ 06hardware-aware 결정· 8 GPU 노드의 자연 단위
“parallelism 의 size 결정” 이 추상 결정이 아니라 hardware 결정
왜 TP=8 이 표준인가 — H100 노드가 8 GPU 이기 때문. 왜 PP=4 또는 8 이 흔한가 — 클러스터의 연속 노드 수와 NCCL latency 의 매칭. 모든 결정이 hardware 에 종속.
TP=8
노드 안
NVLink 위. 한 노드의 8 GPU. forward/backward 마다 all-reduce 가 NVLink 위라 안전.
대부분의 H100 / A100 클러스터
PP=4–8
노드 사이
IB 위. 4–8 노드 묶음. micro-batch interleaved schedule (1F1B). bubble 최소화.
큰 모델 (70B+)
DP/ZeRO=N
전체
남은 GPU 모두. ZeRO-1 (optimizer shard) 또는 FSDP. step 끝의 grad all-reduce 가 비용.
scaling 의 마지막 차원
SP=TP
activation 절감
TP 와 같은 group. all-reduce 를 RS+AG 로 분해. 메모리 절감 + 통신 동일.
long context
EP=k
MoE 전용
k expert 를 k GPU 에. all-to-all 로 token 라우팅. TP 와 직교.
Mixtral, Qwen-MoE
CP=4–8
long context
128K+ context. sequence 차원으로 split. attention 안에 ring all-gather.
최신 모델
결정 트리
1) 모델이 한 노드에 안 들어가는가? → PP 도입. 2) activation 메모리가 부족한가? → activation checkpointing + SP. 3) 메모리에 여유가 있는가? → batch 키우기, DP 늘리기. 4) 네트워크 idle 이 보이는가? → micro-batch 키우기, async TP. 5) compute idle 이 보이는가? → grad accumulation, fused optimizer.
§ 07흔한 함정 5가지· 잘못된 parallelism 결정의 비용
“돌아가긴 한다” 에서 “효율적이다” 까지의 거리
코드는 작동하지만 efficiency 가 떨어지는 흔한 패턴들. 같은 hardware 에서 같은 모델을 학습하는데 efficiency 격차 1.5–2x 가 흔하다.
TP 를 노드 경계 넘김
TP=16 으로 두 노드 걸침. forward 마다 IB 위 all-reduce. 통신이 compute 압도.
PP bubble 무시
naive PP 는 stage 사이 idle. micro-batch 수가 PP 단계 수보다 작으면 utilization 50%↓.
DP grad all-reduce 안 hide
backward 와 동시에 grad all-reduce (gradient bucketing) 안 하면 step 끝에 dead time.
activation checkpointing 과다
모든 layer 를 checkpoint 하면 backward 가 거의 두 배. 일부 layer (memory 많이 쓰는) 만.
optimizer 가 FP32 만
모던 optimizer (FP8 Adam, BF16 master weights) 안 쓰면 메모리 낭비. FSDP 와 결합 필수.
micro-batch 가 너무 작음
PP 의 micro-batch 가 너무 작으면 launch overhead, 너무 크면 메모리 부족. sweet spot 찾기.
HF playbook 의 가치 — 이 함정들을 일일이 깐다. "3D parallelism 만 깔고 끝나지 않는다 — checkpoint, gradient bucket, ZeRO 단계, optimizer dtype 까지 모두 같이 결정".
§ 08HF 의 실측· SmolLM · Llama 3 reproduction
playbook 이 실제로 잘 굴러가는지 — HF 가 자기 모델로 검증
HF 의 차별점 — playbook 의 결정들이 실제 훈련에서 어떻게 작동하는지 자기 모델로 직접 검증. SmolLM 시리즈, Llama 3 reproduction, FineWeb dataset 학습 등.
SmolLM 1.7B
128 H100 위 학습. TP=2, PP=1, DP=64. activation checkpointing. 100B+ token. open-source 학습 디테일.
Llama 3 reproduction
8B / 70B 의 학습 path 재현. nanotron 위에서. parallelism 결정의 검증.
FineWeb dataset
대규모 web data 의 학습 효율. data loading 이 GPU 와 병목 안 되도록.
scaling efficiency 측정
8 → 16 → 64 → 1024 GPU 의 throughput. linear scaling 으로부터 격차의 출처.
MFU (Model Flops Utilization)
peak FLOPs 대비 useful FLOPs. 실측 — 대부분의 large training 에서 30–50%.
실제 throughput
tokens/sec/GPU. 7B model 위 H100 으로 ~5K tokens/s/GPU 가 좋은 자리.
nanotron — HF 의 학습 라이브러리
HF 가 자체 개발한 학습 코드. Megatron-LM 의 design choice 를 일부 재구성. playbook 의 결정들을 코드로 표현. 외부 사용자가 그대로 따라할 수 있는 reference. github.com/huggingface/nanotron.
§ 09next gen· FP8 학습 · Blackwell · MoE
2025 시점의 다음 trend
강의 시점 (2025-04) 에 향하고 있는 자리들. playbook 이 follow-up 으로 다뤄야 할 토픽.
FP8 학습
H100 / Blackwell 의 FP8 tensor core. forward 와 일부 backward 를 FP8 로. 메모리 절반, throughput 2배.
DeepSeek 의 trick
DeepSeek-V3 가 보여준 — auxiliary-loss-free MoE, FP8 학습, MLA (multi-head latent attention). open source 의 새 reference.
Blackwell GB200 NVL72
72 GPU 가 한 NVLink domain. 노드 경계가 사라짐. parallelism 매핑 재설계.
Hopper TMA + warp spec
L042/L045 의 도구가 학습 커널에도. attention forward+backward 가 직접 TMA + WGMMA 사용.
multi-modal 학습
image/video tokenizer 추가. modality 별 다른 parallelism. data loading bottleneck 가 새 모양.
RL 후학습
RLHF 의 trainer 가 inference engine + critic 모두 띄워야. 같은 GPU 위 multiple model.
§ 10기억할 메모와 자료· key takeaways
parallelism 5축
DP / TP / PP / SP / EP / CP. 각자 다른 자원 분담. 결합으로 사용.
메모리 4 카테고리
params · grad · optimizer · activation. 각자 다른 fix.
TP=8 이 표준
노드 안 NVLink 위. 노드 넘기지 않음.
통신 hide
DP grad all-reduce 를 backward 와 overlap. async TP. SP.
activation checkpointing
memory ↔ compute 의 표준 trade. selective 가 더 효율적.
MFU 30–50%
실측 표준. 95% 는 드물고 specialized.
FP8 학습 trend
2024–2025 의 표준화 진행 중. DeepSeek-V3 가 open reference.
nanotron + playbook
HF 의 reference 코드 + 결정 트리. open-source.
관련 자료
Megatron-LM (NVIDIA), DeepSpeed (Microsoft), FSDP (PyTorch)
관련 논문
Megatron-LM (2019), ZeRO (2020), Sequence Parallelism (2022), DeepSeek-V3 (2024)
손에 새기기 — 실습 시퀀스
- memory 회계 직접 — 7B model 의 메모리 사용량을 4 카테고리로 손으로 계산. PyTorch의
torch.cuda.memory_allocated() 와 비교.
- 2-GPU TP — Megatron-LM 또는 nanotron 의 TP=2 example. 한 transformer block 의 forward 를 직접 따라 읽기.
- 4-GPU FSDP — PyTorch FSDP. 같은 model 의 메모리 사용량이 어떻게 분산되는지 nvidia-smi 로 확인.
- activation checkpointing 효과 — checkpoint 끄고/켜고 메모리 + step time 측정. selective checkpointing 비교.
- strong scaling 측정 — 8 → 16 → 32 GPU 에서 throughput. linear scaling 격차 측정.
- HF playbook 따라 가보기 —
huggingface.co/spaces/nanotron/ultrascale-playbook 의 결정 트리를 자기 모델 스펙에 적용. 어느 parallelism 이 적합한지.
§ 11다른 강의로 이어지는 길· connections
§ 12열린 질문· open questions
transcript 가 없어 강의의 정확한 강조점은 추정. 영상 직접 확인이 필요한 사항들.
- 강의의 구체적 demo — playbook 의 어느 부분을 직접 시연했는지. 메모리 회계? 결정 트리? nanotron 코드 walk-through?
- HF 의 실측 수치 — 본 노트의 비용 추정은 도메인 지식 기반. 강의가 언급한 정확한 throughput / efficiency 수치는 영상 직접 확인.
- FP8 학습의 다룸 정도 — 강의 시점 (2025-04) 에 FP8 학습이 핵심 토픽이었을 가능성. 어느 정도 깊이로 다뤘는지.
- DeepSeek-V3 의 영향 — 강의 직전 (2024-12) 에 출간. 본 강의가 이 모델의 trick 을 분석에 포함했는지 미확인.
- RL 후학습 영역 — playbook 이 학습에 집중. RLHF / DPO 등의 후학습 시스템에 대한 자료가 어느 정도 다뤄졌는지 미확인.
- cloud 환경 vs 사내 클러스터 — 같은 결정이 GCP / AWS 의 가상 NVLink 위에서 다르게 동작. 이 자리가 다뤄졌는지 미확인.
- open dataset 접근 — FineWeb 같은 자료. 학습 비용의 또 다른 큰 부분. 영상 확인.
검증 메모
본 노트의 모든 수치 (FLOPs efficiency 50%, 7B 메모리 114 GB 등) 는 LLM 학습 도메인의 일반적 표준에서 가져왔다. HF playbook 자체의 정확한 수치는 huggingface.co/spaces/nanotron/ultrascale-playbook 의 직접 확인이 권장된다. 본 노트는 강의 발화 인용이 아니라 토픽이 가리키는 자리의 정리.