Skip to main content
QUICK REVIEW

[논문 리뷰] Cortex: A Compiler for Recursive Deep Learning Models

Pratik Fegade, Tianqi Chen|arXiv (Cornell University)|2020. 11. 02.
Advanced Neural Network Applications참고 문헌 45인용 수 10
한 줄 요약

Cortex는 커널 병합과 모델 지속성과 같은 엔드투엔드 최적화를 가능하게 함으로써, 벤더 라이브러리에 의존하지 않고도 CPU와 GPU에서 이전 작업 대비 최대 14배 빠른 추론 지연 시간을 달성하는 컴파일러입니다.

ABSTRACT

Optimizing deep learning models is generally performed in two steps: (i) high-level graph optimizations such as kernel fusion and (ii) low level kernel optimizations such as those found in vendor libraries. This approach often leaves significant performance on the table, especially for the case of recursive deep learning models. In this paper, we present Cortex, a compiler-based approach to generate highly-efficient code for recursive models for low latency inference. Our compiler approach and low reliance on vendor libraries enables us to perform end-to-end optimizations, leading to up to 14X lower inference latencies over past work, across different backends.

연구 동기 및 목표

  • 재귀적이고 동적 딥 러닝 모델의 추론 지연 시간 격차를 해소하기 위해, 특히 CPU와 GPU에서 성능을 향상시키는 것.
  • TreeLSTM와 MV-RNN와 같은 덜 일반적인 모델을 지원하지 않는 cuDNN 및 MKL와 같은 벤더 라이브러리의 한계를 극복하는 것.
  • 블랙박스 커널 추상화를 피하기 위해 커널 병합과 모델 지속성과 같은 공격적인 최적화를 가능하게 하는 것.
  • 정적 컴파일 기반 최적화를 통해 동적 제어 흐름을 가진 재귀 모델의 효율적 실행을 지원하는 것.
  • 다양한 하드웨어 기반에서 고성능을 달성할 수 있도록 포터블하고 백엔드에 종속되지 않는 컴파일 스택을 제공하는 것.

제안 방법

  • 입력 데이터 구조에 따라 제어 흐름이 결정되므로, 재귀적 제어 흐름을 효율적인 루프 기반 표현으로 하향 변환하는 것.
  • 텐서 계산 이전에 전처리 단계에서 특화 및 동적 배치와 같은 정적 최적화를 수행하기 위해 스케줄링 원칙을 사용하는 것.
  • 반복되는 계산을 재귀 루프 외부로 이동시켜 중복 작업을 줄이기 위해 계산 이동 최적화를 적용하는 것.
  • 재귀적 제어 흐름과 텐서 대수를 통합하는 중간 표현(IR)을 활용하여 엔드투엔드 최적화를 가능하게 하는 것.
  • 간접 메모리 접근과 데이터 구조 레이아웃 최적화를 위해 희소 폴리드라 프레임워크와 인spect로-익스큐터 모델의 기법을 활용하는 것.
  • 모델 지속성과 커널 병합과 같은 최적화를 컴파일러 파이프라인 내에서 일급 변환 원칙으로 체계화하는 것.

실험 결과

연구 질문

  • RQ1벤더 라이브러리 기반 프레임워크에 비해 컴파일러 기반 접근 방식이 재귀적 딥 러닝 모델의 추론 최적화에서 성능을 뛰어넘을 수 있는가?
  • RQ2런타임 오버헤드 없이 컴파일러 IR에서 재귀적 제어 흐름을 효과적으로 표현하고 최적화할 수 있는가?
  • RQ3벤더 라이브러리 추상화를 피할 경우, 커널 병합과 모델 지속성과 같은 엔드투엔드 최적화가 재귀 모델에 얼마나 널리 적용될 수 있는가?
  • RQ4정적 최적화인 동적 배치 및 계산 이동 최적화가 컴파일 타임에 재귀 모델에 효과적으로 적용될 수 있는가?
  • RQ5다양한 하드웨어 백엔드에서 기존 프레임워크와 비교해 커스텀 컴파일러 스택의 추론 지연 시간 성능은 어떠한가?

주요 결과

  • Cortex는 CPU와 GPU를 포함한 여러 백엔드에서 이전 작업 대비 최대 14배 빠른 추론 지연 시간을 달성합니다.
  • 벤더 라이브러리를 피하기 때문에 커널 병합을 공격적으로 적용하여 커널 시작 오버헤드를 줄이고 메모리 액세스 패턴을 향상시킵니다.
  • 모델 지속성이 재귀 모델에 효과적으로 적용되어 자주 재사용되는 파라미터를 빠른 片상 메모리에 유지하고 외부 메모리 액세스를 줄입니다.
  • 컴파일러 기반 접근 방식은 정적 동적 배치 및 특화를 지원하여 DyNet 및 PyTorch와 같은 프레임워크에서 관찰되는 런타임 오버헤드를 제거합니다.
  • IR 설계는 재귀적 제어 흐름과 텐서 계산을 함께 효과적으로 표현하여 양 영역 간 통합 최적화를 가능하게 했습니다.
  • Cortex의 최적화는 일반화 가능하며 고수준 프레임워크의 저수준 백엔드로 활용되어 동적 모델에서의 성능 향상에 기여할 수 있습니다.

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

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

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

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