Source-linked AI summary
Don't Use Large Mini-Batches, Use Local SGD
Tao Lin, Sebastian U. Stich, Kumar Kshitij Patel, Martin Jaggi
TL;DR
매우 큰 mini-batch는 분산 학습 효율을 높이지만 generalization을 저해할 수 있다. 이 논문은 post-local SGD를 제안하고, large-batch 대안보다 communication efficiency를 높이면서 small-batch와 유사한 generalization을 달성함을 보인다.
문제
매우 큰 mini-batch SGD는 처리량을 높일 수 있지만, 보지 못한 데이터에 대한 generalization 성능은 제한적이다.
방법
이 논문은 post-local SGD를 제안하고, 다양한 local SGD 변형에서 communication efficiency와 generalization 간 trade-off를 실증적으로 분석한다.
결과
Post-local SGD는 generalization에서 large-batch SGD를 능가하고 small-batch SGD와 비슷한 성능을 보이며, mini-batch 경쟁 방법보다 communication efficiency가 높다.
시사점 및 한계
Local SGD는 large-batch 학습의 더 단순하고 효율적인 대안으로, 분산 학습의 이점을 유지하면서 generalization을 개선한다.
시사점 및 한계
Local SGD generalization에 대한 이론적 분석은 large-batch generalization이 이론적으로 여전히 잘 이해되지 않았기 때문에 이 연구의 범위를 넘어선다.
Abstract
from arXiv · showhide
Mini-batch stochastic gradient methods (SGD) are state of the art for distributed training of deep neural networks. Drastic increases in the mini-batch sizes have lead to key efficiency and scalability gains in recent years. However, progress faces a major roadblock, as models trained with large batches often do not generalize well, i.e. they do not show good accuracy on new data. As a remedy, we propose a \emph{post-local} SGD and show that it significantly improves the generalization performance compared to large-batch training on standard benchmarks while enjoying the same efficiency (time-to-accuracy) and scalability. We further provide an extensive study of the communication efficiency vs. performance trade-offs associated with a host of \emph{local SGD} variants.
1 서론
분산 딥러닝 학습에는 새로운 데이터에 대한 일반화 성능을 희생하지 않으면서 통신 효율적인 병렬 최적화를 수행하는 방법이 필요하다. 이에 이 논문은 local SGD를 연구하고, 확장 가능한 효율성을 유지하면서 large-batch training의 일반화 격차를 해소하기 위해 post-local SGD를 제안한다.
- Local SGD: Local SGD에서는 각 worker가 통신 전에 H개의 순차적인 mini-batch 업데이트를 수행하므로, 계산과 통신 사이의 균형을 맞추면서 mini-batch SGD와 비교해 업데이트 dynamics가 달라진다.B = HBloc일 때 local SGD와 mini-batch SGD는 동일한 통신 패턴을 사용하고 동일한 수의 training examples를 평가하지만, H > 1에서는 업데이트가 서로 다르다.
- 주요 결과: Figure 1은 post-local SGD가 single-machine baseline의 test accuracy와 일치하는 반면, large-batch SGD는 training curves에서는 일치하지만 일반화 성능은 더 낮음을 보여준다.비교 대상은 각각 A5 대 A1 및 A2다.
- 동기: Large-batch SGD는 throughput을 높이지만, 매우 큰 overall batch는 일반화 성능을 급격히 저하시키는 것으로 알려져 있다.Batch size를 줄이면 이 문제를 완화할 수 있지만, parallelization을 유지하면서 training efficiency를 저해한다.
- 주요 결과: Post-local SGD는 large-batch SGD가 생성한 model에서 local SGD를 시작해 일반화 격차를 해소하고 mini-batch 경쟁 방법보다 communication efficiency를 향상시킨다.직접 비교에서는 local SGD보다 communication efficiency가 낮다.
- 기여: 이 논문은 worker 수, local step 수, mini-batch size가 communication efficiency와 generalization 사이에서 어떤 trade-off를 이루는지 종합적으로 실증 분석한다.이 연구는 두 가지 동기 시나리오에서 communication efficiency와 generalization을 모두 다룬다.
2 관련 연구
선행 연구는 synchronized large-batch SGD가 학습 및 테스트 성능 저하와 연관되며, 이러한 격차가 더 뾰족한 최솟값 및 일반화와 관련됨을 보인다. Local SGD 이론은 아직 덜 발전했으며, 수렴, worker 확장, 지연, 평균화 빈도가 해의 품질에 미치는 영향을 다룬 연구들이 있다.
- Large-batch 학습의 일반화 격차: Synchronized large-batch SGD는 분산 확장을 가능하게 하지만 일반적으로 학습 및 테스트 오류를 악화시키며, ImageNet에서 10^3을 초과하는 batch에서도 이러한 현상이 나타난다.
- Large-batch 학습의 일반화 격차: Keskar et al. (2017)은 더 큰 batch를 더 뾰족한 최솟값과 연관시키는 반면, 더 나은 일반화를 위해서는 평평한 최솟값이 선호된다. 이러한 해석에는 Dinh et al. (2017)이 이의를 제기했다.
- Local SGD와 수렴 이론: Local SGD는 mini-batch SGD보다 이론적 토대가 덜 발전했으며, 선행 연구는 one-shot 평균화, 일반적인 worker 그래프, 그리고 K worker가 선형 가속을 제공하는지를 연구했다.
- Local SGD와 수렴 이론: 선행 분석은 strongly convex 및 smooth 목적함수, smooth non-convex 목적함수, stochastic-gradient 감소량, adversarial 지연에 대한 local SGD 수렴을 다룬다.
- Local SGD와 수렴 이론: 경험적 및 이론적 연구는 최적화 초기에 더 빈번한 평균화를 수행하면 해의 품질을 향상시킬 수 있음을 시사한다.
3 POST-LOCAL SGD와 HIERARCHICAL LOCAL SGD
이 절에서는 두 번째 학습 단계까지 local update를 지연하는 post-local SGD와, 시스템 계층 수준에 따라 통신과 계산을 조정하는 hierarchical local SGD를 소개한다.
- Post-local SGD: Post-local SGD는 t1회의 초기 mini-batch SGD step 이후에만 local SGD를 시작해 첫 번째 단계를 유지하면서 이후 communication-efficient training을 가능하게 한다.iteration-dependent schedule은 t ≤ t1에서 Hptq = 1, t > t1에서 H를 사용한다.
- Post-local SGD: Post-local SGD는 warm-up 동안 작은 local mini-batch를 사용하고, 이후 HBloc 크기의 effective batch로 전환하며, 추가 튜닝 없이 조정된 large-batch learning-rate schedule을 재사용한다.첫 번째 단계는 B = Bloc인 mini-batch SGD와 동일하다.
- Hierarchical Local SGD: Hierarchical local SGD는 각 계층 수준에서 local SGD를 inner loop로 실행해 chip, machine, rack, data center에 걸친 이질적인 bandwidth에 맞춰 계산과 통신을 조정한다.이 설계는 서로 다른 시스템 수준에서 최적의 resource adaptivity를 목표로 한다.
4 실험 결과
CIFAR-10/100과 ImageNet에서 수행한 실험은 local SGD가 mini-batch SGD보다 통신 효율과 확장성을 높이며, post-local SGD가 large-batch 일반화 문제를 해결하고 small-batch 성능과 같거나 더 나은 성능을 낼 수 있음을 보인다. 이러한 결과는 아키텍처, worker 수, batch size, 추가적인 통신 압축 또는 optimizer 설정 전반에서 일관되게 나타난다.
- 시나리오 1: mini-batch 정확도 92.48%에서 local SGD는 H=8일 때 2.59ˆ time-to-accuracy speedup으로 91.2% 정확도를 달성할 수 있다.이 비교에서는 Bloc와 K=16을 고정하며, 91.2% 결과는 He et al. (2016a)와 일치한다.
- 시나리오 1: worker 수가 증가할 때 local SGD는 time-to-accuracy에서 mini-batch SGD보다 2ˆ 더 잘 확장되며, 더 나은 일반화를 유지하면서 통신 병목을 극복한다.Figure 1은 ResNet-20을 사용해 CIFAR-10에서 K와 H를 1부터 16까지 변화시킨다.
- 시나리오 1: local SGD는 ResNet-50을 사용하는 16 ˆ 2-GPU cluster에서 최소 1.5ˆ speedup으로 ImageNet top-1 정확도 75%에 도달한다.이 결과는 large-batch ImageNet 방법과 경쟁력을 유지하면서 더 큰 dataset과 cluster로 확장할 수 있음을 보인다.
- 시나리오 2: post-local SGD는 CIFAR 아키텍처 전반에서 large-batch mini-batch SGD보다 더 잘, 더 빠르게 일반화하며, small mini-batch baseline과 같거나 더 나은 성능을 달성한다.이 연구는 여러 아키텍처에서 H=16과 H=32인 large batch를 평가하며, 이를 뒷받침하는 결과는 Table 3, Table 5, Figure 3, Appendix C.5에 제시된다.
- 시나리오 2: post-local SGD는 H, K, 더 큰 batch 전반에서 효과적이며, 압축 통신 방법을 개선하고, 보고된 2% large-batch 일반화 하락 없이 LARS보다 더 나은 성능을 낸다.실험은 CIFAR-100, ImageNet, language modeling, compression scheme, 그리고 KBloc=8192까지의 batch를 다룬다.
5 논의 및 해석
논의에서는 local SGD를 대규모 배치의 일반화 성능을 개선할 수 있는 추가 계산 없는 제어 가능한 stochastic-noise 주입으로 해석하면서도, 이론적 설명은 아직 불완전하다고 지적한다. 증거에 따르면 post-local SGD는 large-batch SGD보다 곡률이 낮은 해를 선호하며, 이는 더 나은 일반화와 일치한다.
- 범위와 한계: 이 논문은 local-SGD 일반화에 대한 심층적인 이론 연구를 제공하지 않고, 유리한 실험 결과를 향후 연구의 동기로 제시한다.저자들은 논의를 완전한 이론이 아니라 stochastic-noise 주입을 통한 local SGD의 해석으로 구성한다.
- 구현: Post-local SGD는 LARS가 이미 layer-wise learning rates와 distributed training을 사용하므로 추가 수정이나 parameter synchronization 없이 LARS와 통합할 수 있다.구현에는 mixed precision 및 distributed PyTorch training을 위한 NVIDIA Apex LARS code path가 사용된다.
- Local Updates와 Stochastic Noise Injection의 연결: 일반적인 noise-ratio 설명은 지나치게 큰 배치에서 성립하지 않는다. 이 경우 gradient 효과에 비해 noise가 감소하며 ρ가 더 이상 training dynamics를 유일하게 결정하지 않는다.이러한 붕괴는 large batches와 small datasets에서 특히 중요하며, 지속적인 일반화 문제를 설명하는 데 도움이 된다.
- Local Updates와 Stochastic Noise Injection의 연결: Local updates는 추가 계산 없이 구조화된 stochastic noise를 주입하며, mini-batch SGD와 동일한 learning-rate-to-batch-size ratio를 사용하면서 K와 H를 통해 noise를 증가시킨다.Local updates 동안 유효 noise variance는 mini-batch SGD의 Σ(w)에 비해 대략 KΣ(w)이다.
- 곡률과 일반화: Post-local SGD는 더 나은 일반화를 보이는 low-curvature minima로 향하는 반면, large-batch SGD는 높은 Hessian-spectrum 해로 향한다. interpolation 및 sharpness 분석은 이러한 패턴을 뒷받침한다.Figure 4는 mini-batch 및 post-local SGD의 Hessian spectra를 평가하고 minima를 interpolation하며, Appendix Figure 13은 model sharpness를 시각화한다.
6 결론
이 논문은 local SGD에서 communication efficiency와 generalization 간 trade-off를 광범위하게 분석하고, large-batch SGD보다 우수한 성능을 보이면서 small-batch SGD와 동등한 generalization을 달성하고 더 평평한 minima로 수렴하는 변형인 post-local SGD를 제안한다.
- 6 결론: Post-local SGD는 generalization에서 large-batch SGD보다 우수하고 small-batch SGD와 동등한 성능을 보이며, 기존 large-batch SGD보다 더 평평한 minima로 수렴한다.이 연구는 distributed 및 heterogeneous 환경에서 local SGD의 communication efficiency와 generalization performance 간 trade-off를 처음으로 광범위하게 분석한다.
보충 자료 … A.4.2 IMAGENET
보충 부록은 CIFAR, WikiText-2, ImageNet에서 local 및 post-local SGD를 평가하는 데 사용한 데이터셋, 아키텍처, large-batch 학습 방식과 학습 절차를 명시한다. ImageNet 프로토콜은 90 epoch 예산, 방법 간 동일한 데이터 접근, Goyal et al. (2017) 방식의 learning-rate scaling과 warmup을 고정한다.
- A.1 데이터셋: 부록은 CIFAR-10/100과 ImageNet에서 표준 augmentation 및 CIFAR 데이터의 channel-wise normalization을 사용해 image classification을 평가한다.
- A.2 모델 및 모델 초기화: 실험은 vision 및 language task 전반에서 post-local SGD를 평가하기 위해 ResNet-20, DenseNet-40-12, WideResNet-28-10, LSTM, ResNet-50을 다룬다.
- A.2 모델 및 모델 초기화: scaling ratio는 communication 대비 computation을 측정하므로, local SGD는 ratio가 더 작은 모델에서 더 큰 이점을 제공할 것으로 예상된다.Computation은 input-processing floating-point operation에 비례하는 반면, communication은 model size 또는 parameter count에 비례한다.
- A.3 Large Batch 학습 방식: large-batch 학습은 Goyal et al. (2017)에 따라 batch size에 맞춰 learning rate를 선형적으로 scaling하고, 이를 5 epoch 동안 점진적으로 warmup한다.
- A.4.1 CIFAR-10/CIFAR-100: CIFAR 실험은 경쟁 방법에 동일한 sample exposure를 제공하고, standalone worker의 sample count를 일치시킨 지점에서 종료하며, 아키텍처별 epoch 예산을 사용한다.ResNet-20, DenseNet-40-12, WideResNet-28-10에는 각각 300, 300, 250 epoch가 주어진다.
- A.4.1 CIFAR-10/CIFAR-100: CIFAR optimization은 0.9의 Nesterov momentum, 아키텍처별 weight decay, distributed worker별로 독립적으로 계산한 batch-normalization statistics를 사용한다.그 외에 local SGD는 mini-batch SGD와 정확히 동일한 optimization scheme을 사용한다.
- A.4 서로 다른 모델/데이터셋에서의 하이퍼파라미터 선택 및 학습 절차: 각 CIFAR batch size에 대해 learning rate를 grid search한다. Shallue et al. (2018)에 따라 모든 batch size, task, architecture에 통하는 보편적 scaling rule은 없기 때문이다.default-scheme 실험과 tuned-learning-rate 실험 모두에서 large-batch SGD는 처음 5 epoch 동안 warmup한다.
- A.4.2 IMAGENET: ImageNet ResNet-50 학습은 90회의 data pass, 매 epoch의 global reshuffling, 방법 간 동일한 gradient access, 128의 local batch, 5 epoch warmup을 사용한다.learning rate는 0.1 base rate와 256-example base batch에서 scaling한 뒤, 30, 60, 80 epoch에서 각각 10배 감소시킨다.
A.5 시스템 성능 평가 … B.3 Local SGD 학습에 대한 추가 결과
평가 결과, 더 큰 mini-batch는 단일 GPU 병렬성을 향상시키며, local SGD는 convex 문제에서 수렴 시간을 크게 줄일 수 있다. 알고리즘은 각 노드에서 local update를 수행한 뒤 주기적으로 gradient를 집계하고 model을 동기화한다.
- A.5 시스템 성능 평가: Figure 5는 CPU 코어 간 데이터 전송 지연 시간이 코어 수에 따라 어떻게 변하는지 살펴본다.48개 코어를 갖는 물리 머신으로 구성된 10 Gbps Kubernetes 클러스터에서 PyTorch MPI를 사용해 100 MB all-reduce 연산을 측정한다.
- A.5 시스템 성능 평가: CIFAR-10에서 ResNet20의 forward 및 backward pass를 실행할 때 더 큰 mini-batch가 더 나은 GPU 병렬성을 제공한다.Table 7은 단일 GPU에서 서로 다른 mini-batch 크기로 4096개 샘플을 처리하는 시간을 평가한다.
- B.1 Local SGD 알고리즘의 형식적 정의: Local SGD는 동기화된 model을 초기화하고, K개 노드에서 H회의 local mini-batch update를 병렬로 수행하며, gradient를 주기적으로 집계한다.이 절차는 초기 model, training data, local batch size Bloc, step size η, 선택적 momentum m, synchronization steps T, local steps H를 입력으로 받는다.
- B.2 Convex 문제에서 Local SGD의 수치적 예시: Convex 예시는 w8a dataset에서 logistic regression을 연구하고 target accuracy ϵ=0.005에 도달할 때까지의 iteration 수를 측정한다.K, H, Bloc의 configuration에는 grid search로 선택한 learning rate를 사용하며, 시간은 stochastic-gradient computation과 communication round를 통해 계산한다.
- B.2 Convex 문제에서 Local SGD의 수치적 예시: K=16일 때 local SGD는 (Bloc, H)=(16,16)을 사용하면 (64,1)보다 2× 이상 빠르게 수렴하고, (256,1)보다 3× 빠르다.이 비교는 Figure 6(a)의 convex logistic-regression 예시에서 도출된다.
- B.2 Convex 문제에서 Local SGD의 수치적 예시: Local SGD는 소수의 worker에서 H=16일 때 가장 큰 speedup을 달성하지만, K가 매우 커지면 그 이점은 감소한다.이러한 scaling behavior는 Figure 6(b)에 제시되어 있다.
B.3.1 LOCAL SGD를 통한 CIFAR-10 학습 … C.5 다양한 과제에서의 POST-LOCAL SGD 학습
CIFAR-10, ImageNet 및 더 큰 배치 설정 전반에서 local SGD는 학습과 일반화 성능을 유지하거나 향상하면서 통신량을 줄인다. 반면 post-local SGD는 learning-rate decay 이후 noise를 주입해 더 평탄하고 일반화 성능이 높은 해에 도달한다. 실용적 연구에 따르면 momentum 및 warm-up 변형의 이점은 제한적이거나 불분명하며, post-local SGD를 적용하는 시점은 효율성과 안정성에 중요하다.
- B.3.1 LOCAL SGD를 통한 CIFAR-10 학습: CIFAR-10에서 local SGD는 동일한 test accuracy를 유지하면서 mini-batch SGD보다 통신 효율이 높고 더 빠르게 수렴한다.local mini-batch size Bloc = 128에서 모든 방법은 동일한 총 gradient computation 횟수를 사용한다.
- B.3.1 LOCAL SGD를 통한 CIFAR-10 학습: H > 1일 때 local SGD는 동일한 수의 sample에 접근하면서 global synchronization을 H배 적게 수행하며, 총 학습 시간의 이점은 H가 증가할수록 커진다.mini-batch SGD는 각 local update 이후 synchronization을 수행하는 H = 1의 특수한 경우다.
- B.3.2 LOCAL SGD를 통한 IMAGENET 학습: ImageNet ResNet-50에서는 H = 8로 90회의 data pass에 걸쳐 local SGD를 평가하며, 목표에 도달할 때까지 local step을 두 배로 늘리는 warm-up을 사용한다.local-step warm-up은 이론적 초기 학습 가정을 따른다.
- B.3.3 MINI-BATCH SGD보다 더 큰 배치 크기로 확장되는 LOCAL SGD: local SGD는 large-batch 한계를 넘어 확장된다. CIFAR-10에서 H = 2일 때 통신 비용을 줄이면서 update step 기준으로 더 잘 학습하고 더 잘 일반화한다.기존 실증 연구는 추가적인 large-batch 병렬화가 이점을 제공하지 않는 영역을 식별한다.
- B.4.1 MOMENTUM을 적용한 LOCAL SGD: momentum 변형은 이론적으로 여전히 조정하기 어렵지만, CIFAR-10 실험에서는 일부 global-momentum factor가 정확도를 약간만 향상시키며 local-step warm-up에서는 설득력 있는 이점이 나타나지 않는다.따라서 저자들은 local momentum을 고려하고, 안정화 이후에도 warm-up noise가 학습 품질을 저하시킬 수 있다고 보고한다.
- C.1 POST-LOCAL SGD 알고리즘: post-local SGD는 첫 learning-rate decay 이전에는 빈번한 synchronization을 사용하고 이후에는 통신을 줄이며, 알고리즘 일정에서는 최종적으로 local step H1을 사용한다.알고리즘은 첫 decay 이전에 H(t) = 1을, 이후에는 H(t) = H1을 설정한다.
- C.2 첫 번째 LEARNING RATE DECAY 이후 POST-LOCAL SGD를 활성화하는 효과: post-local SGD는 첫 learning-rate decay 이후에 시작해야 한다. 이를 두 번째 decay까지 지연하면 통신 비용이 증가하고 더 날카로운 minimum으로 수렴할 위험이 있다.이 연구는 해당 시점에 추가적인 stochastic noise를 주입하는 것이 충분한지와 필요한지를 모두 검토한다.
- C.4 POST-LOCAL SGD의 일반화 이해: post-local SGD는 large-batch 또는 mini-batch SGD보다 더 낮은 curvature와 더 평탄한 해에 도달하며, 더 나은 일반화 성능을 보인다. 이는 처음부터 학습하거나 checkpoint에서 재개한 경우에도 성립한다.Hessian spectrum과 일차원 interpolation 분석은 post-local SGD를 낮은 curvature 및 더 평탄한 minimum과 연관짓는다.
C.5.1 CIFAR-100에서의 KBLOC “4096 전역 미니배치 크기 POST-LOCAL SGD 학습
전역 미니배치 크기가 4096인 CIFAR-100에서 fine-tuned large-batch SGD는 심각한 성능 저하를 겪지만, post-local SGD는 small-batch 일반화 기준선을 따라잡거나 능가한다. 또한 더 긴 학습은 ResNet-20의 large-batch 최적화 어려움을 완화한다.
- CIFAR-100에서의 post-local SGD 학습: post-local SGD는 세 CIFAR-100 CNN에서 fine-tuned large-batch SGD의 약 2% 일반화 격차를 해소하거나 fine-tuned small-mini-batch 기준선을 능가한다.비교에는 small-mini-batch 및 large-batch 학습 방식에서 가져온 기본 hyperparameter를 사용한다.
- CIFAR-100에서의 post-local SGD 학습: ResNet-20의 학습을 300 epoch에서 400 또는 500 epoch로 늘리면 CIFAR-100에서 large-batch 학습의 최적화 어려움이 완화된다.이는 Hoffer et al. (2017) 및 Shallue et al. (2018)의 분석을 확장한다.
C.5.2 언어 모델링에서의 POST-LOCAL SGD 학습 · C.5.3 IMAGENET에서의 POST-LOCAL SGD 학습
Post-local SGD를 WikiText-2 언어 모델링과 ImageNet 분류를 위한 large-batch 학습 전략으로 평가한다. LSTM 학습의 proof-of-concept를 제공하며, batch size 4096과 8192에서 ImageNet의 mini-batch SGD보다 우수한 성능을 보인다.
- C.5.2 언어 모델링에서의 POST-LOCAL SGD 학습: 언어 모델링 실험에서는 hidden dimension 650, B_loc=64, 120 epochs, BPTT length 30, gradient clipping 0.4, output dropout 0.4를 사용하는 three-layer LSTM을 학습한다.Loss는 example과 timestep에 대해 평균을 내며, algorithm이 training samples의 50%와 75%에 접근한 뒤 learning rate가 decay한다.
- C.5.2 언어 모델링에서의 POST-LOCAL SGD 학습: WikiText-2에서 저자들은 large-batch LSTM language-model training에 대한 post-local SGD의 효과를 보이는 proof-of-concept 평가를 제시한다.보고된 metric은 validation perplexity이며 값이 낮을수록 좋다. Table 13은 세 번의 run을 평균하고 mini-batch SGD learning rate를 fine-tune한다.
- C.5.2 언어 모델링에서의 POST-LOCAL SGD 학습: WikiText-2 설정은 Merity et al. (2018)을 따르며, multiple hyperparameters 때문에 LSTM training을 scaling하기 어려운 문제를 다룬다.저자들은 기존 large-batch 연구의 대부분이 language modeling보다 computer vision에 초점을 맞춘다고 지적한다.
- C.5.3 IMAGENET에서의 POST-LOCAL SGD 학습: ImageNet 평가는 standard ResNet-50 training configurations를 사용하며, 첫 learning-rate decay에서 transition한 뒤 post-local SGD를 측정한다.실험에서는 data에 대해 90-pass limit을 적용한 challenging ImageNet training을 평가한다.
- C.5.3 IMAGENET에서의 POST-LOCAL SGD 학습: batch size 4096과 8192에서 post-local SGD는 mini-batch SGD보다 높은 ImageNet accuracy를 달성한다: 각각 76.18 versus 75.87, 75.65 versus 75.64.ResNet-50 training은 90 passes로 제한되며, post-local SGD는 첫 learning-rate decay에서 시작한다.
- C.5.3 IMAGENET에서의 POST-LOCAL SGD 학습: ImageNet 성능은 10 Gbps bandwidth를 갖춘 8 × 4-GPU V100 Kubernetes cluster에서 training data에 완전히 접근할 때마다 평가한다.이 실험은 paper의 main experimental platform이 아닌 resource-limited platform을 사용한다.
C.5.4 POST-LOCAL SGD 대 다른 noise injection 방법 … D.2 HIERARCHICAL LOCAL SGD 알고리즘
Post-local SGD는 isotropic noise injection보다 우수한 성능을 보이며, generalization과 communication efficiency를 유지하거나 향상하면서 compressed training을 지원한다. Hierarchical local SGD는 local, block, global synchronization을 결합해 이 전략을 서로 다른 communication level에 걸쳐 확장한다.
- C.5.4 POST-LOCAL SGD 대 다른 noise injection 방법: Wang & Joshi (2019)와 비교하면, 동일한 CIFAR-10 task와 K=4에서 local SGD는 더 적은 communication으로 더 높은 accuracy에 도달한다.이들의 평가는 어려운 large-batch 시나리오를 다루지 않는 반면, 비교에서는 더 작은 ResNet-20을 사용한다.
- C.5.5 POST-LOCAL SGD와 다른 compression scheme: Post-local SGD는 sign-based compression과 결합할 수 있으며, local sign update 후 synchronization을 수행해 generalization을 크게 향상하고 communication을 추가로 줄인다.이 방법은 majority voting 대신 sign을 averaging하도록 signSGD를 조정한다.
- C.5.5 POST-LOCAL SGD와 다른 compression scheme: Distributed EF-signSGD에 post-local SGD를 적용하면, 동일한 experimental setup에서 hyper-parameter tuning 후 mini-batch SGD와 유사한 성능을 달성한다.이 확장은 single-worker EF-signSGD를 multiple worker에 맞게 조정하고 대안적인 algorithmic design을 조사한다.
- C.5.5 POST-LOCAL SGD와 다른 compression scheme: 고정된 epoch budget에서 weight decay와 Nesterov momentum은 두 compressed post-local SGD 알고리즘 모두의 training 및 test performance를 크게 향상한다.이 기법들은 signSGD와 EF-signSGD 실험 모두에서 local model update에 사용된다.
- D HIERARCHICAL LOCAL SGD: Hierarchical local SGD는 adaptivity와 performance를 위해 각 hierarchy level에서 local SGD를 적용함으로써 multiple communication bandwidths를 갖는 decentralized heterogeneous system을 대상으로 한다.동기를 제공하는 architecture에는 node 내부의 빠른 link와 더 느린 server, rack, cluster, external-network connection이 포함된다.
- D.1 HIERARCHICAL LOCAL SGD의 도식: Hierarchical local SGD는 각 GPU에서 H local update를 수행하고, GPU-block 내부에서 synchronization한 다음, Hb block update 후 global synchronization을 수행한다.이 구조는 hierarchical system에서 computation–communication trade-off에 부합한다.
- D.2 HIERARCHICAL LOCAL SGD 알고리즘: Hierarchical algorithm은 nested local-update, inner all-reduce, block-synchronization, outer all-reduce, global-synchronization 단계를 구현한다.입력에는 local step H, block step Hb, total node K, GPU-block당 node K1이 포함된다.
D.3 계층적 Local SGD 학습 · D.3.1 계층적 Local SGD의 성능 · E 통신 방식
계층적 local SGD는 이기종 다중 서버 시스템에서 통신 비용을 줄이는 동시에 확장성, 테스트 정확도, 네트워크 지연에 대한 강건성을 높인다. 통신 분석에 따르면 비용이 큰 서버 간 동기화를 줄이는 데서는 local step보다 block step이 더 결정적이다.
- D.3 계층적 Local SGD 학습: 실험에서는 제한된 대역폭으로 인해 대규모 모델 업데이트의 통신이 제약되는 서버 간 GPU 그룹화를 통해 이기종 시스템을 모델링한다.local SGD와 정렬된 절차를 사용해 CIFAR-10에서 ResNet-20을 학습한다.
- D.3.1 계층적 Local SGD의 성능: local step을 늘려도 통신 성능을 무한히 향상할 수는 없지만, 노드 내부 동기화는 이기종 동기화의 어려움을 줄이고 더 큰 클러스터에 이점을 준다.학습 시간 연구에서는 각각 두 개의 GPU를 갖는 8개 노드에서 CIFAR-10으로 ResNet-20을 학습한다.
- D.3.1 계층적 Local SGD의 성능: block step을 늘리면 성능 저하는 미미한 채 통신 비용이 감소하며, 충분한 block step을 사용하면 계층적 local SGD가 네트워크 지연에 강건해진다.이러한 강건성은 H = 2로 고정한 2개 서버, 4개 GPU 실험에서도 관찰된다.
- D.3.1 계층적 Local SGD의 성능: 계층적 local SGD는 H·H_b = 16일 때 이기종 클러스터 토폴로지 전반에서 mini-batch SGD보다 스케일링과 테스트 정확도를 향상한다.동일한 학습 절차를 사용해 비교하며, 충분한 block size와 block update에서 더 나은 일반화 성능을 보고한다.
- E 통신 방식: 통신 모델은 K개의 디바이스가 K_1개 서버에 균일하게 분포하고, N개 샘플에 대해 local batch size B, H local step, H_b block step을 사용하는 것으로 가정한다.이 매개변수들이 통신 절에서 분석하는 계층적 local SGD 학습 절차를 정의한다.
- E 통신 방식: MPI all-reduce 통신 비용은 aggregation마다 C·log_2 K이며, C는 메시지 전송 시간과 네트워크 지연을 결합한 값이다.이 방식은 recursive halving 및 doubling을 포함한 일반 all-reduce 알고리즘을 사용한다.
- E 통신 방식: 계층적 local SGD는 H mini-batch마다 서버 내부에서 동기화하지만 H_b block update 후에만 전역 동기화를 수행하므로, 통신 감소를 결정하는 정도는 H보다 H_b가 더 크다.서버 내부 비용인 C_1이 서버 간 비용인 C_2보다 낮기 때문에 서버 내부 비용과 서버 간 비용이 다르다.
- E 통신 방식: 계층적 방식은 하드웨어 최적화 gradient aggregation과 직교하며, 최적화된 all-reduce 구현과 통합할 수 있다.기저 aggregation 구현을 대체하기보다 일반적인 분산 환경에서 aggregation 비용을 대상으로 한다 (Goyal et al., 2017).
F 논의 및 향후 연구
논의에서는 data locality, learning-rate scheduling, adaptive local-step selection, topology-aware hierarchical local SGD를 둘러싼 미해결 문제를 식별한다. 이러한 문제는 이론적 공백, 조정되지 않은 최적화 선택, 시스템 의존적 성능과 관련된다.
- Data distribution patterns: global shuffling 없이 data-local training을 수행하는 경우는, 매우 큰 규모이거나 privacy-sensitive한 federated dataset에 해당하며, 현재의 이론적 이해로는 다루어지지 않는다.실험에서는 epoch마다 한 번 global shuffle을 수행한 뒤 각 worker에 서로 겹치지 않는 data portion을 할당한다.
- Better learning rate scheduler for local SGD: Local SGD는 mini-batch SGD를 일관되게 능가하지만, 기존의 large-batch learning-rate scheme은 local SGD가 아니라 mini-batch SGD를 위해 개발되었다.ImageNet에서는 실험에 local-SGD-specific tuning 없이 Goyal et al. (2017)의 large-batch configuration을 재사용했다.
- Adaptive local SGD: local-step count H를 adaptive하게 선택하면 복잡한 learning-rate schedule을 제거하거나 단순화할 가능성이 있다.논의에서는 관련 방향으로 cyclic learning-rate schedule도 제시한다.
- Hierarchical local SGD design: Hierarchical local SGD는 heterogeneous system에서 효율적이지만, topology가 그 이득에 영향을 준다. 8 × 2-GPU configuration에서는 inner-node synchronization을 더 자주 수행해도 성능이 향상되지 않았다.충분히 큰 GPU block은 hierarchical block update를 통해 이점을 얻을 수 있다.