[논문 리뷰] Hardware Accelerator for Multi-Head Attention and Position-Wise Feed-Forward in the Transformer
이 논문은 트랜스포머 모델에서 가장 계산 비용이 높은 두 구성 요소인 멀티헤드 어텐션(MHA)과 위치 기반 피드포워드 네트워크(FFN)를 위한 FPGA 기반 하드웨어 가속기인 최초의 설계를 제시한다. 행렬 분할, 재구성 가능한 싱골리어 어레이, 그리고 레이어 정규화와 소프트맥스와 같은 최적화된 비선형 함수를 활용하여, XCVU13P FPGA에서 200MHz로 동작하면서 총 16.7W의 전력 소비로 GPU 구현 대비 MHA에서 14.6배, FFN에서 3.4배의 성능 향상을 달성한다.
Designing hardware accelerators for deep neural networks (DNNs) has been much desired. Nonetheless, most of these existing accelerators are built for either convolutional neural networks (CNNs) or recurrent neural networks (RNNs). Recently, the Transformer model is replacing the RNN in the natural language processing (NLP) area. However, because of intensive matrix computations and complicated data flow being involved, the hardware design for the Transformer model has never been reported. In this paper, we propose the first hardware accelerator for two key components, i.e., the multi-head attention (MHA) ResBlock and the position-wise feed-forward network (FFN) ResBlock, which are the two most complex layers in the Transformer. Firstly, an efficient method is introduced to partition the huge matrices in the Transformer, allowing the two ResBlocks to share most of the hardware resources. Secondly, the computation flow is well designed to ensure the high hardware utilization of the systolic array, which is the biggest module in our design. Thirdly, complicated nonlinear functions are highly optimized to further reduce the hardware complexity and also the latency of the entire system. Our design is coded using hardware description language (HDL) and evaluated on a Xilinx FPGA. Compared with the implementation on GPU with the same setting, the proposed design demonstrates a speed-up of 14.6x in the MHA ResBlock, and 3.4x in the FFN ResBlock, respectively. Therefore, this work lays a good foundation for building efficient hardware accelerators for multiple Transformer networks.
연구 동기 및 목표
- 현대 자연어 처리에서 지배적인 역할을 하는 트랜스포머 모델은 높은 계산 및 메모리 요구량을 지닌다. 본 연구는 이러한 모델에 전용 하드웨어 가속기가 부족한 문제를 해결하고자 한다.
- 이동 및 임베디드 시스템에서 트랜스포머 모델의 효율적 인퍼런스를 가능하게 하기 위해 지연 시간과 전력 소비를 줄이고자 한다.
- 가장 복잡한 두 레이어인 MHA ResBlock과 FFN ResBlock을 효율적으로 가속화할 수 있는 재구성 가능한 하드웨어 아키텍처를 설계하고자 한다.
- 큰 행렬을 분할하고 싱골리어 어레이 하드웨어를 공유함으로써 MHA와 FFN 간의 자원 공유를 최적화하고자 한다.
- 레이어 정규화와 스케일드 마스크된 소프트맥스와 같은 핵심 비선형 연산의 지연 시간을 최소화하기 위해 조기 계산 및 하드웨어 우아한 근사치를 적용하고자 한다.
제안 방법
- MHA와 FFN의 큰 행렬에 대해 행렬 분할을 적용하여 싱골리어 어레이를 두 구성 요소 간에 공유할 수 있도록 한다.
- 재구성 가능한 싱골리어 어레이를 핵심 계산 단위로 사용하며, 하드웨어 활용도를 극대화하기 위해 철저히 설계된 데이터 플로우를 적용한다.
- 스케일드 마스크된 소프트맥스는 고정소수점 산술과 로그-합-지수 기법을 사용하여 복잡도와 지연 시간을 줄인다.
- 레이어 정규화는 평균을 사전 계산하고, 분산을 더 적은 사이클 내에서 계산하기 위해 대수적 항등식을 사용한다: $var(G,i) = E(G,i)^2 - \frac{1}{d_{model}}\sum_{k=1}^{d_{model}} G(i,k)^2$.
- 레이어 정규화에서 $x \hat{~{}} (-0.5)$ 연산을 줄이기 위해 룩업 테이블을 사용하여 주요 경로 지연을 최소화한다.
- 전체 설계는 HDL로 구현되었으며, Xilinx xcvu13p-fhga2104-3-e FPGA에 8비트 정수 양자화를 적용하여 합성되었다.
실험 결과
연구 질문
- RQ1단일 하드웨어 가속기가 트랜스포머 아키텍처의 멀티헤드 어텐션과 위치 기반 피드포워드 블록을 효율적으로 동시에 처리할 수 있는가?
- RQ2행렬 분할과 싱골리어 어레이 재사용을 통해 면적과 전력 소비를 최소화하면서도 고처리량을 유지할 수 있는가?
- RQ3소프트맥스와 레이어 정규화와 같은 비선형 함수의 지연 시간을 줄이기 위해 어떤 최적화가 필요한가?
- RQ4트랜스포머 인퍼런스에서 FPGA 기반 가속이 GPU 인퍼런스 대비 지연 시간과 에너지 효율성 측면에서 얼마나 뛰어나게 성능을 냈는가?
- RQ58비트 정수 양자화 후에도 하드웨어 최적화된 어텐션 및 피드포워드 레이어의 구현이 모델 정확도를 유지할 수 있는가?
주요 결과
- 제안된 가속기는 NVIDIA V100 GPU 기반 구현 대비 MHA ResBlock에서 14.6배의 성능 향상을 달성한다.
- 동일한 설정(배치 크기 = 1, 시퀀스 길이 = 64)에서 FFN ResBlock은 동일한 GPU 기반 기준 대비 3.4배 빠른 성능을 보인다.
- FPGA 설계는 200MHz에서 동작하며, 총 온칩 전력 소비는 16.7W로, 동적 전력 13.3W와 정적 전력 3.4W로 구성된다.
- 정교하게 설계된 계산 플로우를 통해 싱골리어 어레이 활용도가 극대화되었으며, MHA와 FFN 작업 간 재구성 기능이 가능해졌다.
- 레이어 정규화 모듈은 평균을 사전 계산하고 대수적 항등식을 사용해 분산을 더 적은 사이클 내에서 계산함으로써 주요 경로를 최소화하여 지연 시간을 감소시켰다.
- 8비트 정수 양자화를 적용한 트랜스포머 베이스 모델은 IWSLT 2016 독일-영어 번역 작업에서 BLEU 점수 23.57을 기록하여 정확도 손실가 최소한도로 유지됨을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.