[논문 리뷰] Larq Compute Engine: Design, Benchmark, and Deploy State-of-the-Art Binarized Neural Networks
Larq Compute Engine (LCE)는 이진화 신경망(BNNs)을 위한 고도로 최적화된 추론 엔진으로, 모바일 디바이스에서 최신 성능을 달성한다. Tensorflow 및 Tensorflow Lite와 통합함으로써 LCE는 Pixel 1 휴대폰에서 이진 컨볼루션을 8.5–18.5배 빠르게 하며, 엔드 투 엔드 학습-배포 파이프라인을 가능하게 하여 ImageNet에서 지연과 정확도 측면에서 기존 모델을 능가하는 간단하고 높은 정확도를 가진 BNN인 QuickNet의 개발을 이끌었다.
We introduce Larq Compute Engine, the world's fastest Binarized Neural Network (BNN) inference engine, and use this framework to investigate several important questions about the efficiency of BNNs and to design a new state-of-the-art BNN architecture. LCE provides highly optimized implementations of binary operations and accelerates binary convolutions by 8.5 - 18.5x compared to their full-precision counterparts on Pixel 1 phones. LCE's integration with Larq and a sophisticated MLIR-based converter allow users to move smoothly from training to deployment. By extending TensorFlow and TensorFlow Lite, LCE supports models which combine binary and full-precision layers, and can be easily integrated into existing applications. Using LCE, we analyze the performance of existing BNN computer vision architectures and develop QuickNet, a simple, easy-to-reproduce BNN that outperforms existing binary networks in terms of latency and accuracy on ImageNet. Furthermore, we investigate the impact of full-precision shortcuts and the relationship between number of MACs and model latency. We are convinced that empirical performance should drive BNN architecture design and hope this work will facilitate others to design, benchmark and deploy binary models.
연구 동기 및 목표
- 에지 디바이스에서 Binarized Neural Networks(BNNs)의 학습, 벤치마킹, 배포를 위한 통합된 고성능 소프트웨어 도구 부족 문제를 해결한다.
- 기존 BNN 프레임워크의 느린 추론이라는 실용적 장벽을 극복하기 위해 이동용 추론을 위해 고도로 최적화된 수작업 조정된 이진 연산을 제공한다.
- 연구자와 개발자가 익숙한 Tensorflow 및 Tensorflow Lite 생태계를 사용하여 BNN을 설계, 학습, 배포하는 것을 원활하게 할 수 있도록 한다.
- BNN 아키텍처에서의 경험적 성능 저하 요인을 조사하고, 전체 정밀도 스키퍼 및 MAC 수와 지연 간의 상관관계와 같은 아키텍처 선택의 실제 영향을 평가한다.
- 단일 단계 학습 프로세스를 사용하여 최신 정확도와 지연 성능을 달성하는 새로운 단순하고 재현 가능한 BNN 아키텍처인 QuickNet을 개발한다.
제안 방법
- Tensorflow 및 Tensorflow Lite를 활용하여 BNN의 전반적인 추론 파이프라인을 구축하며, 훈련된 모델을 최적화된 추론 그래프로 변환하는 MLIR 기반 그래프 컨버터를 포함한다.
- XOR 및 POPCOUNT 연산을 사용하여 이진 컨볼루션을 가속화하는 고도로 최적화된 수작업 조정된 BGEMM(이진 GEMM) 커널을 도입하여 Pixel 1 휴대폰에서 8.5–18.5배의 성능 향상을 달성한다.
- 단일 모델 내에서 이진 및 전체 정밀도 레이어의 공존을 허용함으로써 혼합 정밀도 모델을 지원하며, 자동 비트 팩킹 및 정밀도 관리 기능을 제공한다.
- 훈련 중에 사용되는 모의 이진 연산을 추론 시 진정된 이진 연산으로 변환하는 정교한 컨버터를 사용하여 정밀도와 성능를 보장한다.
- 64비트 ARM 디바이스, 특히 Pixel 1 휴대폰과 Raspberry Pi 4를 대상으로 하드웨어 인식 설계 접근 방식을 적용하여 실제 성능의 관련성을 확보한다.
- 다양한 BNN 아키텍처와 설계 선택 사항에 대해 실제 기기에서 경험적 벤치마킹을 수행하여 지연, 정확도 및 MAC 효율성의 성능을 평가한다.
실험 결과
연구 질문
- RQ1기존 BNN 아키텍처에서 전체 정밀도 구성 요소와 관련하여 주요 지연 저하 요인은 무엇인가?
- RQ2예를 들어 전체 정밀도 대비 이진 스키퍼 연결의 종류가 BNN의 추론 지연과 정확도에 어떤 영향을 미치는가?
- RQ3다양한 BNN 아키텍처 간 비교 시, 곱셈-누적 연산(MAC) 수가 실제 지연과 얼마나 상관관계가 있는가?
- RQ4단일 단계 학습 방법으로도 복잡한 다단계 접근 방식을 능가하는 정확도와 지연 성능을 달성할 수 있는 BNN 아키텍처를 개발할 수 있는가?
- RQ5사용성과 성능 측면에서 전체 정밀도 모델과 이진 모델 간의 격차를 메울 수 있도록 소프트웨어 도구를 어떻게 설계할 수 있는가?
주요 결과
- Larq Compute Engine은 Pixel 1 휴대폰에서 전체 정밀도 대비 이진 컨볼루션을 8.5×에서 18.5× 빠르게 하여 최적화된 BGEMM 커널 덕분에 뚜렷한 성능 향상을 보였다.
- 단일 단계 학습 프로세스를 사용하는 단순한 BNN인 QuickNet은 단순함에도 불구하고 ImageNet에서 최신 정확도와 지연 성능을 달성하여 기존 이진 네트워크를 능가했다.
- 전체 정밀도 스키퍼 연결은 지연 오버헤드가 약간 증가하지만 정확도 향상 효과가 크므로 BNN 설계에서 근거가 충분히 있다.
- MAC 수는 본질적으로 다른 BNN 아키텍처를 비교할 때 실제 지연을 잘 예측하지 못하는 경향이 있었으며, BinaryAlexNet이 유사한 MAC 수를 가진 모델들보다 거의 2배 빨리 작동하지 못한 것으로 나타났다.
- 실기기에서의 경험적 벤치마킹 결과, 레이어 정밀도 및 연산 레이아웃과 같은 아키텍처 선택 사항이 지연에 큰 영향을 미치는 것으로 드러나, 이론적 지표보다 하드웨어 인식 설계의 필요성을 강조했다.
- LCE가 Larq 및 Tensorflow Lite와 통합되어 BNN 개발을 위한 원스톱 엔드 투 엔드 파이프라인을 제공함으로써 연구자와 실무자들이 접근하기 위한 장벽을 크게 낮췄다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.