Skip to main content
QUICK REVIEW

[논문 리뷰] ShadowSync: Performing Synchronization in the Background for Highly Scalable Distributed Training

Qinqing Zheng, Bor-Yiing Su|arXiv (Cornell University)|2020. 03. 07.
Stochastic Gradient Optimization Techniques참고 문헌 30인용 수 4
한 줄 요약

ShadowSync는 분산 학습 프레임워크로, 동기화를 학습에서 분리하여 백그라운드 스레드에서 실행함으로써 동기화 오버헤드를 크게 감소시키고, 학습 스루풋을 희생시키지 않은 채 고주기 동기화를 가능하게 한다. 이 방법은 대규모 추천 시스템에서 뛰어난 모델 품질과 선형 확장성을 달성하며, 기존의 프론트엔드 동기화 방법을 능가한다.

ABSTRACT

Recommendation systems are often trained with a tremendous amount of data, and distributed training is the workhorse to shorten the training time. While the training throughput can be increased by simply adding more workers, it is also increasingly challenging to preserve the model quality. In this paper, we present \shadowsync, a distributed framework specifically tailored to modern scale recommendation system training. In contrast to previous works where synchronization happens as part of the training process, \shadowsync separates the synchronization from training and runs it in the background. Such isolation significantly reduces the synchronization overhead and increases the synchronization frequency, so that we are able to obtain both high throughput and excellent model quality when training at scale. The superiority of our procedure is confirmed by experiments on training deep neural networks for click-through-rate prediction tasks. Our framework is capable to express data parallelism and/or model parallelism, generic to host various types of synchronization algorithms, and readily applicable to large scale problems in other areas.

연구 동기 및 목표

  • 대규모 추천 시스템에서 분산 학습을 확장하면서도 높은 모델 품질을 유지를 위한 과제를 해결한다.
  • 학습 스레드를 정지시키는 동기화 학습 단계로 인한 성능 저하 문제를 해결한다.
  • 대규모 모델과 데이터셋을 지원하기 위해 데이터 병렬성과 모델 병렬성을 통합된 프레임워크에서 지원한다.
  • 기존 시스템에서 일반적으로 상충되는 고스루풋 학습과 고주기 동기화를 동시에 달성한다.
  • 다양한 분산 학습 워크로드에 적합한 다양한 동기화 알고리즘을 지원하는 일반적이고 확장 가능한 프레임워크를 제공한다.

제안 방법

  • 학습 메인 스레드에서 동기화를 분리하여 전용 백그라운드 '샤로우' 스레드에서 실행한다.
  • 샤로우 스레드를 사용해 계산과 독립적으로 매개변수 평균화 및 모델 업데이트를 수행한다.
  • 동일한 프레임워크 내에서 트레이너 간 데이터 병렬성과 임베딩 매개변수 간 모델 병렬성을 모두 지원한다.
  • 다양한 구성 요소에 대해 병행적으로 독립적으로 사용 가능한 여러 동기화 전략(예: S-MA, S-BMUF, S-EASGD)을 지원한다.
  • 각 트레이너당 다수의 워커 스레드를 사용해 트레이너 내부에서 호그와일드 스타일 병렬성을 통합하여 메모리 대역폭 활용도를 극대화한다.
  • 기반 동기화 알고리즘에 관계없이 시스템을 설계하여 다양한 방법의 플러그인 통합을 가능하게 한다.

실험 결과

연구 질문

  • RQ1학습에서 동기화를 분리하면 대규모 분산 학습에서 통신 및 계산 병목 현상을 줄일 수 있는가?
  • RQ2백그라운드 동기화가 학습 스루풋을 저하시키지 않으면서도 더 높은 동기화 빈도를 가능하게 하는가?
  • RQ3대규모 추천 시스템에서 기존 프론트엔드 동기화와 비교해 모델 품질을 유지하거나 향상시킬 수 있는가?
  • RQ4트레이너 수와 데이터 크기가 증가함에 따라 분리된 동기화 모델은 어떻게 확장되는가?
  • RQ5높은 효율성과 낮은 오버헤드를 유지하면서도 데이터 병렬성과 모델 병렬성을 동시에 얼마나 잘 지원할 수 있는가?

주요 결과

  • ShadowSync는 동기화 오버헤드로 인한 제약 없이 매초 유효 매개변수 업데이트 수(EPS)의 선형 확장을 달성한다.
  • ShadowSync 하에서 S-MA 및 S-BMUF 버전은 프론트엔드 대응 버전(FR-MA, FR-BMUF)과 비교해 유사하거나 더 뛰어난 모델 품질을 보이며, 특히 학습 및 평가 시 음의 로그우도(NE) 측면에서 뛰어나다.
  • 더 큰 탄성 매개변수 α를 사용한 S-BMUF는 기본 설정보다 더 빠르게 수렴하고 더 높은 성능을 달성하여 프레임워크의 설계 유연성을 검증한다.
  • 트레이너당 24개의 워커 스레드를 지원함으로써 고스루풋 학습을 구현할 수 있으며, 이는 메모리 대역폭 포화로 인해 EPS 향상 폭이 더 이상 증가하지 않기 때문이다.
  • ShadowSync는 학습 스루풋에 영향을 주지 않으면서도 고주기 동기화를 가능하게 하여, 예를 들어 24개의 트레이너에서 S-MA의 경우 분당 약 2.9회의 동기화를 지원한다.
  • 중앙집중식 S-EASGD와 비교해 탈중앙화된 변종(S-BMUF, S-MA)도 유사한 성능을 보이며, 샤로우 동기화가 다양한 동기화 토폴로지에서 효과적임을 입증한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.