Skip to main content
QUICK REVIEW

[논문 리뷰] Parallel Stochastic Gradient Descent with Sound Combiners

Saeed Maleki, Madanlal Musuvathi|arXiv (Cornell University)|2017. 05. 22.
Stochastic Gradient Optimization Techniques참고 문헌 12인용 수 3
한 줄 요약

이 논문은 스레드 간 국소 모델을 정확하게 조합하기 위해 타당한 모델 조합기(modelling combiners)를 사용함으로써 순차적 SGD의 의미를 유지하는 병렬 확률적 경사 하강법인 SymSGD를 제안한다. 16개 코어에서 순차적 SGD 대비 최대 11배의 성능 향상을 달성하고, 1차 근사에 의한 경사 업데이트의 최소화를 통해 지연과 통신 오버헤드를 줄임으로써 동일한 정확도를 유지한다. 이는 경사 하강법의 성능 향상에 기여한다.

ABSTRACT

Stochastic gradient descent (SGD) is a well known method for regression and classification tasks. However, it is an inherently sequential algorithm at each step, the processing of the current example depends on the parameters learned from the previous examples. Prior approaches to parallelizing linear learners using SGD, such as HOGWILD! and ALLREDUCE, do not honor these dependencies across threads and thus can potentially suffer poor convergence rates and/or poor scalability. This paper proposes SYMSGD, a parallel SGD algorithm that, to a first-order approximation, retains the sequential semantics of SGD. Each thread learns a local model in addition to a model combiner, which allows local models to be combined to produce the same result as what a sequential SGD would have produced. This paper evaluates SYMSGD's accuracy and performance on 6 datasets on a shared-memory machine shows upto 11x speedup over our heavily optimized sequential baseline on 16 cores and 2.2x, on average, faster than HOGWILD!.

연구 동기 및 목표

  • Hogwild! 및 AllReduce와 같은 기존 병렬 SGD 방법들이 낙관적 또는 흐린 업데이트로 인해 순차적 의존성을 위반하는 문제를 해결하기 위해.
  • 공유 메모리 시스템에서 순차적 SGD의 1차적 행동을 유지함으로써 효율적이고 고정밀도의 병렬화를 가능하게 하기 위해.
  • 특히 여러 소켓을 거쳐 발생하는 통신 및 캐시 일致성 오버헤드를 줄이기 위해, 기존 방법들이 확장성에 한계를 가진 다중 코어 환경에서의 성능을 향상시키기 위해.
  • 중간 전역 모델 업데이트가 국소 모델에 미치는 영향을 정확하게 포착하는 모델 조합기 메커니즘을 설계하여 수렴 정밀도를 보장하기 위해.
  • 현대의 다중 코어 시스템에서 대용량 메모리 용량을 지닌 환경에서 성능 향상을 크게 달성하면서도 순차적 모델에 근접한 정확도를 유지할 수 있음을 입증하기 위해.

제안 방법

  • 각 스레드는 동기화 지점 간격 동안 전역 모델에 대한 기울기 업데이트의 1차 효과를 포착하는 국소 모델과 모델 조합기를 유지한다.
  • 모델 조합기는 헤시안과 기울기 정보를 사용하여, 전역 모델가 순차적으로 업데이트되었을 경우 어떻게 변화했을지를 근사한다.
  • 주기적으로 스레드들은 모델 조합기를 사용하여 국소 모델 업데이트를 전역 모델에 적용함으로써 동기화를 수행하며, 전역 모델의 중간 변화를 보정한다.
  • 알고리즘은 비동기 및 다중라운드(MR) 동기화 모드를 모두 지원하며, 비동기 버전은 자주 액세스되는 특성들만 대상으로 하여 통신 오버헤드를 최소화한다.
  • 이 방법은 다양한 머신 러닝 문제와 병렬 아키텍처에 일반화 가능하도록 설계되었으며, 평가 범위는 공유 메모리 시스템에서의 선형 모델에 집중된다.
  • 모델 조합기는 전역 모델의 시간적 진화를 고려함으로써, 최종 전역 모델이 1차 근사 수준에서 순차적 SGD가 생성한 결과와 동일하게 되도록 보장한다.

실험 결과

연구 질문

  • RQ1병렬 SGD 알고리즘이 다중 코어 시스템에서 높은 확장성을 달성하면서도 순차적 SGD의 수렴 행동을 유지할 수 있는가?
  • RQ2병렬 환경에서 순차적 기울기 업데이트의 1차 효과를 정확하게 근사하기 위해 모델 조합기는 어떻게 구성할 수 있는가?
  • RQ3병렬 SGD에서 통신 빈도를 줄이는 것이, 매 예제 후마다 통신하는 Hogwild!와 비교해 더 나은 성능과 확장성을 제공하는가?
  • RQ4제안된 방법은 희소 데이터뿐 아니라 풍부한 데이터에 대해서도 높은 정확도를 유지할 수 있는가? (Hogwild!는 희소 데이터에 최적화되어 있어 밀도 높은 데이터에서는 성능이 떨어짐)
  • RQ5공유 메모리 시스템에서 여러 소켓을 거쳐 사용되는 모델 조합기는 성능 향상과 확장성 향상에 어느 정도 기여하는가?

주요 결과

  • SymSGD는 16개 코어에서 순차적 SGD 기준선 대비 최대 11배의 성능 향상을 기록하여 다중 코어 환경에서 강력한 확장성을 입증했다.
  • 평가된 데이터셋 전반에서 SymSGD는 평균적으로 Hogwild! 대비 2.2배 빠른 성능을 보였으며, 확장성 조건에서도 일관된 성능 향상이 관찰되었다.
  • 비동기-SymSGD는 여러 소켓을 거쳐도 선형적으로 확장되며, Hogwild!는 캐시 일치 오버헤드로 인해 8에서 16개 코어로 증가할수록 성능이 저하되는 경향을 보였다.
  • 모델 조합기 메커니즘이 순차적 SGD 행동을 성공적으로 근사하여, 최종 모델이 순차 기준선과 동일한 정확도를 확보했다.
  • MR-SymSGD와 Async-SymSGD 모두 Hogwild!를 능가하는 성능을 보였으며, 통신 오버헤드를 줄인 비동기 버전이 더 빠른 성능을 기록했다.
  • Hogwild!가 밀도 높은 데이터에서 성능이 떨어지고 AllReduce 방식에서 지연 문제를 겪는 것과는 달리, 이 방법은 희소 및 밀도 높은 데이터 모두에서 높은 정확도를 유지했다.

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

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

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

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