Skip to main content
QUICK REVIEW

[논문 리뷰] Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators

Xuan Yang, Mingyu Gao|arXiv (Cornell University)|2018. 09. 10.
Advanced Neural Network Applications참고 문헌 50인용 수 17
한 줄 요약

이 논문은 DNN 가속기 마이크로아키텍처를 데이터플로우 및 메모리 계층 구조 선택을 루프 변환으로 표현함으로써 공식적으로 모델링하고 분석하는 데 사용하는 Halide의 스케줄링 언어를 활용하는 Interstellar 프레임워크를 제안한다. Halide를 확장하여 하드웨어 생성을 가능하게 하고, 가속기 간 공정한 비교를 가능하게 함으로써, 저자들은 적절한 루프 블로킹이 많은 데이터플로우 구성에서 근사 최적의 에너지 효율성을 달성할 수 있음을 보여주며, 이는 CNN의 경우 최대 4.2배의 향상까지 가능하다. 메모리 계층 구조 최적화가 에너지 효율성에 가장 큰 영향을 미친다.

ABSTRACT

We show that DNN accelerator micro-architectures and their program mappings represent specific choices of loop order and hardware parallelism for computing the seven nested loops of DNNs, which enables us to create a formal taxonomy of all existing dense DNN accelerators. Surprisingly, the loop transformations needed to create these hardware variants can be precisely and concisely represented by Halide's scheduling language. By modifying the Halide compiler to generate hardware, we create a system that can fairly compare these prior accelerators. As long as proper loop blocking schemes are used, and the hardware can support mapping replicated loops, many different hardware dataflows yield similar energy efficiency with good performance. This is because the loop blocking can ensure that most data references stay on-chip with good locality and the processing units have high resource utilization. How resources are allocated, especially in the memory system, has a large impact on energy and performance. By optimizing hardware resource allocation while keeping throughput constant, we achieve up to 4.2X energy improvement for Convolutional Neural Networks (CNNs), 1.6X and 1.8X improvement for Long Short-Term Memories (LSTMs) and multi-layer perceptrons (MLPs), respectively.

연구 동기 및 목표

  • 루프 변환으로 마이크로아키텍처 선택을 표현함으로써 밀도 있는 DNN 가속기의 설계 공간을 공식화하기 위해.
  • 통합된 컴파일러 기반 프레임워크를 사용하여 기존 DNN 가속기들을 공정하고 체계적으로 비교하기 위해.
  • 특히 메모리 계층 구조와 루프 블로킹과 같은 아키텍처 선택이 에너지 효율성과 성능에 가장 크게 영향을 미치는지 규명하기 위해.
  • Halide의 스케줄링 원칙을 사용하여 주어진 DNN에 대해 근사 최적의 가속기 설계를 찾는 효율적인 최적화기 개발하기 위해.

제안 방법

  • 하드웨어 생성을 위해 하드웨어 특화 원칙(예: 로컬 통신 및 메모리 할당)을 Halide의 스케줄링 언어에 추가하기 위해 확장한다.
  • 모든 DNN 가속기 데이터플로우 및 메모리 계층을 DNN 계산의 일곱 단계 루프 네스트의 변환으로 모델링한다.
  • Halide의 분리된 스케줄링 및 계산 모델을 활용하여 스케줄 뿐만으로 다양한 하드웨어 매핑을 탐색한다.
  • FPGA 또는 ASIC 평가를 위해 Halide 스케줄을 RTL로 컴iles하는 하드웨어 합성 툴체인을 구현한다.
  • 실험적 관찰을 기반으로 설계 공간을 단순화하는 자동 최적화기 개발: 데이터플로우를 C|K로 고정하고, 인접한 레벨 간 메모리 크기 비율을 4~16로 제약한다.
  • Throughput를 일정하게 유지하면서 에너지 효율성 향상을 분리하기 위해, 전력 및 면적 모델을 사용하여 설계를 평가한다.

실험 결과

연구 질문

  • RQ1기존의 모든 밀도 있는 DNN 가속기는 Halide의 스케줄링 언어에서 루프 변환을 사용하여 공식적으로 분류될 수 있는가?
  • RQ2적절한 루프 블로킹이 적용된 경우, 다양한 데이터플로우 선택이 에너지 효율성에 얼마나 큰 영향을 미치는가?
  • RQ3특히 레지스터 파일 및 버퍼 크기와 같은 메모리 계층 구성이 DNN 가속기의 에너지 효율성에 어떻게 영향을 미치는가?
  • RQ4체계적이고 컴파일러 기반의 프레임워크는 다양한 아키텍처 간에 DNN 가속기 설계를 공정하게 비교하고 최적화할 수 있는가?
  • RQ5DNN 가속기에서 데이터플로우와 메모리 계층 구조 중 어느 것이 에너지 효율성에 더 큰 영향을 미치는가?

주요 결과

  • 적절한 루프 블로킹은 높은 데이터 국소성과 자원 활용도를 보장하여, 블로킹이 최적일 경우 많은 데이터플로우 선택이 에너지 효율성에서 거의 동일한 성능을 낸다.
  • 최적의 루프 블로킹이 적용된 경우, 다양한 데이터플로우 구성이 유사한 성능과 에너지 효율성을 달성하며, 대부분의 데이터 참조가 온칩에 유지된다.
  • 메모리 계층 설계가 에너지 효율성에 가장 큰 영향을 미친다. 더 깊은 계층과 더 작은 레지스터 파일이 더 좋은 결과를 낳는다.
  • 최적화된 하드웨어 구성은 첫 번째 및 두 번째 레벨 레지스터 파일에 각각 16 B와 128 B를 사용하고, 256 KB 더블 버퍼링 글로벌 SRAM을 사용하며, CNN에서 최대 4.2배의 에너지 효율성 향상을 달성한다.
  • 자동 최적화기는 VGG-16, GoogleNet, MobileNet에 대해 각각 최대 3.5배, 2.7배, 4.2배의 에너지 효율성 향상을 달성했으며, MLP에는 최대 1.8배의 향상을 기록했다.
  • 작은 레지스터 파일을 가진 경우에도 더 큰 칩과 더 깊은 메모리 계층은 더 낮은 DRAM 액세스로 인해 더 높은 성능을 보이며, VGG-16에서 1.85 TOPs/W의 성능을 달성한다.

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

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

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

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