Skip to main content
QUICK REVIEW

[논문 리뷰] LUTNet: Learning FPGA Configurations for Highly Efficient Neural Network Inference

Erwei Wang, James J. Davis|arXiv (Cornell University)|2019. 10. 24.
Advanced Neural Network Applications인용 수 5
한 줄 요약

LUTNet는 FPGA LUT를 가변형 추론 연산자로 사용하는 엔드 투 엔드 하드웨are-소프트웨어 프레임워크를 제안한다. 기존 BNN에서 사용하는 XNOR 게이트 대신 LUT를 활용함으로써 매우 효율적인 신경망 추론을 실현한다. 비선형 부울 함수를 활용하고 강력한 프루닝을 적용함으로써, LUTNet는 최신 이진화 신경망(BNN) 대비 최대 2배 높은 면적 효율성과 최대 6.66배 높은 에너지 효율성을 달성한다.

ABSTRACT

Research has shown that deep neural networks contain significant redundancy, and thus that high classification accuracy can be achieved even when weights and activations are quantized down to binary values. Network binarization on FPGAs greatly increases area efficiency by replacing resource-hungry multipliers with lightweight XNOR gates. However, an FPGA's fundamental building block, the K-LUT, is capable of implementing far more than an XNOR: it can perform any K-input Boolean operation. Inspired by this observation, we propose LUTNet, an end-to-end hardware-software framework for the construction of area-efficient FPGA-based neural network accelerators using the native LUTs as inference operators. We describe the realization of both unrolled and tiled LUTNet architectures, with the latter facilitating smaller, less power-hungry deployment over the former while sacrificing area and energy efficiency along with throughput. For both varieties, we demonstrate that the exploitation of LUT flexibility allows for far heavier pruning than possible in prior works, resulting in significant area savings while achieving comparable accuracy. Against the state-of-the-art binarized neural network implementation, we achieve up to twice the area efficiency for several standard network models when inferencing popular datasets. We also demonstrate that even greater energy efficiency improvements are obtainable.

연구 동기 및 목표

  • FPGA에서 전통적인 이진화 신경망(BNN)의 비효율성을 해결하기 위해, LUT가 더 복잡한 논리 연산을 수행할 수 있음에도 불구하고 XNOR 게이트에 의존하는 문제를 해결한다.
  • BNN의 한계를 극복하기 위해 선형적인 내적 근사화에 의존하고 FPGA LUT를 제대로 활용하지 못하는 문제를 해결한다.
  • 가변형 K-LUT 기반 연산자로 핵심 계산 단위를 재정의하여 FPGA에서 매우 면적 및 에너지 효율적인 DNN 추론을 가능하게 한다.
  • 학습 프레임워크를 개발하여 LUT 구성 설정을 학습하고 극한의 프루닝을 가능하게 하되, 높은 정확도를 유지한다.
  • 비선형 LUT 기반 연산자가 FPGA에서 선형 XNOR 기반 BNN보다 면적과 에너지 효율성 측면에서 뛰어나다는 것을 입증한다.

제안 방법

  • 표준 BNN 연산(XNOR + popcount)을 K-bit 입력에 대해 임의의 부울 함수를 계산할 수 있는 K-LUT 기반 추론 연산자로 대체한다.
  • LUT 마스크(함수 구성)와 네트워크 가중치를 동시에 학습하는 엔드 투 엔드 학습 파이프라인을 설계하여 LUT가 비선형 추론 단위로 기능하도록 한다.
  • 두 가지 아키텍처를 도입한다: 전개된 LUTNet(고처리량, 고면적 효율성)과 타일링된 LUTNet(작은 면적, 저전력, 온칩 RAM을 통한 파라미터 저장 기능).
  • 사전 치환 프루닝을 적용하여 LUT 수를 감소시킨다(˜N ≪ N), 불필요한 입력은 생략하고 LUT는 필수 기능만 수행하도록 구성한다.
  • LUT 구성에 대한 역전파가 가능한 미분 가능 학습 제도를 도입하여 기울기 하강법을 통해 함수 선택과 네트워크 가중치를 동시에 최적화한다.
  • 모든 아키텍처를 FPGA 최적화된 논리로 구현한다: 전개된 LUTNet는 LUT와 더하기기만을 사용하고, 타일링된 LUTNet는 파라미터를 블록 램으로 이관하여 LUT 사용을 줄이고 면적 효율성을 향상시킨다.

실험 결과

연구 질문

  • RQ1FPGA LUT를 BNN에서 XNOR 연산에 국한하지 않고 비선형 추론 연산자로 효과적으로 재사용할 수 있는가?
  • RQ2유연한 LUT 기반 연산자를 사용할 경우, 분류 정확도를 손상시키지 않으면서 얼마나 강력한 프루닝을 적용할 수 있는가?
  • RQ3FPGA에서 비선형 부울 함수를 LUT에 구현할 경우, 선형 XNOR 연산 대비 면적 및 에너지 효율성 측면에서 어떤 차이가 있는가?
  • RQ4면적, 전력, 처리량, 정확도 측면에서 전개된 LUTNet와 타일링된 LUTNet 아키텍처 간의 상충 관계는 어떠한가?
  • RQ5FPGA 배포를 위해 LUT 함수 구성 설정과 네트워크 가중치를 동시에 최적화할 수 있는 미분 가능 학습 프레임워크를 설계할 수 있는가?

주요 결과

  • LUTNet는 다양한 표준 DNN 모델과 데이터셋에서 최신 BNN 구현 대비 최대 2배 높은 면적 효율성을 달성한다.
  • 기존 BNN 연구 대비 최대 6.66배 높은 에너지 효율성을 입증하였으며, 주로 LUT 사용 감소와 효율적인 논리 활용 덕분이다.
  • 8×8 타일링 및 64.6% 프루닝(5,1)-LUTNet CNV 설계는 전개된 91.1% 프루닝(4,0)-LUTNet와 비교해 2.78배 작고, 전력 소모는 1.18배 적으며 CIFAR-10 정확도는 유사하다.
  • 전개된 LUTNet 아키텍처는 최신 BNN의 전개 및 프루닝 기반 설계 대비 평균 면적 감소율 1.81배를 기록했으며, 정확도는 ±0.300pp 이내를 유지한다.
  • K-LUT의 유연성에도 불구하고 대부분의 학습된 함수는 XNOR 유사 형태를 띠며, 현재 학습 초기화 방식이 최적화 과정에서 익숙한 연산으로 향하도록 유도하고 있음을 시사한다.
  • 타일링된 LUTNet의 경우, ReBNet 대비 에포크당 학습 시간이 최대 2.58배 증가하지만, 이는 자원 사용 감소와 에너지 효율성 향상으로 상쇄된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.