[논문 리뷰] signSGD with Majority Vote is Communication Efficient And Byzantine Fault Tolerant
이 논문은 분산 딥러닝을 위한 통신 효율적이고 바이러스성 결함에 강건한 최적화 방법인 signSGD with majority vote를 제안한다. 기울기의 부호만 전송하고 다수결 투표 방식으로 집계함으로써, 통신량을 32배 줄였고, 대규모 및 미니배치 설정 모두에서 수렴을 달성하며, 최대 50%의 악성 워커를 견딜 수 있다. 15台의 머신에서 ImageNet의 ResNet-50 훈련에서 NCCL보다 25% 빠르게 성능을 냈다.
Training neural networks on large datasets can be accelerated by distributing the workload over a network of machines. As datasets grow ever larger, networks of hundreds or thousands of machines become economically viable. The time cost of communicating gradients limits the effectiveness of using such large machine counts, as may the increased chance of network faults. We explore a particularly simple algorithm for robust, communication-efficient learning---signSGD. Workers transmit only the sign of their gradient vector to a server, and the overall update is decided by a majority vote. This algorithm uses $32 imes$ less communication per iteration than full-precision, distributed SGD. Under natural conditions verified by experiment, we prove that signSGD converges in the large and mini-batch settings, establishing convergence for a parameter regime of Adam as a byproduct. We model adversaries as those workers who may compute a stochastic gradient estimate and manipulate it, but may not coordinate with other adversaries. Aggregating sign gradients by majority vote means that no individual worker has too much power. We prove that unlike SGD, majority vote is robust when up to 50% of workers behave adversarially. On the practical side, we built our distributed training system in Pytorch. Benchmarking against the state of the art collective communications library (NCCL), our framework---with the parameter server housed entirely on one machine---led to a 25% reduction in time for training resnet50 on Imagenet when using 15 AWS p3.2xlarge machines.
연구 동기 및 목표
- 고파rameter 모델을 사용하는 대규모 분산 딥러닝에서 발생하는 통신 병목 현상을 해결하기 위해.
- 기울기를 조작할 수 있는 최대 50%의 바이러스성 워커에 대응할 수 있는 강건한 최적화 방법을 개발하기 위해.
- 분산 훈련에서 수렴성이나 모델 정확도를 희생시키지 않고 통신 비용을 줄이기 위해.
- 실세계 훈련 워크로드에서 NCCL과 같은 최첨단 집합 통신 라이브러리보다 뛰어난 성능을 보이는 실용적인 시스템을 설계하기 위해.
제안 방법
- 워커들이 전체 정밀도 기울기 대신 기울기 벡터의 부호만 전송함으로써, 반복마다 통신량을 32배 줄였다.
- 파라미터 서버가 기울기 부호의 다수결 투표를 통해 업데이트를 집계함으로써, 한 워커가 업데이트를 지배하는 것을 방지했다.
- 대규모 배치 및 미니배치 설정 모두에서 자연스러운 조건 하에 수렴이 증명되었으며, Adam의 파라미터 영역로의 수렴도 함께 확장되었다.
- 악성 워커는 상호 협력하지 않는 실체로 모델링되며, 확률적 기울기 추정치를 계산하고 조작할 수는 있지만, 다른 워커와 협력할 수는 없다.
- 실제 구현과 벤치마킹을 가능하게 하기 위해 중앙 집중식 파라미터 서버를 사용하여 PyTorch에 구현되었다.
- 15대의 AWS p3.2xlarge 머신을 사용하여 ImageNet에서 ResNet-50 훈련을 수행하고, NCCL과의 성능 비교를 통해 평가되었다.
실험 결과
연구 질문
- RQ1기울기 기반 집계 방법이 딥러닝에서 대규모 및 미니배치 설정 모두에서 수렴을 달성할 수 있는가?
- RQ2다수결 투표 집계 방식은 분산 훈련에서 바이러스성 워커에 대해 얼마나 강건한가?
- RQ3모델 정확도나 수렴 속도를 떨어뜨리지 않고 통신량을 얼마나 줄일 수 있는가?
- RQ4간단한 signSGD with majority vote 프레임워크가 실세계 훈련 시나리오에서 NCCL과 같은 최적화된 통신 라이브러리보다 뛰어난 성능을 낼 수 있는가?
주요 결과
- signSGD with majority vote는 전체 정밀도 분산 SGD 대비 반복당 통신량을 32배 줄였다.
- 이 방법은 대규모 배치 및 미니배치 설정 모두에서 수렴을 달성했으며, Adam의 파라미터 영역로의 수렴도 부산물로 확보했다.
- 최대 50%의 워커가 악성으로 행동하더라도 강건하며, 다수결 투표로 인해 어떤 워커도 업데이트를 지배할 수 없다.
- 15대의 AWS p3.2xlarge 머신에서, 파라미터 서버가 단일 머신에 위치해 있음에도 불구하고, NCCL 대비 ImageNet에서 ResNet-50 훈련 시간을 25% 단축시켰다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.