[논문 리뷰] VTA: An Open Hardware-Software Stack for Deep Learning.
VTA는 엣지 FPGAs에서 유연하고 고성능 추론을 가능하게 하는 파arametrizable 아키텍처와 두 수준의 인스트럭션 세트 아키텍처(작업 수준 및 마이크로코드 수준)를 사용하는 개방형이고 확장 가능한 딥러닝 하드웨어-소프트웨어 스택이다. Apache TVM에 통합되어 JIT 컴파일링과 맞춤형 하드웨어-소프트웨어 스택의 설계 공간 탐색을 지원하며, 객체 분류 및 스타일 전이 워크로드에서 최적화된 성능을 달성한다.
Specialized Deep Learning (DL) acceleration stacks, designed for a specific set of frameworks, model architectures, operators, and data types, offer the allure of high performance while sacrificing flexibility. Changes in algorithms, models, operators, or numerical systems threaten the viability of specialized hardware accelerators. We propose VTA, a programmable deep learning architecture template designed to be extensible in the face of evolving workloads. VTA achieves this flexibility via a parametrizable architecture, two-level ISA, and a JIT compiler. The two-level ISA is based on (1) a task-ISA that explicitly orchestrates concurrent compute and memory tasks and (2) a microcode-ISA which implements a wide variety of operators with single-cycle tensor-tensor operations. Next, we propose a runtime system equipped with a JIT compiler for flexible code-generation and heterogeneous execution that enables effective use of the VTA architecture. VTA is integrated and open-sourced into Apache TVM, a state-of-the-art deep learning compilation stack that provides flexibility for diverse models and divergent hardware backends. We propose a flow that performs design space exploration to generate a customized hardware architecture and software operator library that can be leveraged by mainstream learning frameworks. We demonstrate our approach by deploying optimized deep learning models used for object classification and style transfer on edge-class FPGAs.
연구 동기 및 목표
- 모델, 프레임워크 또는 데이터 유형의 변화에 따라 노후화되는 전용 딥러닝 가속기의 유연성 부족 문제를 해결하기 위해.
- 파라미터화와 확장성으로 인해 변화하는 워크로드를 지원하는 프로그래머블 아키텍처를 설계하기 위해.
- JIT 컴파일러와 두 수준의 인스트럭션 세트 아키텍처(ISA)를 통해 효율적인 코드 생성과 이종 실행을 가능하게 하기 위해.
- 주류 딥러닝 프레임워크와의 상호운용성을 확보하기 위해 Apache TVM에 스택을 통합하기 위해.
- 특정 모델과 하드웨어 백엔드에 맞게 최적화된 하드웨어 및 소프트웨어 스택을 생성하기 위한 자동화된 설계 공간 탐색을 지원하기 위해.
제안 방법
- 작업-ISA를 통해 동시 컴퓨팅 및 메모리 작업을 조율하고, 마이크로코드-ISA를 통해 단일 사이클 내 텐서-텐서 연산을 수행하는 두 수준의 ISA 설계.
- 다양한 워크로드, 데이터 유형 및 하드웨어 제약 조건에 맞게 맞춤화 가능한 파라미터화된 아키텍처를 구현.
- VTA에서 커널의 런타임 최적화 및 동적 코드 생성을 위한 JIT 컴파일러 개발.
- VTA와 호스트 프로세서 간의 이종 실행을 가능하게 하는 런타임 시스템 구축.
- 다양한 모델과 하드웨어 백엔드를 위한 컴파일레이션 스택을 활용하기 위해 Apache TVM에 VTA 통합.
- 설계 공간 탐색 플로우를 사용하여 최적화된 하드웨어 구성과 소프트웨어 연산자 라이브러리를 자동 생성.
실험 결과
연구 질문
- RQ1딥러닝 가속기가 모델, 연산자 및 데이터 유형의 변화에 대응하면서도 높은 성능을 유지할 수 있는 방법은 무엇인가?
- RQ2재구성 가능한 하드웨어인 FPGAs에서 다양한 워크로드를 효율적으로 지원하기 위해 필요한 아키텍처 및 컴파일 기법은 무엇인가?
- RQ3작업 수준의 조율과 마이크로코드 수준의 연산을 갖춘 두 수준의 ISA가 성능과 확장성 모두를 달성할 수 있는가?
- RQ4Apache TVM에 VTA를 통합함으로써 프레임워크와 하드웨어 간의 종단 간 최적화를 얼마나 효과적으로 지원할 수 있는가?
- RQ5설계 공간 탐색을 통해 특정 딥러닝 워크로드에 맞는 최적화된 VTA 구성 생성을 얼마나 자동화할 수 있는가?
주요 결과
- VTA는 객체 분류 및 스타일 전이 모델에 대해 엣지 클래스 FPGAs에서 고성능 추론을 가능하게 하여 실용적 적용성을 입증한다.
- 두 수준의 ISA는 마이크로코드 내 단일 사이클 텐서-텐서 연산을 통해 복잡한 딥러닝 연산을 효율적으로 표현할 수 있다.
- JIT 컴파일러는 다양한 모델 및 하드웨어 구성에 맞게 적응 가능한 민첩하고 효율적인 코드 생성을 가능하게 한다.
- Apache TVM와의 통합을 통해 주류 딥러닝 프레임워크와 다양한 하드웨어 백엔드 간의 원활한 배포가 가능하다.
- 설계 공간 탐색은 맞춤형 VTA 아키텍처와 소프트웨어 라이브러리를 성공적으로 생성하여 수동 튜닝의 노력을 줄였다.
- 파라미터화된 아키텍처는 기반 하드웨어의 재설계 없이도 변화하는 워크로드에 대한 확장성을 지원한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.