Skip to main content
QUICK REVIEW

[논문 리뷰] ParMAC: distributed optimisation of nested functions, with application to learning binary autoencoders

Miguel Á. Carreira-Perpiñán, Mehdi Alizadeh|arXiv (Cornell University)|2016. 05. 30.
Advanced Neural Network Applications참고 문헌 49인용 수 4
한 줄 요약

ParMAC는 클러스터를 통해 하위 모델과 보조 좌표를 분리시켜 효율적이고 통신 비용이 낮은 훈련을 가능하게 하는 분산 최적화 프레임워크이다. 100만 개 이상의 고차원 점을 대상으로 이진 오토에인코더를 훈련할 때 128개 프로세서에서 거의 완벽한 스피드업을 달성하였으며, 상호 간 통신은 최소화되고 이론적으로 강력한 수렴 보장을 받는다.

ABSTRACT

Many powerful machine learning models are based on the composition of multiple processing layers, such as deep nets, which gives rise to nonconvex objective functions. A general, recent approach to optimise such "nested" functions is the method of auxiliary coordinates (MAC). MAC introduces an auxiliary coordinate for each data point in order to decouple the nested model into independent submodels. This decomposes the optimisation into steps that alternate between training single layers and updating the coordinates. It has the advantage that it reuses existing single-layer algorithms, introduces parallelism, and does not need to use chain-rule gradients, so it works with nondifferentiable layers. With large-scale problems, or when distributing the computation is necessary for faster training, the dataset may not fit in a single machine. It is then essential to limit the amount of communication between machines so it does not obliterate the benefit of parallelism. We describe a general way to achieve this, ParMAC. ParMAC works on a cluster of processing machines with a circular topology and alternates two steps until convergence: one step trains the submodels in parallel using stochastic updates, and the other trains the coordinates in parallel. Only submodel parameters, no data or coordinates, are ever communicated between machines. ParMAC exhibits high parallelism, low communication overhead, and facilitates data shuffling, load balancing, fault tolerance and streaming data processing. We study the convergence of ParMAC and propose a theoretical model of its runtime and parallel speedup. We develop ParMAC to learn binary autoencoders for fast, approximate image retrieval. We implement it in MPI in a distributed system and demonstrate nearly perfect speedups in a 128-processor cluster with a training set of 100 million high-dimensional points.

연구 동기 및 목표

  • 고비용의 통신을 수반하는 분산 시스템에서 복잡한 비볼록 기계학습 모델(예: 딥 네트워크 및 오토에인코더)의 확장 문제를 해결하기 위해.
  • 보조 좌표(MAC) 방법을 분산 환경에 확장하여, 통신을 최소화하면서도 병렬성과 수렴성을 유지하기 위해.
  • 데이터 분할, 장애 내성, 스트리밍 데이터 처리 지원 기능을 갖춘 클러스터에서 대규모 모델(예: 이진 오토에인코더)의 효율적 훈련을 가능하게 하기 위해.
  • 분산 내재 최적화의 런타임과 병렬 스피드업에 대한 이론적 기반 모델을 개발하기 위해.

제안 방법

  • ParMAC는 처리 기계의 원형 토폴로지를 사용하여 하위 모델의 병렬 확률적 업데이트와 보조 좌표의 병렬 업데이트를 번갈아 수행한다.
  • 기계 간 통신에 사용되는 것은 하위 모델 파라미터뿐이며, 원시 데이터나 좌표 값은 공유되지 않아 통신 오버헤드를 극도로 줄인다.
  • 프레임워크는 메시지 전달 인터페이스(MPI)를 활용하여 분산 조율을 수행하며, 효율적 데이터 교환을 위해 차단 및 비차단 전송/수신 루틴을 사용한다.
  • 데이터와 계산을 기계 간에 분산시켜 장애 내성과 로드 밸런싱을 지원하며, 동적 재구성 기능을 제공한다.
  • 이 방법은 미분 가능 또는 비미분 가능 레이어 모두에 적용 가능하며, 보조 좌표를 사용해 최적화를 분리함으로써 역전파를 피한다.
  • 계산 및 통신 비용을 기반으로 한 런타임과 스피드업의 이론적 모델을 유도하였으며, 128노드 클러스터에서 실증적으로 검증하였다.

실험 결과

연구 질문

  • RQ1고비용의 통신을 수반하는 대규모 클러스터에서 기계학습 내재 최적화 문제를 효율적으로 확장할 수 있는가?
  • RQ2데이터나 좌표를 전송하지 않고도 보조 좌표(MAC) 방법을 메시지 전달 환경에 적응시킬 수 있는가?
  • RQ3분산 내재 최적화에서 계산, 통신, 스피드업 간의 이론적 관계는 어떠한가?
  • RQ4ParMAC는 1억 개의 점에서 이진 오토에인코더를 훈련하는 대규모 학습 작업에서 거의 완벽한 스피드업을 달성할 수 있는가?

주요 결과

  • 100만 개 이상의 고차원 점을 대상으로 이진 오토에인코더를 훈련할 때 128개 프로세서 클러스터에서 ParMAC는 계산 비용 대비 통신 비용이 극히 낮은 상황에서 거의 완벽한 스피드업을 달성하였다.
  • 실증적 스피드업 결과는 이론적 스피드업 모델의 예측과 매우 유사하여, 실제 환경에서의 정확성을 입증하였다.
  • 원시 데이터나 좌표를 공유하지 않고 하위 모델 파라미터만 통신함으로써 ParMAC는 기계 간 통신을 최소화하였으며, 병렬성의 이점을 유지하였다.
  • 프레임워크는 데이터 셔플링, 로드 밸런싱, 장애 내성, 스트리밍 데이터 처리를 지원하여 대규모 실세계 적용에 적합하다.
  • ParMAC는 비미분 가능하거나 이산 레이어를 가진 모델의 훈련을 가능하게 하여, MAC의 적용 범위를 기울기 기반 방법을 초월하도록 확장한다.

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

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

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

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