Skip to main content
QUICK REVIEW

[논문 리뷰] Template-Based Posit Multiplication for Training and Inferring in Neural Networks

Raúl Murillo Montero, Alberto A. Del Barrio|arXiv (Cornell University)|2019. 07. 09.
Numerical Methods and Algorithms참고 문헌 23인용 수 10
한 줄 요약

이 논문은 제로 지수 비트(es=0)를 지원하는 템플릿 기반 양자 곱셈 알고리즘을 제안하여 효율적인 시그모이드 계산과 FloPoCo 프레임워크 내 통합을 가능하게 한다. 이는 8비트 포지트(⟨8,0⟩)로 신경망을 훈련시킬 경우 IEEE 754 부동소수점과 유사한 수렴 성능를 달성할 수 있음을 처음으로 입증하며, MNIST에서는 32비트 부동소수점 성능을 재현하고, CIFAR-10에서는 정확도 손실이 발생하지만 여전히 가능성 있는 성능을 보인다.

ABSTRACT

The posit number system is arguably the most promising and discussed topic in Arithmetic nowadays. The recent breakthroughs claimed by the format proposed by John L. Gustafson have put posits in the spotlight. In this work, we first describe an algorithm for multiplying two posit numbers, even when the number of exponent bits is zero. This configuration, scarcely tackled in literature, is particularly interesting because it allows the deployment of a fast sigmoid function. The proposed multiplication algorithm is then integrated as a template into the well-known FloPoCo framework. Synthesis results are shown to compare with the floating point multiplication offered by FloPoCo as well. Second, the performance of posits is studied in the scenario of Neural Networks in both training and inference stages. To the best of our knowledge, this is the first time that training is done with posit format, achieving promising results for a binary classification problem even with reduced posit configurations. In the inference stage, 8-bit posits are as good as floating point when dealing with the MNIST dataset, but lose some accuracy with CIFAR-10.

연구 동기 및 목표

  • 기존 프레임워크에서 저해상도 설정(지수 비트 수가 0인 경우)에 대한 효율적인 포지트 산술 지원 부족 문제를 해결한다.
  • IEEE 754 부동소수점보다 더 높은 정확도와 하드웨어 효율성을 보장하는 포지트 수치 체계를 사용하여 신경망의 훈련 및 추론을 가능하게 한다.
  • 모든 ⟨n,es⟩ 설정(특히 es=0 포함)을 지원하는 일반적이고 합성 가능한 포지트 곱셈 알고리즘을 개발하여 하드웨어에의 구현을 촉진한다.
  • 포지트의 성능을 신경망의 훈련 및 추론 단계에서 정확도, 수렴성, 자원 효율성 측면에서 평가한다.
  • 딥러닝 워크로드에서 특히 메모리 및 면적 점유율을 줄인 저해상도 환경에서 포지트가 부동소수점의 실질적인 대안이 될 수 있음을 입증한다.

제안 방법

  • 변형 가능한 길이 영역을 처리하고 지수 비트 수가 0인 경우를 지원하는 일반적인 포지트 곱셈 알고리즘 설계를 통해 빠른 시그모이드 근사 계산을 가능하게 한다.
  • FloPoCo 프레임워크 내에서 재사용 가능한 템플릿으로 알고리즘을 구현하여 하드웨어 설계에 대한 자동 합성과 통합을 가능하게 한다.
  • 템플릿 기반 곱셈기를 사용하여 평균 제곱오차(MSE) 손실과 확률적 경사 하강법을 사용한 신경망 훈련 파이프라인을 구축하고, 다양한 형식 간의 수렴 성능을 비교한다.
  • 2500 에포크 동안 8비트에서 32비트 포지트 및 32/64비트 부동소수점으로 작동하는 작은 순환 신경망을 훈련시켜 수렴 특성을 평가한다.
  • 추론을 위해 사전 훈련된 부동소수점 모델(LeNet-5)을 8비트 포지트(⟨8,0⟩)로 변환하고, NumPy 기반의 포지트 라이브러리를 사용해 추론을 시뮬레이션하고, MNIST 및 CIFAR-10에서 정확도를 평가한다.
  • 덧셈 연산만 포지트 형식으로 수행하는 하이브리드 포지트-부동소수점 아키텍처를 탐색하여 복잡한 데이터셋에서의 정확도 손실 문제를 완화한다.

실험 결과

연구 질문

  • RQ1지수 비트 수가 0인 경우를 지원하는 일반적인 포지트 곱셈 알고리즘을 설계하고 합성하여 신경망 내에서 효율적인 시그모이드 계산을 가능하게 할 수 있는가?
  • RQ2저해상도 포지트(예: ⟨8,0⟩)로 신경망을 훈련시킬 경우 32비트 부동소수점 훈련과 유사한 수렴성과 성능을 달성할 수 있는가?
  • RQ3표준 데이터셋인 MNIST 및 CIFAR-10에서 8비트 포지트(⟨8,0⟩)의 추론 성능은 32비트 부동소수점 모델과 비교해 어떻게 되는가?
  • RQ4하이브리드 포지트-부동소수점 아키텍처는 메모리 및 면적 이점은 유지하면서도 추론 정확도를 향상시킬 수 있는가?
  • RQ5다양한 포지트 설정(⟨8,0⟩, ⟨10,0⟩, ⟨16,1⟩ 등)을 사용할 경우 딥러닝 워크로드에서 정밀도, 수렴 속도, 정확도 간의 상호 상충 관계는 어떠한가?

주요 결과

  • 제안된 템플릿 기반 포지트 곱셈기는 모든 ⟨n,es⟩ 설정(특히 es=0 포함)을 성공적으로 지원하며, 하드웨어 합성을 위한 FloPoCo 프레임워크에 통합되었다.
  • ⟨8,0⟩ 포지트로 훈련한 결과, 안정된 손실(1250 에포크 기준 0.1530)로 수렴했지만, 32비트 부동소수점 또는 고해상도 포지트보다 수렴 속도가 느렸다.
  • 8비트 포지트(⟨8,0⟩)는 MNIST에서 Top-1 정확도 99.40%를 달성하여 32비트 부동소수점(99.22%)을 略로 뛰어넘었으며, 저해상도 추론에 매우 적합함을 시사한다.
  • CIFAR-10에서는 8비트 포지트가 Top-1 정확도 12% 감소(56.11% 대 68.04% for float)를 보였으며, 복잡한 이미지 인식 작업에서의 한계를 드러냈다.
  • 덧셈 연산만 포지트 형식으로 수행하는 하이브리드 아키텍처는 CIFAR-10에서 정확도를 향상시켜 Top-1 정확도 58.92%를 달성했지만 여전히 정밀도가 높은 부동소수점보다 열등했다.
  • 16비트 또는 32비트 포지트(⟨16,1⟩ 및 ⟨32,2⟩)는 32비트 부동소수점과 거의 동일한 수렴성 및 정확도를 보였으며, 고정밀도 워크로드에 대한 실용성을 시사한다.

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

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

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

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