Skip to main content
QUICK REVIEW

[논문 리뷰] Compiling Neural Networks for a Computational Memory Accelerator

Kornilios Kourtis, Martino Dazzi|arXiv (Cornell University)|2020. 03. 05.
Adversarial Robustness in Machine Learning참고 문헌 45인용 수 4
한 줄 요약

이 논문은 다중 코어 CM 하드웨어에서 신경망을 파ipelined 데이터플로우 실행으로 컴파일하여 효율적인 딥러닝 추론을 가능하게 하는 컴퓨테이셔널 메모리(CM) 가속기용 컴파일러 스택을 제안한다. 폴리드랄 컴파일레이션 기법을 사용하여 계층 간 데이터 의존성을 강제하는 제어 논리를 생성함으로써, 온라인 크로스바 어레이에서의 재구성 오버헤드를 최소화하면서도 정확한 파이프라인 실행을 보장한다.

ABSTRACT

Computational memory (CM) is a promising approach for accelerating inference on neural networks (NN) by using enhanced memories that, in addition to storing data, allow computations on them. One of the main challenges of this approach is defining a hardware/software interface that allows a compiler to map NN models for efficient execution on the underlying CM accelerator. This is a non-trivial task because efficiency dictates that the CM accelerator is explicitly programmed as a dataflow engine where the execution of the different NN layers form a pipeline. In this paper, we present our work towards a software stack for executing ML models on such a multi-core CM accelerator. We describe an architecture for the hardware and software, and focus on the problem of implementing the appropriate control logic so that data dependencies are respected. We propose a solution to the latter that is based on polyhedral compilation.

연구 동기 및 목표

  • 엣지에서 효율적인 딥러닝 추론을 목표로 하는 컴퓨테이셔널 메모리(CM) 가속기의 소프트웨어 스택과 하드웨어 아키텍처를 공동 설계하기 위해.
  • 다중 CM 코어를 통해 신경망 계층을 파이프라인 방식으로 실행할 때 데이터 의존성을 존중하는 정확한 제어 논리를 생성하는 도전 과제를 해결하기 위해.
  • 컴파일러와 하드웨어 인터페이스를 공동 설계하여 CM 가속기에서 신경망을 투명하고 고성능으로 실행할 수 있도록 하기 위해.
  • 기존의 ML 컴파일러가 데이터플로우 기반 가속기에서 코어 간 데이터플로우 의존성을 관리하는 데에 지원하지 못하는 한계를 극복하기 위해.

제안 방법

  • 저자들은 각 코어에 아날로그 행렬-벡터 곱셈을 위한 크로스바 어레이와 비병렬화된 연산을 위한 경량 디지털 처리 유닛(DPU)을 포함하는 다중 코어 CM 가속기를 제안한다.
  • 신경망 실행을 데이터플로우 파이프라인으로 모델링하고, 각 계층을 별도의 CM 코어에 매핑하며, 반복 간의 데이터 의존성을 분석하기 위해 폴리드랄 컴파일레이션을 사용한다.
  • 제어 논리는 ISL 기반 연산의 시퀀스를 통해 생성되며, 쓰기-읽기 의존성(K) 계산, 각 읽기 작업에 대한 최종 유효 쓰기 작업 확인(L), 각 출력 위치에 대한 최대 안전 실행 반복 수 계산(S)을 포함한다.
  • 핵심 관계 S는 복합 관계(K ∘ D′)에 대해 lexmax를 적용하여 계산되며, 이는 각 읽기 반복에 대해 가장 최근의 쓰기 반복만 유지되도록 보장함으로써 안전한 파이프라인 실행을 가능하게 한다.
  • 컴파일러 스택에는 프로토타입 컴파일러(cmnnc)와 CM 하드웨어를 모델링하는 시뮬레이터가 포함되어 있어 종단 간 컴파일링과 검증이 가능하다.
  • 이 방법은 반복 공간, 관계, 의존성을 표현하고 조작하기 위해 ISL(Integer Set Library)을 사용하여 데이터플로우 제약 조건의 정밀한 정적 분석을 가능하게 한다.

실험 결과

연구 질문

  • RQ1다중 코어 컴퓨테이셔널 메모리 가속기에서 실행되는 신경망 계층 간 데이터 의존성을 강제하기 위해 컴파일러가 정확하고 효율적인 제어 논리를 어떻게 생성할 수 있는가?
  • RQ2파이프라인 기반의 데이터플로우 아키텍처에서 데이터플로우 의존성을 표현하고 분석하는 데 가장 효과적인 방법은 무엇인가?
  • RQ3기존의 ML 컴파일러가 널리 지원하지 않는 데이터플로우 가속기용 제어 상태기계를 생성하기 위해 폴리드랄 컴파일레이션 기법을 어떻게 적응시킬 수 있는가?
  • RQ4하드웨어와 소프트웨어 스택을 공동 설계하여 아날로그 크로스바 기반 CM 가속기에서의 재구성 오버헤드를 최소화하고 추론 처리량을 극대화할 수 있는가?

주요 결과

  • 제안된 폴리드랄 기반 제어 생성 방법은 파이프라인 기반 신경망 계층의 안전한 실행 순서를 성공적으로 계산하여, 모든 데이터 의존성이 CM 코어 간에 존중됨을 보장한다.
  • 이 방법은 PCM 기반 CM 가속기에서 효율적인 단일 설정 기반 추론을 가능하게 하여, 각 계층 후에 크로스바를 재프로그래밍하는 데 드는 높은 재구성 비용을 피한다.
  • ISL과 lexmax 연산의 사용은 쓰기-읽기 의존성의 정밀한 정적 분석을 가능하게 하여 상태기계에 대한 최소화되고 정확한 제어 논리를 제공한다.
  • 이 방법은 CM에 국한되지 않고 다른 데이터플로우 아키텍처에도 일반화 가능하며, 향후 가속기와 소프트웨어 스택을 공동 설계하기 위한 기반을 제공한다.
  • 프로토타입 컴파일러(cmnnc)와 시뮬레이터를 통해 CM 가속기에서 신경망의 종단 간 컴파일링과 실행이 성공적으로 수행되었으며, 이는 제안된 방법의 타당성을 검증한다.

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

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

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

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