Skip to main content
QUICK REVIEW

[논문 리뷰] Relay: A High-Level IR for Deep Learning.

Jared Roesch, Steven Lyubomirsky|arXiv (Cornell University)|2019. 04. 17.
Parallel Computing and Optimization Techniques참고 문헌 8인용 수 8
한 줄 요약

Relay는 딥러닝을 위한 고수준, 기능적, 정적 타입 지정된 중간 표현(IR)로, 기존의 딥러닝 IR들을 통합하고 일반화하여 표현력 있고 조합 가능하며 이식 가능한 모델 컴파일을 가능하게 한다. 최신 모델을 지원하며, 자동 미분과 타입 안정성을 갖춘 최적화되고 확장 가능한 컴파일을 통해 CPU, GPU, FPGA에서 경쟁적인 성능을 제공한다.

ABSTRACT

Frameworks for writing, compiling, and optimizing deep learning (DL) models have recently enabled progress in areas like computer vision and natural language processing. Extending these frameworks to accommodate the rapidly diversifying landscape of DL models and hardware platforms presents challenging tradeoffs between expressiveness, composability, and portability. We present Relay, a new intermediate representation (IR) and compiler framework for DL models. The functional, statically-typed Relay IR unifies and generalizes existing DL IRs and can express state-of-the-art models. Relay's expressive IR required careful design of the type system, automatic differentiation, and optimizations. Relay's extensible compiler can eliminate abstraction overhead and target new hardware platforms. The design insights from Relay can be applied to existing frameworks to develop IRs that support extension without compromising on expressivity, composibility, and portability. Our evaluation demonstrates that the Relay prototype can already provide competitive performance for a broad class of models running on CPUs, GPUs, and FPGAs.

연구 동기 및 목표

  • 딥러닝 모델과 하드웨어 플랫폼의 증가하는 복잡성과 다양성에 대응하기 위해 통합적이고 확장 가능한 중간 표현(IR)을 설계하는 것.
  • 성능이나 유지보수성의 손실 없이 표현력, 조합 가능성, 이식성의 균형을 이루는 딥러닝 IR을 설계하는 것.
  • 원칙적인 IR 설계를 통해 CPU, GPU, FPGA에서 최신 모델의 효율적인 컴파일을 가능하게 하는 것.

제안 방법

  • 기존의 딥러닝 IR들을 일반화하고 복잡한 모델 구조를 지원하는 기능적, 정적 타입 지정된 IR을 설계하는 것.
  • 백프로파게이션과 모델 훈련을 네이티브로 지원하기 위해 자동 미분을 IR에 통합하는 것.
  • 정확성 보장을 보장하고 이질적인 모델 구성 요소 간의 안전한 최적화를 가능하게 하는 타입 체계를 개발하는 것.
  • 추상화 오버헤드를 제거하고 새로운 하드웨어 플랫폼에 효율적으로 대응하는 확장 가능한 컴파일러 파이프라인을 구축하는 것.
  • 타입이 지정된 기능적 IR 내에서 공통 부분식 제거 및 상수 폴딩과 같은 최적화 기법을 적용하는 것.
  • 플랫폼별 코드 생성을 통해 CPU, GPU, FPGA 간의 모델의 원활한 컴파일 및 배포를 가능하게 하는 것.

실험 결과

연구 질문

  • RQ1표현력과 이식성을 유지하면서도 기존 표현 방식을 통합하고 일반화할 수 있는 딥러닝 IR을 어떻게 설계할 수 있는가?
  • RQ2고수준의 모델 조합과 효율적인 저수준 코드 생성을 모두 지원하기 위해 필요한 타입 체계와 언어 기능은 무엇인가?
  • RQ3기능적이고 정적 타입 지정된 IR이 CPU, GPU, FPGA와 같은 다양한 하드웨어 플랫폼에서 경쟁적인 성능을 달성할 수 있는가?
  • RQ4최적화 기회를 손상시키지 않고도 자동 미분을 고수준 IR에 네이티브로 통합할 수 있는가?
  • RQ5컴파일 시간에 추상화를 얼마나 제거할 수 있는가? 이를 통해 수작업 최적화된 코드 수준의 성능에 도달할 수 있는가?

주요 결과

  • Relay IR은 최신 딥러닝 모델을 성공적으로 표현하며, 이전의 IR로는 표현하기 어려운 복잡한 아키텍처도 포함한다.
  • Relay의 기능적이고 정적 타입 지정된 특성 덕분에 강력한 정확성 보장과 안전하고 조합 가능한 최적화가 가능하다.
  • 프로토타입 컴파일러는 CPU, GPU, FPGA에서 경쟁적인 성능를 달성하여 다양한 하드웨어 플랫폼 간의 이식성을 입증한다.
  • 최소한의 추상화 오버헤드로 효율적인 컴파일이 가능하며, 수작업 최적화된 구현에 근접한 성능을 제공한다.
  • 확장 가능한 컴파일러 아키텍처 덕분에 새로운 하드웨어 백엔드와 최적화 단계를 쉽게 통합할 수 있다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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