Skip to main content
QUICK REVIEW

[논문 리뷰] The Challenge of Multi-Operand Adders in CNNs on FPGAs: How not to solve it!

Kamel Abdelouahab, François Berry|arXiv (Cornell University)|2018. 06. 30.
Advanced Memory and Neural Computing참고 문헌 15인용 수 4
한 줄 요약

이 논문은 FPGA 기반의 CNN 가속기에서 다중 운영자 덧셈기(MOAs)의 높은 자원 소비 문제를 줄이기 위해 시간 분할 직렬화 및 LOA 덧셈기 기반 근사 계산이라는 두 가지 전략을 조사한다. 이론적으로는 유망하지만, 실제로는 둘 다 실패한다: 직렬화는 과도한 논리 오버헤드를 유발하고, 근사 덧셈기는 FPGA 논리 블록 아키텍처의 특성으로 인해 면적 절감 효과가 없으며, 결과적으로 현재의 FPGA는 이러한 방법으로 MOA 최적화에 적합하지 않다.

ABSTRACT

Convolutional Neural Networks (CNNs) are computationally intensive algorithms that currently require dedicated hardware to be executed. In the case of FPGA-Based accelerators, we point-out in this work the challenge of Multi-Operand Adders (MOAs) and their high resource utilization in an FPGA implementation of a CNN. To address this challenge, two optimization strategies, that rely on time-multiplexing and approximate computing, are investigated. At first glance, the two strategies looked promising to reduce the footprint of a given architectural mapping, but when synthesized on the device, none of them gave the expected results. Experimental sections analyze the reasons of these unexpected results.

연구 동기 및 목표

  • FPGA 기반의 CNN 가속기에서 다중 운영자 덧셈기(MOAs)의 높은 자원 활용도 문제를 해결하기 위해, 일부 계층에서 최대 69%의 논리 자원을 소비하는 MOAs의 자원 소비 문제를 다룬다.
  • 시간 분할 직렬화를 통해 다중 클럭 사이클에 걸쳐 덧셈기 하드웨어를 재사용하여 MOA의 면적을 줄이는 방법을 평가한다.
  • 하위부분 OR(LOA) 덧셈기를 사용한 근사 계산을 통해 MOA 트리의 면적과 전력 소비를 줄이는 것을 탐색한다.
  • 현대 FPGA에 구현했을 때 이 최적화 전략들이 이론적 기대에 비해 실패하는 이유를 규명한다.

제안 방법

  • Intel Stratix V FPGA에서 VHDL를 사용해 MOAs용 직렬화기/누적기 쌍을 설계하고, 논리 자원 활용도를 평가하기 위해 클러스터 크기를 다양하게 조정한다.
  • 자원 비교를 위한 기준선으로 이진 덧셈기 트리를 구현하며, 8비트 연산자와 Quartus 16.0 합성 툴을 사용한다.
  • MOA 트리의 정확한 이진 덧셈기를 근사 LOA 덧셈기로 대체하며, 근사 비율(0%에서 50%까지)과 비트 폭을 다양하게 설정한다.
  • Adaptive Logic Modules(정렬 모듈, ALMs)에서의 논리 자원 활용도를 측정하고, 평균 상대 오차 거리(MRED) 지표를 사용해 정확도를 평가한다.
  • 다양한 근사 비율과 비트 폭에서 자원 사용량과 오차율을 비교하여 정확도와 면적 효율성 간의 상충 관계를 평가한다.
  • 특정 FPGA 논리 블록(예: 하드웨어로 내장된 전가산기 포함 ALMs)이 근사 덧셈기의 효과성에 미치는 영향을 분석한다.

실험 결과

연구 질문

  • RQ1시간 분할 직렬화는 FPGA 기반의 CNN 가속기에서 MOA의 자원 활용도를 줄이는가?
  • RQ2LOA 덧셈기를 사용한 근사 계산은 FPGA에서 MOA 트리의 면적을 크게 줄일 수 있는가?
  • RQ3왜 둘 다 현대 FPGA에 구현했을 때 기대한 자원 절감 효과를 내지 못하는가?
  • RQ4현대 FPGA 논리 블록의 구조(예: 내장된 전가산기를 가진 ALMs)는 MOA 최적화를 위한 근사 덧셈기의 실현 가능성에 어떻게 영향을 미치는가?
  • RQ5직렬화기의 오버헤드와 고정된 논리 블록 아키텍처는 MOA 최적화 기법의 이론적 이점을 얼마나 상쇄하는가?

주요 결과

  • MOAs용 직렬화기/누적기 쌍은 완전히 파ipel라인화된 이진 덧셈기 트리보다 더 많은 논리 요소를 소비하며, 운영자 수에 비례해 직렬화 오버헤드가 선형적으로 증가한다.
  • 현대 FPGA에서는 근사 LOA 덧셈기가 ALM 활용도를 줄이지 못한다. 왜냐하면 논리 블록이 이미 하드웨어로 내장된 전가산기를 포함하고 있기 때문에, OR 게이트 기반 근사 계산이 하드웨어 수준에서 효과가 없기 때문이다.
  • 8비트 LOA 덧셈기의 평균 상대 오차 거리(MRED)는 50% 근사 비율일 때조차 10% 이하로 유지되어 일부 응용 분야에 있어 수용 가능한 정확도를 보인다.
  • 낮은 오차율임에도 불구하고, 근사 덧셈기에서는 근사 비율에 관계없이 FPGA 논리 블록의 고정된 자원 비용으로 인해 면적 절감 효과가 없음을 확인했다.
  • MOA의 높은 자원 소비(예: AlexNet의 첫 번째 레이어에서 전체 논리 자원의 최대 69%)는 현재의 FPGA 최적화 전략으로는 거의 피할 수 없다.
  • 현재의 FPGA 아키텍처는 직렬화 또는 근사 계산을 통한 효율적인 MOA 최적화를 지원하지 않으며, 이는 큰 덧셈기를 위한 전용 DSP 블록이 필요함을 시사한다.

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

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

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

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