Skip to main content
QUICK REVIEW

[논문 리뷰] TVM: End-to-End Optimization Stack for Deep Learning

Tianqi Chen, Thierry Moreau|arXiv (Cornell University)|2018. 02. 12.
Parallel Computing and Optimization Techniques참고 문헌 12인용 수 118
한 줄 요약

TVM는 모바일 디바이스, 임베디드 시스템, FPGA 및 ASIC과 같은 다양한 하드웨어 백엔드에서 성능 이식 가능성을 보장하는 엔드 투 엔드 최적화 스택이다. 그래프 수준 및 연산자 수준 최적화, 예를 들어 연산자 융합, 메모리 재사용, 효율적인 메모리 지연 숨기기 기법을 통해 개방형 컴파일러 인프라를 기반으로 경쟁 가능한 성능을 달성한다.

ABSTRACT

Scalable frameworks, such as TensorFlow, MXNet, Caffe, and PyTorch drive the current popularity and utility of deep learning. However, these frameworks are optimized for a narrow range of server-class GPUs and deploying workloads to other platforms such as mobile phones, embedded devices, and specialized accelerators (e.g., FPGAs, ASICs) requires laborious manual effort. We propose TVM, an end-to-end optimization stack that exposes graph-level and operator-level optimizations to provide performance portability to deep learning workloads across diverse hardware back-ends. We discuss the optimization challenges specific to deep learning that TVM solves: high-level operator fusion, low-level memory reuse across threads, mapping to arbitrary hardware primitives, and memory latency hiding. Experimental results demonstrate that TVM delivers performance across hardware back-ends that are competitive with state-of-the-art libraries for low-power CPU and server-class GPUs. We also demonstrate TVM's ability to target new hardware accelerator back-ends by targeting an FPGA-based generic deep learning accelerator. The compiler infrastructure is open sourced.

연구 동기 및 목표

  • 이질적인 하드웨어 플랫폼 간에 딥러닝 프레임워크의 성능 이식성 부족 문제를 해결한다.
  • 모바일 및 임베디드 디바이스와 같은 비서버 GPU에 딥러닝 모델을 배포하기 위해 필요한 수동 작업의 양을 줄인다.
  • FPGA 및 ASIC과 같은 전용 가속기용 딥러닝 워크로드의 효율적 컴파일 및 최적화를 가능하게 한다.
  • 메모리 재사용 및 스레드 수준 병렬 처리와 같은 저수준 최적화를 노출시켜 다양한 백엔드에서의 성능 향상을 도모한다.
  • 고수준 그래프 융합과 저수준 하드웨어 매핑을 모두 지원하는 통합적이고 확장 가능한 컴파일러 스택을 제공한다.

제안 방법

  • 커널 실행 오버헤드를 줄이고 데이터 국소성을 향상시키기 위해 연산자 융합을 통한 그래프 수준 최적화를 노출한다.
  • 메모리 대역폭 압박을 최소화하기 위해 스레드 블록 간 메모리 재사용과 같은 저수준 최적화를 적용한다.
  • 딥러닝 연산자를 효율적인 저수준 코드 생성으로 매핑함으로써 임의의 하드웨어 프리미티브를 지원한다.
  • 이종 아키텍처에서 계산과 메모리 액세스를 겹치기 위해 메모리 지연 숨기기 기법을 구현한다.
  • 다양한 하드웨어 백엔드에 맞는 플러그인 가능한 코드 생성을 허용하는 모듈식이고 확장 가능한 컴파일러 스택을 사용한다.
  • 엔드 투 엔드 컴파일링을 지원하기 위해 프론트엔드 인터페이스를 통해 기존 딥러닝 프레임워크와 통합한다.

실험 결과

연구 질문

  • RQ1모바일 CPU와 전용 가속기 포함 다양한 하드웨어 백엔드에서 딥러닝 워크로드를 어떻게 효율적으로 컴파일하고 최적화할 수 있는가?
  • RQ2저전력 및 임베디드 디바이스에서 높은 성능을 달성하기 위해 가장 효과적인 최적화 기법은 무엇인가?
  • RQ3통합 컴파일러 스택이 서버급 GPU와 저전력 CPU에서 수작업 최적화 라이브러리 수준의 성능을 달성할 수 있는가?
  • RQ4FPGA 기반 딥러닝 가속기와 같은 새로운 하드웨어 가속기 타겟팅에 시스템의 효과는 어떠한가?
  • RQ5그래프 수준 및 연산자 수준 최적화가 이종 플랫폼 간 성능 이식성을 어떻게 가능하게 하는가?

주요 결과

  • TVM는 저전력 CPU와 서버급 GPU에서 최신 수준의 수작업 최적화 라이브러리 수준의 성능을 달성한다.
  • 시스템은 FPGA 기반 일반적인 딥러닝 가속기 타겟팅에 성공적으로 적용되어 새로운 하드웨어에 대한 확장성을 입증한다.
  • 연산자 융합과 메모리 재사용을 통한 성능 향상으로 인해 메모리 대역폭 병목 현상을 크게 줄였다.
  • TVM의 메모리 지연 숨기기 기법은 지연이 주요 요인인 아키텍처에서 계산 자원의 활용도를 향상시킨다.
  • 개방형 컴파일러 인프라는 다양한 하드웨어 플랫폼에서 딥러닝 모델의 빠른 프로토타이핑과 배포를 가능하게 한다.
  • TVM의 엔드 투 엔드 최적화 스택은 다양한 하드웨어 백엔드 간 수동 튜닝의 필요성을 줄인다.

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

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

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

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