[논문 리뷰] AutoAssist: A Framework to Accelerate Training of Deep Neural Networks
AutoAssist는 기울기 크기를 기반으로 낮은 영향력을 가진 학습 인스턴스를 동적으로 필터링하는 경량 보조 네트워크를 도입함으로써 딥 러닝 학습을 가속화합니다. 이로 인해 주 모델(Boss)이 정보성 높은 샘플에 집중할 수 있게 되어, 이미지 분류에서 ResNet의 경우 40% 적은 에포크를, 기계 번역에서 Transformer의 경우 30% 더 빠른 학습 속도를 달성하며, 비동기 CPU/GPU 학습을 통해 최소한의 오버헤드를 유발합니다.
Deep neural networks have yielded superior performance in many applications; however, the gradient computation in a deep model with millions of instances lead to a lengthy training process even with modern GPU/TPU hardware acceleration. In this paper, we propose AutoAssist, a simple framework to accelerate training of a deep neural network. Typically, as the training procedure evolves, the amount of improvement in the current model by a stochastic gradient update on each instance varies dynamically. In AutoAssist, we utilize this fact and design a simple instance shrinking operation, which is used to filter out instances with relatively low marginal improvement to the current model; thus the computationally intensive gradient computations are performed on informative instances as much as possible. We prove that the proposed technique outperforms vanilla SGD with existing importance sampling approaches for linear SVM problems, and establish an O(1/k) convergence for strongly convex problems. In order to apply the proposed techniques to accelerate training of deep models, we propose to jointly train a very lightweight Assistant network in addition to the original deep network referred to as Boss. The Assistant network is designed to gauge the importance of a given instance with respect to the current Boss such that a shrinking operation can be applied in the batch generator. With careful design, we train the Boss and Assistant in a nonblocking and asynchronous fashion such that overhead is minimal. We demonstrate that AutoAssist reduces the number of epochs by 40% for training a ResNet to reach the same test accuracy on an image classification data set and saves 30% training time needed for a transformer model to yield the same BLEU scores on a translation dataset.
연구 동기 및 목표
- 낮은 영향력 있는 학습 인스턴스에 대한 계산 낭비를 줄임으로써 딥 신경망 학습을 가속화하기 위해.
- SGD에서 균일한 미니배치 샘플링의 비효율성, 즉 모든 인스턴스가 모델 향상에 동일한 기여를 한다고 간주하는 문제를 해결하기 위해.
- 사전 데이터 난이도 지식 없이도 실시간으로 인스턴스 중요도를 측정할 수 있는 경량이며 동적 적응형 보조 네트워크를 설계하기 위해.
- CPU/GPU에서 보스와 보조 네트워크의 비동기적, 비차단적 학습을 통해 학습 오버헤드를 최소화하기 위해.
- 인스턴스 축소로 인한 편향된 기울기에도 불구하고 강력한 볼록 조건 하에서 수렴을 이론적으로 보장하기 위해.
제안 방법
- 보스(주요 딥 네트워크)와 현재 모델 성능에 기반해 인스턴스 중요도를 예측하는 경량 보조 네트워크를 포함하는 이중 모델 프레임워크를 도입하기 위해.
- 기울기 크기를 인스턴스 유효성의 대체 지표로 사용하고, 낮은 경계 기여도를 가진 인스턴스를 필터링하기 위해 인스턴스 축소 기법을 적용하기 위해.
- 보조 네트워크와 보스를 CPU와 GPU 간에 비동기적으로 학습시켜 계산 오버헤드를 최소화하기 위해.
- 배치 생성기에서 고기울기 인스턴스를 우선순위로 배치함으로써 GPU/TPU 사이클당 ROI를 효과적으로 높이기 위해.
- 학습 과정을 편향된 확률적 기울기 방법으로 공식화하고, 강력한 볼록 문제에 대해 $O(1/k)$ 수렴성을 증명하기 위해.
- SVM 최적화 기법에서 영감을 얻은 이중 좌표 강하 기법을 사용해 인스턴스 선택을 이끌기 위해.
실험 결과
연구 질문
- RQ1기울기 크기를 기반으로 한 인스턴스 수준의 중요도 필터링이 딥 러닝의 학습 효율성을 향상시킬 수 있는가?
- RQ2경량 보조 네트워크를 사용한 인스턴스 축소 기법이 일반적인 SGD와 비교해 수렴 속도를 유지하는가?
- RQ3보스와 보조 네트워크의 비동기 학습이 최소한의 오버헤드로 상당한 속도 향상을 이룰 수 있는가?
- RQ4기존의 커리큘럼 학습과 세프스패스 학습과 비교해 AutoAssist는 수렴성과 정확도 측면에서 어떤가?
- RQ5모델 성능을 훼손하지 않고 학습 시간과 에포크 수를 얼마나 줄일 수 있는가?
주요 결과
- 이미지 분류 작업에서 ResNet에 대해 AutoAssist는 기준 모델 대비 24 에포크에서 13.7 에포크로 40% 적은 에포크로 동일한 테스트 정확도에 도달한다.
- WMT14 영어-독일어 번역 데이터셋에서 AutoAssist는 11.8억 토큰 학습 후 BLEU 점수 26을 달성하여, 일반 모델가 필요한 18.2억 토큰 대비 35% 절감한다.
- Multi30K 데이터셋에서 비동기 CPU/GPU 학습을 사용한 AutoAssist는 순차적 학습 대비 시간 오버헤드를 61%에서 5%로 감소시키며, 더 빠른 수렴과 높은 BLEU 점수를 유지한다.
- 기계 번역 작업에서 Transformer 모델에 대해 AutoAssist는 동일한 BLEU 점수를 달성하면서 학습 시간을 30% 단축시킨다.
- MNIST에서 AutoAssist는 기준 모델 대비 24 에포크에서 13.7 에포크로 학습하여 99.17%의 테스트 정확도를 달성하며, 수렴성이 향상됨을 보여준다.
- 비동기 학습 파이프라인은 오버헤드를 10% 미만으로 줄여 기존 딥 러닝 워크플로우에 효율적으로 통합할 수 있도록 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.