《GPU Mode》
L099
2025 · Distributed ML
Mid priority
transcript · failed
Distributed ML on consumer devices
데이터센터의 8×H100 NVLink 도메인이 아니라 — 4090 데스크탑, M3 맥북, 게이밍 GPU가 묶여 학습한다는 시나리오. 대역폭이 좁고 노드가 사라지고 quantization 상태가 다른 환경에서 distributed training 이 어떻게 가능한가, 그리고 왜 지금 이 토픽이 다시 흥미로운가. Matt Beton 의 강의를 — 자막은 실패했지만 — federated learning · DiLoCo · DeMo 같은 연관 흐름을 근거로 재구성한 학습 노트.
distributed training
consumer GPU
low-bandwidth
DiLoCo
federated
P2P
gradient compression
async SGD
M
Speaker
Matt Beton
Distributed ML on consumer devices · 확인 필요
§ 01강의가 풀려는 문제· consumer device 학습의 동기
“집에 있는 4090 들이 모여서 학습한다” 는 가정이 다시 진지해진 이유
2024–2025 의 LLM 학습은 거의 항상 NVLink 도메인 안의 8×H100 또는 그 위에 올라간 InfiniBand fabric 으로 이뤄진다. 그 시스템의 가정 — 대역폭은 충분하고 노드는 사라지지 않는다 — 이 깨질 때 무슨 일이 벌어지는가. consumer-grade hardware 위에서의 분산 학습은 그 가정의 정반대 환경이다.
강의가 던지는 세 개의 질문.
- 대역폭이 1 Gbps 이하 — 100배 좁다 — 일 때, 어떤 알고리즘 변화가 학습을 가능하게 하는가.
- 노드가 임의로 join/leave 하는 환경에서, 학습의 수렴은 어떻게 보존되는가.
- 모든 노드가 동일하지 않은 — 다른 GPU, 다른 quantization, 다른 batch size — 환경에서 무엇을 통일하고 무엇을 자유롭게 둘 것인가.
강의의 인지적 frame
이 강의의 모든 알고리즘은 같은 질문에 답한다 — “데이터센터의 가정을 깨고도 학습이 수렴하게 만드는 최소 변경은 무엇인가?” 답은 보통 한 줄: communication 을 줄이고, 줄인 만큼 local 에서 더 많이 일한다.
“대역폭은 1/100 인데 정확도는 BF16 distributed 와 비슷해야 한다 — 이 제약이 알고리즘을 새로 짜게 만든다.”학습 노트 · 확인 필요
§ 02왜 지금 다시· 데이터센터 너머의 압력
2024 년에 federated learning 이 다시 진지해진 세 가지 이유
consumer device 위에서의 학습 — 또는 보다 일반적으로 geographically distributed training — 은 2017 년 Google 의 federated averaging 논문 이후 학계의 주류에서 빠져 있었다. 데이터센터 안의 collective 가 모든 것을 풀었기 때문. 2024 부터 이 흐름이 다시 진지해진 이유가 셋.
- 모델 규모 vs 단일 클러스터의 한계 — 70B / 405B 모델이 한 데이터센터의 power envelope 을 넘기 시작. 여러 데이터센터에 걸쳐 학습할 필요가 다시 생김.
- compute 집중의 정치적 압력 — open / decentralized 학습에 대한 관심. Hyperbolic, Prime Intellect, Nous Research 같은 곳들이 실제로 시연.
- 알고리즘적 돌파 — DiLoCo (2023), DeMo (2024), OpenDiLoCo (2024) 가 “100배 적은 communication 으로 같은 정확도” 를 실증. 좁은 대역폭이 더 이상 deal-breaker 가 아님.
이 셋이 합쳐져서 — “집의 4090 으로 정말 큰 모델을 학습할 수 있는가” 가 academic question 에서 engineering question 으로 옮겨갔다. L099 는 그 engineering 의 정리.
규모의 대조 · 확인 필요
대표적인 실증 — OpenDiLoCo 가 Llama-7B 급 모델을 multi-region 으로 학습. NVLink 의 ~600 GB/s 가 아닌 commodity internet 의 100 Mbps–1 Gbps. 같은 토큰 수에 도달했을 때 정확도 차이는 noise 수준이라는 보고. (구체 수치는 강의에서 인용했을 가능성, 자막 실패로 확인 안 됨)
§ 03federated 와 P2P· 두 가지 위상
중심 서버가 있는가 / 없는가 의 분기
consumer device 위에서의 분산 학습은 두 위상 중 하나로 정착한다. 중앙 server 가 있고 client 가 둘러싸는 federated, 또는 모든 노드가 대칭인 peer-to-peer. 알고리즘적 trade-off 가 둘 사이에서 갈린다.
FIG · 두 위상에서의 한 stepdata flow
FED · 1
local step
각 client 가 자기 데이터로 H step 학습. 이 단계가 끝나기 전에는 통신 없음.
FED · 2
push to server
weight delta 또는 gradient 를 중앙 server 에 보냄. send(Δw_i) 한 번.
FED · 3
server averaging
server 가 w ← w + (1/N)Σ Δw_i. 다음 round 의 시작 weight.
FED · 4
broadcast
새 weight 를 모든 client 에 broadcast. 다음 H step 학습.
P2P · 1
local step
동일하게 H step 학습. 차이는 다음 단계.
P2P · 2
gossip exchange
이웃 K 명과 weight 를 주고받음. 그래프 위 random walk 로 정보 전파.
P2P · 3
local average
이웃의 weight 와 자기 weight 를 평균. 한 step 의 끝.
P2P · 4
no broadcast
중심이 없으니 broadcast 없음. 하지만 수렴이 느리다.
대표적 trade-off — federated 는 server 가 SPOF (single point of failure) 이지만 수렴이 빠름. P2P 는 어느 노드가 죽어도 진행 가능하지만 수렴이 그래프 직경에 비례해 느려짐. 강의에서는 보통 “federated 우선, 노드 수가 100 을 넘으면 P2P 검토” 같은 rule of thumb 가 등장.
현재 production 적인 시연 — Prime Intellect 의 OpenDiLoCo, Hyperbolic, Nous DisTrO — 모두 사실상 hub-and-spoke (federated) 구조를 채택했다. P2P 는 토이 / 연구 수준이 많고 production 에서는 아직 드물다. 이건 “server 가 가능하면 server 를 쓴다” 의 실용적 합의.
§ 04압축 / sparsification· gradient · weight delta
“보낼 게 1/100 이면 대역폭이 1/100 이어도 된다”
consumer 환경에서 학습이 가능해진 가장 큰 알고리즘 unlock 은 compressed communication. weight delta 또는 gradient 를 통째로 보내지 않고 — top-k, quantize, sketch — 가지치기.
FIG · 한 round 안의 시간 분배compute vs communication
data center BF16
8×H100 NVLink
local compute (batch)
all-reduce BF16 grad
~9 GB / step
naïve consumer
100 Mbps WAN
compute
all-reduce 가 학습 시간 90%
~9 GB / step
DiLoCo style
H 번에 한 번 sync
H × local steps
delta sync
~9 GB / H step
DeMo style
top-k + quant
local compute
k% sparse
— 남는 시간 —
~90 MB / step
두 가지 직교적 axis — frequency (DiLoCo 가 H 번에 한 번 sync) 와 volume (DeMo 가 top-k 만 보냄). 둘 다 같이 쓰면 100배의 100배 = 10000배 적은 communication 이론적으로 가능. 실제는 정확도 trade-off 와 같이 결정.
대표적 압축 기법들.
- Top-k sparsification — gradient 의 절댓값 상위 k% 만 보냄. 나머지는 local 에 누적 (error feedback).
- Quantization — gradient 를 INT8 / INT4 로 양자화해 송신. 보통 stochastic rounding 과 함께.
- PowerSGD / sketching — gradient 를 low-rank 로 근사. 보낼 dimension 이 quadratic 하게 줄어든다.
- Delta-of-delta / momentum reuse — DeMo 가 도입. local momentum 을 활용해 보내야 할 update 자체를 줄임.
실전 교훈
“정확도 vs 압축률” 의 곡선이 거의 모든 실증에서 보고된 모양 — 100배까지는 거의 무료, 1000배에서 약간의 정확도 손실, 10000배에서 명백한 손실. “100× 까지는 default 로 켜라” 는 합의가 형성됨.
§ 05sync vs async· DiLoCo · DeMo · async SGD
“얼마나 자주 동기화할 것인가” — 그리고 동기화하지 않을 때의 대가
분산 학습의 통신량은 frequency × volume. 앞 섹션이 volume 을 줄이는 길이었다면, 이 섹션은 frequency 를 줄이는 — 또는 아예 동기화 자체를 깨는 — 길.
DiLoCo — “local 에서 H step 더 일하라”
각 worker 가 H step (보통 50–500) 을 local 에서 학습. 그 다음 weight delta 를 한 번 sync. 사실상 federated averaging 의 LLM 시대 재발견.
핵심 insight — outer optimizer (Nesterov momentum) 가 worker 들의 delta 를 합칠 때 stability 를 만든다. 단순 평균이 아니라 두 단계 optimizer. inner 는 AdamW, outer 는 SGD-Nesterov.
수치 · 확인 필요
DiLoCo 논문에서 보고된 — H = 500 일 때 통신 100배 감소, perplexity 차이 <0.5. 이 수치가 강의에서 직접 인용됐을 가능성 큼.
DeMo — “momentum 에서 보낼 게 충분히 빠진다”
2024 년 발표. local momentum 의 top-k DCT 성분만 보낸다. 나머지는 local 에서 유지. signal 이 frequency domain 에서 sparse 하다는 관찰을 활용.
장점 — DiLoCo 와 합쳐서 같이 쓸 수 있음. 통신 frequency 를 H 번에 한 번으로 떨어뜨리고, 그 한 번에서도 top-k 만 보냄.
완전 async — “server 가 받는 대로 적용”
Hogwild! 의 distributed 판. 가장 통신 친화적이지만 stale gradient 의 영향이 커서 LLM 규모에서는 불안정. 작은 모델 / federated 에서 fall-back 옵션.
“DiLoCo + top-k + INT8 의 조합이 — 강의 시점의 합의된 default — 그리고 거의 모든 production 시연이 이 셋의 조합 위에 있다.”학습 노트 · 확인 필요
§ 06PCC · L Pattern 과 비교· 데이터센터 패턴과의 차이
왜 같은 이름의 “distributed training” 이 데이터센터와 consumer 에서 다른 stack 이 되는가
데이터센터 분산 학습의 표준 패턴 — DDP, FSDP, ZeRO, pipeline + tensor parallel 의 결합 (PCC, L Pattern) — 은 모두 NVLink/NVSwitch 의 고대역폭을 전제한다. consumer 에서는 그 전제가 깨지므로 다른 stack 이 필요하다.
FIG · 두 환경의 stack 비교같은 이름, 다른 알고리즘
차원
data center
consumer
동기
통신 패턴
all-reduce per step
delta per H step
대역폭 1/100
통신량
model size × 2
~ 1% × delta
+ top-k
노드 가정
고정 + alive
churn 가정
consumer
memory split
FSDP / ZeRO-3
replicate / partial
노드 작아도 OK
parallelism
data + tensor + pipeline
data 위주, MoE
cross-node TP 비현실적
기준 비교
linear scale
100×↓ comm @ similar acc
DiLoCo 보고
대표 stack
DDP/FSDP + NCCL
DiLoCo + DeMo + sketch
완전 다른 코드
실패 모드
collective hang
drift / divergence
완전 다른 디버깅
두 stack 은 이름이 같을 뿐 같은 시스템이 아니다. consumer stack 의 디버깅은 hang 보다는 — drift, divergence, 노드별 stale weight 같은 — 새 종류의 문제로 옮아간다.
§ 07실제 사례· Prime Intellect · OpenDiLoCo · Nous DisTrO
2024 의 production 시연들이 stack 을 어떻게 정착시켰는가
academic 에 머물던 idea 들이 실제 multi-region run 으로 옮겨간 사례가 2024 부터 누적됐다. 강의에서 직접 거론됐을 가능성이 높은 시연들을 정리.
OpenDiLoCo (Prime Intellect, 2024)
DiLoCo 의 open-source 재구현. multi-region (북미 + 유럽 + 아시아) 로 1B 모델 학습 시연. 대역폭 100 Mbps 환경에서도 수렴. “집에서 가능하다” 의 첫 본격적 실증.
INTELLECT-1 (Prime Intellect, 2024)
10B 파라미터 모델. 30+ contributors, 5 country. distributed training run 의 규모를 한 단계 더 끌어올림.
Nous Research DisTrO
DiLoCo + DeMo + 자체 압축. 통신을 최소화한 stack 으로 LLM 사전학습 가능성 시연. 발표 자체가 큰 community 임팩트.
Hyperbolic / decentralized inference
학습보다는 inference 쪽이지만 같은 위상 — consumer GPU 들이 모여 서비스를 만든다는 같은 motif.
Federated learning baselines
Google FL (2017) 부터의 lineage. 의료/모바일 segment 에서 일관된 production. LLM 시대 consumer-training 의 직접적 조상.
SWARM Parallelism
Hugging Face / Yandex 의 2023 작업. 노드가 사라져도 진행 가능한 pipeline parallel. 이 강의 주제와 직접 연결.
§ 08한계· node churn · adversarial · 평가
data center 가정 밖에서 새로 등장하는 운영 문제들
consumer 환경의 stack 은 알고리즘이 풀린다고 해도 운영 측면에서 새 종류의 문제를 만난다. 이 섹션은 그 문제 카테고리들을 정리.
- node churn — 노드가 임의로 join/leave. server 의 round 가 한 노드를 기다리면 망함. partial aggregation + timeout 이 표준 답.
- adversarial / Byzantine — 누가 nonsense gradient 를 보내면 어떻게 되는가. 학계는 trimmed mean / median aggregation 를 본다. production 에서는 권한 모델 (allowlist) 로 우회.
- data heterogeneity — 각 노드의 데이터 분포가 다르면 — non-IID — global 모델의 수렴이 손상. FedAvg 의 oldest 문제.
- hardware heterogeneity — 4090 / 3090 / M3 / 2080 이 섞이면 가장 느린 노드가 stragger. compute-aware scheduling 또는 local epoch 수 다르게.
- quantization 상태 차이 — INT8 모델을 FP16 모델과 합칠 때 numeric 충돌. dequantize 후 평균, 다시 quantize.
- 평가가 어려움 — distributed run 의 throughput 을 어떻게 비교할 것인가. wall clock 인지 token-throughput 인지 watt-hour 인지 — 합의된 metric 없음.
실전 함정
“data center 에서 잘 도는 코드를 그대로 consumer 에 옮긴다” 는 거의 항상 실패. 첫 번째 hang 은 보통 NCCL collective 가 churn 노드를 기다리는 자리. 처음부터 fault-tolerant 한 stack 을 짜야 한다 — 이게 강의의 운영 측면의 메시지.
§ 09미래· heterogeneous quant · MoE · open weights
2025 의 다음 step 들
강의의 마지막 — “이 분야가 어디로 가고 있는가”. 강의자가 실제로 거론했을 가능성 큰 항목 + 같은 흐름의 paper 들로부터 외삽.
- MoE 의 자연스러운 fit — 전문가 모델을 노드 별로 분할 (expert parallelism) 하면 통신은 router decision 만. consumer 환경과 MoE 가 algorithmic 으로 잘 맞는다.
- heterogeneous quantization — 4090 은 FP16 / FP8, M3 는 BF16, 옛 카드는 INT8. 같은 학습에서 노드 별로 다른 precision 을 쓰고 server 가 합칠 때만 통일.
- federated fine-tuning — pretrain 은 데이터센터, fine-tune 은 consumer device. 더 보수적인 시작점이지만 즉시 가치.
- blockchain / incentive layer — Prime Intellect 같은 곳들의 다음 step. 일을 한 노드에 token reward. 학습 자체를 시장으로.
- RL post-training 의 분산 — RLHF / DPO 의 rollout 은 data parallel 친화적. consumer GPU 가 rollout 을 담당하는 hybrid stack.
“2025 의 가장 흥미로운 distributed training 은 — fully decentralized 가 아니라 — data center + consumer 의 hybrid 가 될 것이다.”학습 노트
§ 10기억할 메모· key takeaways · refs
다시 열었을 때 5분 안에 손에 잡혀야 할 것
data center vs consumer
대역폭 1/100, 노드 churn, 이질적 hardware. 이 셋이 stack 을 새로 짜게 만든다.
DiLoCo
H step 마다 한 번 sync. inner AdamW + outer SGD-Nesterov. 100× 통신 감소.
DeMo
momentum 의 frequency-domain top-k 만 송신. DiLoCo 와 직교적, 같이 쓸 수 있음.
federated vs P2P
현재 production 시연은 거의 hub-and-spoke (federated). P2P 는 연구 단계.
압축 default
100× 까지는 거의 무료. 1000× 부터 정확도 trade-off. INT8 + top-k 가 baseline.
node churn
timeout + partial aggregation. “가장 느린 노드를 기다리지 마라”.
대표 시연
OpenDiLoCo, INTELLECT-1, Nous DisTrO. 모두 2024 / 2025.
미래 기조
hybrid (DC + consumer), MoE 친화, RL post-training 의 분산. fully decentralized 보다는 hybrid 가 가까운 미래.
손에 새기기 — 실습 시퀀스
- FedAvg toy — MNIST 위에서 4 worker FedAvg 를 한 GPU 안에서 simulate. H step 변화에 따른 수렴 비교.
- DiLoCo 소규모 재현 — OpenDiLoCo 의 example 을 그대로 실행. 통신량 측정.
- top-k compression — 단일 GPU 에서 gradient 의 top-1% 만 적용 vs 전부 적용 — 정확도 차이를 직접 본다.
- node churn simulation — 4 worker 중 random 1 명을 매 round drop. server 의 timeout 로직이 어떻게 동작해야 하는지 직접 짜본다.
- heterogeneous batch — worker 마다 batch size 가 다른 시나리오. effective learning rate 의 차이가 수렴에 미치는 영향 측정.
§ 11다른 강의로 이어지는 길· connections
이 강의의 idea 가 다른 강의에서 재등장하는 자리
§ 12열린 질문· open questions
다음에 다시 들었을 때 직접 검증해야 할 것들
- 강의에서의 구체적 demo — Matt Beton 이 자신의 시스템 / 회사를 발표했는지, 또는 일반론적 survey 였는지 자막 실패로 확인 안 됨. (확인 필요)
- specific 수치 — “100×” “1/100 대역폭” 같은 구체 수치는 DiLoCo / DeMo / OpenDiLoCo 보고서로부터의 추정. 강의의 직접 인용은 미확인. (확인 필요)
- incentive layer — 강의에서 token / blockchain 측면을 다뤘는지. Matt 의 배경에 따라 다를 수 있음. (확인 필요)
- hardware heterogeneity 의 구체적 실증 — 4090 + M3 같은 ARM/x86 mixed setup 이 실제로 시연됐는지 — 일반적으로 어려움. (확인 필요)
- RL post-training 과의 결합 — rollout 단계의 분산이 어디까지 갔는지 — 이 강의 시점에서의 state. (확인 필요)
검증 메모
이 노트의 알고리즘 설명은 DiLoCo (arXiv 2311.08105), DeMo (arXiv 2411.19870), OpenDiLoCo, SWARM (arXiv 2301.11913) 의 공개 자료로부터 재구성. 강의 자체의 자막은 실패. 강의자가 자신의 작업을 시연했을 가능성이 있고, 그 부분은 영상 재시청 필요.