[논문 리뷰] ESE: Efficient Speech Recognition Engine with Sparse LSTM on FPGA
이 논문은 압축된 희소 LSTM 모델에서 282 GOPS를 달성하는 FPGA 기반 음성 인식 가속기인 ESE를 제안한다. 로드 밸런스 인식 기반 프루닝과 양자화를 통해 모델 크기를 20배 줄였으며, 정확도 손실은 최소화하였다. 이 시스템은 CPU 대비 43배 빠른 추론 속도와 40배 높은 에너지 효율성을 달성했으며, 최적화된 스케줄링과 하드웨어 인식 희소 계산을 통해 실시간이고 에너지 효율적인 FPGA 기반 음성 인식을 가능하게 한다.
Long Short-Term Memory (LSTM) is widely used in speech recognition. In order to achieve higher prediction accuracy, machine learning scientists have built larger and larger models. Such large model is both computation intensive and memory intensive. Deploying such bulky model results in high power consumption and leads to high total cost of ownership (TCO) of a data center. In order to speedup the prediction and make it energy efficient, we first propose a load-balance-aware pruning method that can compress the LSTM model size by 20x (10x from pruning and 2x from quantization) with negligible loss of the prediction accuracy. The pruned model is friendly for parallel processing. Next, we propose scheduler that encodes and partitions the compressed model to each PE for parallelism, and schedule the complicated LSTM data flow. Finally, we design the hardware architecture, named Efficient Speech Recognition Engine (ESE) that works directly on the compressed model. Implemented on Xilinx XCKU060 FPGA running at 200MHz, ESE has a performance of 282 GOPS working directly on the compressed LSTM network, corresponding to 2.52 TOPS on the uncompressed one, and processes a full LSTM for speech recognition with a power dissipation of 41 Watts. Evaluated on the LSTM for speech recognition benchmark, ESE is 43x and 3x faster than Core i7 5930k CPU and Pascal Titan X GPU implementations. It achieves 40x and 11.5x higher energy efficiency compared with the CPU and GPU respectively.
연구 동기 및 목표
- 음성 인식 시스템에서 대규모 LSTM 모델의 높은 계산 및 메모리 요구량을 해결한다.
- 예측 정확도를 훼손하지 않으면서 모델 크기와 메모리 대역폭 요구량을 줄인다.
- FPGA에서 압축된 희소 LSTM 모델에 대해 효율적인 추론을 위한 하드웨어-소프트웨어 공동 최적화 가속기를 설계한다.
- 실시간 음성 인식 워크로드에서 높은 하드웨어 활용도와 에너지 효율성을 달성한다.
- 낮은 지연과 높은 스루풋을 확보하면서 다중 음성 스트림을 동시에 처리할 수 있도록 한다.
제안 방법
- 정확도를 유지하면서 10배 압축 가능한 로드 밸런스 인식 기반 프루닝 방법을 제안하고, 이어 2배의 가중치 양자화를 수행한다.
- 모델 크기와 메모리 프로파일을 줄이기 위한 자동 동적 정밀도 양자화 플로우를 개발한다.
- 복잡한 LSTM 데이터플로우를 여러 처리 요소(PE)에 매핑하는 스케줄러를 설계하여 계산과 메모리 액세스를 겹치도록 한다.
- 희소 LSTM 가중치와 활성화를 네이티브로 처리할 수 있는 하드웨어 아키텍처(ESE)를 구현하여 비정규적인 희소 패턴을 활용한다.
- 희소 가중치 행렬의 효율적 저장 및 액세스를 위해 상대 인덱스 기반 압축 희소 컬럼(CSC) 형식을 사용한다.
- PE 간의 계산과 저장을 분할하여 워크로드 균형을 맞추고 병렬성을 극대화한다.
실험 결과
연구 질문
- RQ1자원 제약이 있는 하드웨어에 배포하기 위해 LSTM 모델을 효과적으로 압축하면서 예측 정확도를 유지할 수 있는 방법은 무엇인가?
- RQ2FPGA에서 복잡한 데이터 의존성이 있는 순환 신경망 워크로드를 효율적으로 실행하기 위한 스케줄링 전략은 무엇인가?
- RQ3LSTM과 같은 순환 네트워크의 희소성을 효율적으로 활용할 수 있도록 하드웨어 아키텍처를 설계하는 방법은 무엇인가?
- RQ4CPU 및 GPU 대비 FPGA 기반 가속기의 희소 LSTM 추론 성능과 에너지 효율성은 어느 정도인가?
- RQ5하드웨어-소프트웨어 공동 설계가 실시간 음성 인식에서 추론 속도와 에너지 효율성을 크게 향상시킬 수 있는가?
주요 결과
- Xilinx XCKU060 FPGA를 200 MHz에서 사용하여 ESE는 희소 LSTM 모델에서 282 GOPS를 달성했으며, 원본 밀도 모델 기준 2.52 TOPS에 해당한다.
- 모델 압축 기법은 정확도 손실이 거의 없이 크기를 20배(프루닝으로 10배, 양자화로 2배) 줄였다.
- ESE는 Core i7-5930K CPU 대비 43배 빠르고 40배 더 에너지 효율적이며, Pascal Titan X GPU 대비 3배 빠르고 11.5배 더 에너지 효율적이다.
- 로드 밸런스 인식 기반 프루닝은 하드웨어 활용도를 향상시키고, 처리 요소의 유휴 사이클을 줄여 더 높은 스루풋을 가능하게 한다.
- 스케줄러는 계산과 메모리 액세스를 성공적으로 겹쳐, LSTM 네트워크의 순환 데이터플로우에서 지연을 최소화한다.
- ESE는 다중 음성 스트림의 동시 처리를 지원하여 FPGA에서 확장성과 실시간 성능을 입증했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.