gpumode · 강의 아카이브
《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 · 확인 필요
강의 번호
L099
스피커
Matt Beton
자막
failed · 재구성
근거
DiLoCo · DeMo · FL 문헌
§ 01강의가 풀려는 문제· consumer device 학습의 동기

“집에 있는 4090 들이 모여서 학습한다” 는 가정이 다시 진지해진 이유

2024–2025 의 LLM 학습은 거의 항상 NVLink 도메인 안의 8×H100 또는 그 위에 올라간 InfiniBand fabric 으로 이뤄진다. 그 시스템의 가정 — 대역폭은 충분하고 노드는 사라지지 않는다 — 이 깨질 때 무슨 일이 벌어지는가. consumer-grade hardware 위에서의 분산 학습은 그 가정의 정반대 환경이다.

강의가 던지는 세 개의 질문.

  1. 대역폭이 1 Gbps 이하 — 100배 좁다 — 일 때, 어떤 알고리즘 변화가 학습을 가능하게 하는가.
  2. 노드가 임의로 join/leave 하는 환경에서, 학습의 수렴은 어떻게 보존되는가.
  3. 모든 노드가 동일하지 않은 — 다른 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 부터 이 흐름이 다시 진지해진 이유가 셋.

이 셋이 합쳐져서 — “집의 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 와 같이 결정.

대표적 압축 기법들.

실전 교훈

“정확도 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 은 알고리즘이 풀린다고 해도 운영 측면에서 새 종류의 문제를 만난다. 이 섹션은 그 문제 카테고리들을 정리.

실전 함정

“data center 에서 잘 도는 코드를 그대로 consumer 에 옮긴다” 는 거의 항상 실패. 첫 번째 hang 은 보통 NCCL collective 가 churn 노드를 기다리는 자리. 처음부터 fault-tolerant 한 stack 을 짜야 한다 — 이게 강의의 운영 측면의 메시지.

§ 09미래· heterogeneous quant · MoE · open weights

2025 의 다음 step 들

강의의 마지막 — “이 분야가 어디로 가고 있는가”. 강의자가 실제로 거론했을 가능성 큰 항목 + 같은 흐름의 paper 들로부터 외삽.

“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 가 가까운 미래.
YouTube youtube.com/watch?v=sV0PJC1dOmM · transcript failed
DiLoCo arxiv.org/abs/2311.08105 · Distributed Low-Communication Training
DeMo arxiv.org/abs/2411.19870 · Decoupled Momentum
SWARM arxiv.org/abs/2301.11913 · SWARM Parallelism

손에 새기기 — 실습 시퀀스

  1. FedAvg toy — MNIST 위에서 4 worker FedAvg 를 한 GPU 안에서 simulate. H step 변화에 따른 수렴 비교.
  2. DiLoCo 소규모 재현 — OpenDiLoCo 의 example 을 그대로 실행. 통신량 측정.
  3. top-k compression — 단일 GPU 에서 gradient 의 top-1% 만 적용 vs 전부 적용 — 정확도 차이를 직접 본다.
  4. node churn simulation — 4 worker 중 random 1 명을 매 round drop. server 의 timeout 로직이 어떻게 동작해야 하는지 직접 짜본다.
  5. heterogeneous batch — worker 마다 batch size 가 다른 시나리오. effective learning rate 의 차이가 수렴에 미치는 영향 측정.
§ 11다른 강의로 이어지는 길· connections

이 강의의 idea 가 다른 강의에서 재등장하는 자리

§ 12열린 질문· open questions

다음에 다시 들었을 때 직접 검증해야 할 것들

검증 메모

이 노트의 알고리즘 설명은 DiLoCo (arXiv 2311.08105), DeMo (arXiv 2411.19870), OpenDiLoCo, SWARM (arXiv 2301.11913) 의 공개 자료로부터 재구성. 강의 자체의 자막은 실패. 강의자가 자신의 작업을 시연했을 가능성이 있고, 그 부분은 영상 재시청 필요.

← Lecture 098 GPU Observability — eBPF stack Lecture 100 → InferenceX — Continuous OSS Inference Benchmarking