[논문 리뷰] Optimizing Memory-Access Patterns for Deep Learning Accelerators
이 논문은 커스텀 가속기에서 딥러닝 워크로드의 메모리 액세스를 최소화하기 위해 글로벌하고 폴리드라 모델 기반 최적화 프레임워크를 제안한다. 부적절한 데이터 이동을 제거하고 메모리 뱅크 간 텐서의 일관성 있는 매핑을 통해 AWS Inferentia 칩에서 온칩 및 오프칩 메모리 복사 수를 각각 최대 76%와 37% 감소시킨다.
Deep learning (DL) workloads are moving towards accelerators for faster processing and lower cost. Modern DL accelerators are good at handling the large-scale multiply-accumulate operations that dominate DL workloads; however, it is challenging to make full use of the compute power of an accelerator since the data must be properly staged in a software-managed scratchpad memory. Failing to do so can result in significant performance loss. This paper proposes a systematic approach which leverages the polyhedral model to analyze all operators of a DL model together to minimize the number of memory accesses. Experiments show that our approach can substantially reduce the impact of memory accesses required by common neural-network models on a homegrown AWS machine-learning inference chip named Inferentia, which is available through Amazon EC2 Inf1 instances.
연구 동기 및 목표
- 소프트웨어 관리 스크래치패드를 갖춘 가속기에서 비효율적인 메모리 액세스로 인한 성능 저하 문제를 해결하기 위해.
- 기존 컴파일러가 연산자별로만 메모리 액세스를 최적화하지만, 다중 연산자 간 데이터 이동 기회를 忽略하는 한계를 극복하기 위해.
- 글로벌 최적화를 통해 부적절한 메모리 복사 수를 체계적으로 줄이고, 온칩 메모리 대역폭 활용도를 극대화하기 위해.
- 다양한 연산자 간 데이터 레이아웃을 일관되게 관리하여 도메인 특화 가속기(예: AWS Inferentia)에서 딥러닝 모델의 효율적 실행을 가능하게 하기 위해.
제안 방법
- 텐서 액세스를 애피니 함수로 표현하기 위해 폴리드라 모델을 활용하여 데이터 의존성 및 메모리 액세스 패턴의 형식적 분석을 가능하게 한다.
- 애피니 함수의 조합과 색인 공간 매핑을 통해 부적절한 로드-스토어 쌍을 식별하고 제거하여 데이터 이동 제거를 적용한다.
- 역방향 애피니 매핑을 사용해 중간 텐서에서의 로드 연산을 원본 텐서로 변환함으로써 중간 저장소를 제거한다.
- 데이터 의존성 기반으로 메모리 뱅크 매핑을 연산자 간에 전파하기 위해 고정점 반복을 활용하여 뱅크 할당의 일관성을 확보한다.
- 외부 텐서 차원을 서로 다른 메모리 뱅크에 매핑하고 내부 차원을 동일한 뱅크 내 요소에 매핑하여 순차적 액세스를 지원하고 병렬성을 극대화한다.
- 연속된 연산자 간에 충돌하는 뱅크 매핑 요구사항이 발생할 경우에만 명시적인 메모리 복사를 도입한다.
실험 결과
연구 질문
- RQ1다양한 연산자 간 글로벌 메모리 액세스 패턴 최적화가 딥러닝 가속기에서 부적절한 데이터 이동을 줄일 수 있는가?
- RQ2폴리드라 모델이 도메인 특화 가속기에서 다중 연산자 간 메모리 액세스 최적화를 위해 얼마나 효과적인가?
- RQ3로컬 연산자 기반 매핑 대비 글로벌 메모리 뱅크 매핑이 온칩 및 오프칩 메모리 복사 수를 얼마나 줄일 수 있는가?
- RQ4실제 딥러닝 워크로드에서 중간 텐서 저장소 제거가 성능에 미치는 영향은 어떠한가?
주요 결과
- 제안된 방법은 Parallel WaveNet에서 124개의 로드-스토어 쌍 중 123개를 제거하여 중간 텐서 저장소를 총 146MB 중 145MB 감소시켰다.
- 데이터 이동 제거로 Parallel WaveNet에서 온칩 메모리 복사 수의 10%와 오프칩 메모리 복사 수의 11%를 절감했다.
- ResNet-50에서 글로벌 메모리 뱅크 매핑은 로컬 매핑 대비 온칩 데이터 복사 수를 76% 감소시키고 오프칩 복사 수를 37% 감소시켰다.
- 뱅크 간 데이터 이동을 최소화하고 연산자 간 데이터 국소성 유지로 인해 메모리 대역폭 활용도가 크게 향상되었다.
- 실제 하드웨어에서의 최적화 효과가 입증되었으며, EC2 Inf1 인스턴스를 통해 이용 가능한 AWS Inferentia 칩에서 확인되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.