Skip to main content
QUICK REVIEW

[논문 리뷰] Second Order Optimization Made Practical.

Rohan Anil, Vineet Gupta|arXiv (Cornell University)|2020. 02. 20.
Stochastic Gradient Optimization Techniques참고 문헌 7인용 수 20
한 줄 요약

이 논문은 전체 행렬 Adagrad 변종을 기반으로 하되, 계산 및 메모리 비용을 줄이기 위해 알고리즘적이고 수치적 개선을 더한 실용적인 분산 2차 최적화 방법을 제시한다. 이 방법은 이질적인 CPU-GPU 아키텍처를 효율적으로 활용함으로써 대규모 딥러닝 작업, 특히 신경망 기계 번역에서 일阶 최적화 방법보다 빠른 수렴 속도와 월타임 성능을 달성한다.

ABSTRACT

Optimization in machine learning, both theoretical and applied, is presently dominated by first-order gradient methods such as stochastic gradient descent. Second-order optimization methods that involve second-order derivatives and/or second-order statistics of the data have become far less prevalent despite strong theoretical properties, due to their prohibitive computation, memory and communication costs. In an attempt to bridge this gap between theoretical and practical optimization, we present a proof-of-concept distributed system implementation of a second-order preconditioned method (specifically, a variant of full-matrix Adagrad), that along with a few yet critical algorithmic and numerical improvements, provides significant practical gains in convergence on state-of-the-art deep models and gives rise to actual wall-time improvements in practice compared to conventional first-order methods. Our design effectively utilizes the prevalent heterogeneous hardware architecture for training deep models which consists of a multicore CPU coupled with multiple accelerator units. We demonstrate superior performance on very large learning problems in machine translation where our distributed implementation runs considerably faster than existing gradient-based methods.

연구 동기 및 목표

  • 2차 최적화의 강력한 이론적 성질과 높은 계산 및 메모리 비용으로 인한 실용적 사용의 한계를 해소하기 위해.
  • 현대의 이질적 하드웨어(멀티코어 CPU + 다수의 가속기)에 적합한 확장성 있는 분산 2차 조정 최적화 방법의 설계를 위해.
  • 일반적인 확률적 경사하강법과 같은 일阶 최적화 방법보다 2차 최적화가 더 빠른 학습 수렴 속도와 월타임 성능을 달성할 수 있음을 입증하기 위해.
  • 특히 신경망 기계 번역 분야에서 대규모 딥러닝 워크로드에 대해 이 접근법을 검증하기 위해.

제안 방법

  • 이 방법은 전체 헤시안 행렬 근사치를 유지하고 업데이트하여 기울기를 조정하는 전체 행렬 Adagrad의 변종을 사용한다.
  • 2차 최적화 방법의 계산 및 메모리 오버헤드를 줄이기 위해 핵심적인 알고리즘적이고 수치적 개선을 통합한다.
  • 다중 가속기 간 분산 학습을 위해 설계되었으며, 계산을 GPU로 효율적으로 이관하면서 통신 비용을 관리한다.
  • 멀티코어 CPU와 다수의 가속기 유닛을 포함한 이질적 하드웨어 스택을 활용하기 위해 알고리즘과 시스템을 공동 설계하여 부하 균형과 데이터 이동을 최적화한다.
  • 손실 곡면의 이력에 기반한 2차 통계를 바탕으로 기울기를 적응적으로 스케일링하기 위해 조정을 사용한다.

실험 결과

연구 질문

  • RQ1높은 계산 및 메모리 비용에도 불구하고 2차 최적화는 대규모 딥러닝 모델에 대해 실용적으로 적용될 수 있는가?
  • RQ2분산 2차 최적화 방법은 일阶 최적화 방법과 비교해 수렴 속도와 월타임 성능 면에서 어떻게 다른가?
  • RQ3CPU + 다수의 가속기로 구성된 하드웨어 이질성은 2차 최적화의 확장성 확보에 얼마나 효과적으로 활용될 수 있는가?
  • RQ4실용적으로 2차 최적화 방법을 구현하기 위해 필요한 알고리즘적이고 수치적 개선은 무엇인가?

주요 결과

  • 제안된 분산 2차 최적화 방법은 최신 딥러닝 모델에서 일阶 최적화 방법보다 유의미하게 더 빠른 수렴 속도를 달성한다.
  • 2차 최적화 방법의 복잡성에도 불구하고, 이 구현은 대규모 학습에서 기존의 일阶 최적화 방법보다 실제 월타임 향상을 제공한다.
  • 시스템은 이질적 하드웨어를 효과적으로 활용하여 CPU와 다수의 가속기 간의 계산 부하를 균형 있게 분배함으로써 학습 시간을 단축시킨다.
  • 이 방법은 대규모 신경망 기계 번역 작업에서 기존의 기울기 기반 접근법보다 수렴 속도와 런타임 면에서 뛰어난 성능을 보였다.

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

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

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

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