[논문 리뷰] HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array
HyPar는 DNN 가속기 어레이에서 계층별 하이브리드 병렬 처리를 최적화하기 위해 계층적 동적 프로그래밍 접근법을 제안하며, 학습 중 프로세서 간 통신을 최소화한다. 10개의 DNN 모델에서 기본 데이터 병렬 처리 대비 평균 3.39배 빠른 성능과 1.51배 높은 에너지 효율성을 달성하였으며, 모델 병렬 처리와 이전의 '한 가지 이상한 기술' 히우리스틱보다도 뛰어나다.
With the rise of artificial intelligence in recent years, Deep Neural Networks (DNNs) have been widely used in many domains. To achieve high performance and energy efficiency, hardware acceleration (especially inference) of DNNs is intensively studied both in academia and industry. However, we still face two challenges: large DNN models and datasets, which incur frequent off-chip memory accesses; and the training of DNNs, which is not well-explored in recent accelerator designs. To truly provide high throughput and energy efficient acceleration for the training of deep and large models, we inevitably need to use multiple accelerators to explore the coarse-grain parallelism, compared to the fine-grain parallelism inside a layer considered in most of the existing architectures. It poses the key research question to seek the best organization of computation and dataflow among accelerators. In this paper, inspired by recent work in machine learning systems, we propose a solution HyPar to determine layer-wise parallelism for deep neural network training with an array of DNN accelerators. HyPar partitions the feature map tensors (input and output), the kernel tensors, the gradient tensors, and the error tensors for the DNN accelerators. A partition constitutes the choice of parallelism for weighted layers. The optimization target is to search a partition that minimizes the total communication during training a complete DNN. To solve this problem, we propose a communication model to explain the source and amount of communications. Then, we use a hierarchical layer-wise dynamic programming method to search for the partition for each layer.
연구 동기 및 목표
- 큰 DNN 학습에서 빈번한 외부 메모리 접근으로 인한 성능 및 에너지 병목 현상을 해결하기 위해.
- 개별 레이어 내의 미세 병렬 처리를 넘어서, 다수의 가속기 간 거시적 병렬 처리를 탐색하기 위해.
- 전체 통신을 최소화하기 위해 가속기 간 특징 맵, 커널, 기울기, 오차 텐서의 계층별 분할을 최적화하기 위해.
- 기본 데이터 또는 모델 병렬 처리보다 우수한 성능을 내는, 토폴로지에 종속되지 않은 확장 가능한 하이브리드 병렬 처리 솔루션을 설계하기 위해.
- LeNet부터 VGG에 이르기까지 다양한 DNN 아키텍처에서 실제 학습 워크로드 조건 하에 방법을 평가하기 위해.
제안 방법
- HyPar는 DNN 학습 중 전체 프로세서 간 통신량을 최소화하는 방식으로 병렬 처리 구성 문제를 수립한다.
- 특징 맵, 커널, 기울기, 오차 텐서에 대한 텐서 크기와 분할 전략에 기반해 데이터 이동을 정량화하는 통신 모델을 도입한다.
- 선형 시간 복잡도를 가지는 계층적이고 계층별 동적 프로그래밍 알고리즘을 사용해 최적의 분할 구성 설정을 탐색한다.
- 모든 레이어에서 데이터 병렬 처리(dp)와 모델 병렬 처리(mp) 및 그 조합(예: mp-dp, dp-mp)을 지원한다.
- 해당 방법은 토폴로지에 종속되지 않으며, H-트리 및 토러스와 같은 다양한 인터커넥트에 구현 가능하며, HMC 기반 아키텍처에서 평가되었다.
- 분할 결정을 안내하기 위해 가중치 업데이트 텐서의 면적(A(ΔW))과 전방 특징 텐서의 면적(A(F))과 같은 분석적 지표를 사용한다.
실험 결과
연구 질문
- RQ1다중 가속기 DNN 학습에서 전체 통신량을 최소화하는 데 최적의 계층별 병렬 처리 구성(데이터, 모델, 또는 하이브리드)은 무엇인가?
- RQ2성능 및 에너지 효율성 측면에서 하이브리드 병렬 처리는 기본 데이터 병렬 처리 또는 모델 병렬 처리보다 어떻게 비교되는가?
- RQ3토폴로지에 종속되지 않는 통신 모델과 동적 프로그래밍 접근법이 다양한 DNN 아키텍처에서 프로세서 간 데이터 이동을 효과적으로 최소화할 수 있는가?
- RQ4HyPar의 분할 전략은 [107]에서 제시된 히우리스틱 기반 '한 가지 이상한 기술'과 비교해 어떻게 다를까?
- RQ5통신 모델이 텐서 크기와 종속성 패턴에 기반해 각 레이어의 최적 병렬 처리 선택을 정확히 예측할 수 있는가?
주요 결과
- HyPar는 10개의 DNN 모델 전반에서 기본 데이터 병렬 처리 대비 평균 3.39배 빠른 성능과 1.51배 높은 에너지 효율성을 달성한다.
- 하이브리드 병렬 처리는 기본 데이터 병렬 처리와 모델 병렬 처리를 모두 능가하며, 최적 구성은 레이어 및 모델에 따라 달라진다.
- 평균적으로 HyPar는 [107]의 히우리스틱 '한 가지 이상한 기술' 대비 1.62배 더 빠르고 1.22배 더 에너지 효율적이며, 특정 경우 최대 2.40배의 성능 향상을 기록한다.
- H-트리 인터커넥트 토폴로지가 토러스 대비 기하평균 2.23배 뛰어난 성능을 보였지만, HyPar의 토폴로지 독립성 덕분에 다양한 토폴로지 간에서도 안정적인 성능을 확보한다.
- 통신 모델은 conv5에서 A(ΔW) < A(F)이므로 모델 병렬 처리가 바람직하다고 정확히 식별하였으며, 이는 [107]의 히우리스틱 선택과 정반대이다.
- fc3와 같은 완전 연결 레이어에서는 A(ΔW) = A(F)이므로, 계층 간 통신 분석 결과 데이터 병렬 처리가 더 낫다는 것이 확인되었지만, 히우리스틱은 잘못된 모델 병렬 처리를 선택한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.