FlexViT: 에지 Vision Transformer를 위한 유연한 FPGA 기반 가속기
요약
에지 디바이스에서 Vision Transformer(ViT)를 효율적으로 실행하기 위한 FPGA 기반 가속기 FlexViT를 제안합니다. 하드웨어-소프트웨어 공동 설계를 통해 다양한 레이어 구성을 지원하며, CPU 대비 최대 1.40배의 엔드 투 엔드 속도 향상을 달성했습니다.
핵심 포인트
- 하이브리드 ViT의 구조적 이질성을 해결하기 위한 FPGA 가속기 제안
- 런타임 im2col 변환을 통한 고처리량 INT8 GEMM 엔진 매핑
- 연산 어레이 재구성을 통한 이중 모드 데이터플로우 적용
- 메모리 대역폭 절감을 위한 깊이 우선 타일링 전략 도입
- PYNQ-Z2 FPGA 구현 결과 CPU 대비 최대 1.40배 속도 향상
Vision Transformer (ViT) 모델을 에지 (edge) 플랫폼에 배포하는 것은 높은 연산 요구량과, 완전 연결 (fully connected) 레이어와 합성곱 (convolutional) 레이어를 모두 포함하는 현대적 하이브리드 ViT 모델의 구조적 이질성 (architectural heterogeneity)으로 인해 여전히 도전적인 과제로 남아 있습니다. 이러한 이질성은 텐서 형상 (tensor shapes)의 상당한 변화를 초래하며, 유연하고 효율적인 FPGA 기반 가속을 필요로 합니다. 본 논문에서는 자원이 제한된 에지 디바이스에서 효율적인 ViT 추론을 위한 재구성 가능한 FPGA 가속기인 FlexViT를 제안합니다. SECDA-TFLite 프레임워크를 기반으로 구축된 FlexViT는 런타임 im2col 변환을 사용하여 완전 연결 레이어와 합성곱 레이어를 모두 통합된 고처리량 INT8 GEMM 엔진에 매핑하는 하드웨어-소프트웨어 공동 설계 (hardware-software co-design) 접근 방식을 채택합니다. 다양한 레이어 구성을 효율적으로 지원하기 위해, 우리는 런타임에 연산 어레이 (compute array)를 재구성함으로써 입력 및 가중치 재사용 (weight reuse) 사이를 동적으로 전환하는 이중 모드 데이터플로우 (dual-mode dataflow)를 제안합니다. 나아가, 우리는 단일 패스 내에 누적 (accumulation)을 완료하여 오프칩 부분합 (off-chip partial-sum) 전송을 제거하고 메모리 대역폭 요구 사항을 줄이는 깊이 우선 타일링 (depth-first tiling) 전략을 도입합니다. 우리는 PYNQ-Z2 FPGA에 FlexViT를 구현하고 대표적인 ViT 모델 세트에 대해 평가를 수행했습니다. FlexViT는 가속기가 실행하는 레이어에서 최대 2.74배의 속도 향상을 달성하였으며, 이는 CPU 전용 실행과 비교했을 때 최대 1.40배의 엔드 투 엔드 (end-to-end) 속도 향상으로 이어집니다. 코드는 다음에서 확인할 수 있습니다: https://github.com/gicLAB/FlexViT
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기