Skip to main content
QUICK REVIEW

[논문 리뷰] Accelerating Binarized Neural Networks via Bit-Tensor-Cores in Turing GPUs

Ang Li, Simon Su|arXiv (Cornell University)|2020. 06. 30.
Advanced Neural Network Applications참고 문헌 69인용 수 7
한 줄 요약

이 논문은 NVIDIA Turing GPU의 Bit-Tensor-Corees(BTC)를 활용하여 이진화 신경망(BNNs)을 가속화하기 위해 새로운 비트 데이터 포맷과 최적화된 커널 설계를 제안한다. 비트-텐서 코어의 8×128 및 128×8 타일 연산을 고려하여 데이터 레이아웃을 공동 설계함으로써, ImageNet에서 ResNet-18 기반으로 5.6K 이미지/초의 추론 속도를 달성하여 기존 GPU 기반 BNN보다 77% 빠르게 하였으며, 하드웨어 인식 소프트웨어 최적화를 통해 뛰어난 성능을 입증하였다.

ABSTRACT

Despite foreseeing tremendous speedups over conventional deep neural networks, the performance advantage of binarized neural networks (BNNs) has merely been showcased on general-purpose processors such as CPUs and GPUs. In fact, due to being unable to leverage bit-level-parallelism with a word-based architecture, GPUs have been criticized for extremely low utilization (1%) when executing BNNs. Consequently, the latest tensorcores in NVIDIA Turing GPUs start to experimentally support bit computation. In this work, we look into this brand new bit computation capability and characterize its unique features. We show that the stride of memory access can significantly affect performance delivery and a data-format co-design is highly desired to support the tensorcores for achieving superior performance than existing software solutions without tensorcores. We realize the tensorcore-accelerated BNN design, particularly the major functions for fully-connect and convolution layers -- bit matrix multiplication and bit convolution. Evaluations on two NVIDIA Turing GPUs show that, with ResNet-18, our BTC-BNN design can process ImageNet at a rate of 5.6K images per second, 77% faster than state-of-the-art. Our BNN approach is released on https://github.com/pnnl/TCBNN.

연구 동기 및 목표

  • NVIDIA Turing GPU 텐서 코어의 새로운 비트 연산 기능을 조사하고, 이를 이진화 신경망(BNN) 가속화에 완전히 활용하기 위해.
  • 기존 GPU 기반 BNN 구현에서의 최적화되지 않은 메모리 접근 스트라이드로 인한 성능 저하 문제를 해결하기 위해.
  • BTC 하드웨어와 함께 비트 데이터 포맷을 공동 설계하여 비트 수준 병렬 처리의 활용도를 극대화하고, 소프트웨어 중심 BNN 솔루션보다 뛰어난 성능을 달성하기 위해.
  • 현대 Turing GPU에서 BTC 기반 비트 행렬 곱셈과 비트 컨볼루션을 활용한 전체 BNN 추론 프레임워크를 구현하고 평가하기 위해.

제안 방법

  • BTC의 8×128 및 128×8 타일 크기와 일치하는 새로운 비트 데이터 포맷(FSB)을 설계하여 메모리 접근 스트라이드 손실을 최소화하기 위해.
  • CUDA 및 CUTLASS를 사용하여 BTC 하드웨어 유닛을 대상으로 비트 행렬 곱셈(BMM)과 비트 컨볼루션(BConv)을 위한 최적화된 커널을 구현하기 위해.
  • Turing GPU에서의 최적화도 및 메모리 스트레스를 극대화하기 위해 데이터 레이아웃과 커널 스케줄링을 공동 설계하기 위해.
  • BENN과 같은 앙상블 방법을 위해 다중 GPU 간 확장성을 확보하기 위해 통신 프리미티브(Collective Communication Primitives, NCCL, MPI)를 활용하기 위해.
  • 여섯 가지 모델(MLP, VGG 유사형, AlexNet, VGG-16, ResNet-14/18)과 세 가지 데이터셋(MNIST, CIFAR-10, ImageNet)을 대상으로 RTX 2080 및 RTX 2080 Ti GPU에서 프레임워크를 평가하기 위해.

실험 결과

연구 질문

  • RQ1Turing GPU의 Bit-Tensor-Cores를 갖춘 BNN 추론에서 메모리 접근 스트라이드는 어떤 영향을 미치는가?
  • RQ2BTC의 비트 연산 기능을 BNN에 완전히 활용하기 위해 필요한 데이터 포맷과 소프트웨어 최적화는 무엇인가?
  • RQ3BTC 기반 BNN은 ImageNet에서 실시간 추론을 달성할 수 있으며, 기존 최고 수준의 GPU 기반 BNN과 비교해 어떤가?
  • RQ4다중 GPU로 BNN 추론을 확장할 경우 성능에 어떤 영향을 미치며, 앙상블 BNN(BENN 등)에서 통신 오버헤드는 어떤 역할을 하는가?
  • RQ5강화 기법과 같은 아키텍처 공동 설계 및 모델 앙상블 기법을 통해 BNN의 정확도는 얼마나 유지되거나 향상될 수 있는가?

주요 결과

  • 제안된 FSB 비트 데이터 포맷은 메모리 접근 스트라이드 손실을 크게 감소시켜 BTC의 8×128 및 128×8 타일 연산을 효율적으로 활용할 수 있도록 하였다.
  • RTX 2080 및 RTX 2080 Ti GPU에서 BTC-BNN 프레임워크는 ResNet-18 기반으로 ImageNet에서 5.6K 이미지/초의 속도를 달성하여 기존 최고 수준의 GPU 기반 BNN보다 77% 향상된 성능을 보였다.
  • 여섯 가지 모델과 세 가지 데이터셋을 대상으로 평균적으로 지연 시간 2.33배 향상 및 처리량 1.81배 향상된 성능을 기록하여 이전 GPU 기반 BNN보다 뛰어난 성능을 확보하였다.
  • 단일 노드에서의 확장(멀티 GPU)에서는 통신 오버헤드가 미미하지만, 다중 노드 확장(스케일아웃)에서는 통신 오버헤드가 지배적이며, 이는 분산 BNN 추론에서의 주요 병목 현상임을 시사한다.
  • BENN과 같은 앙상블 방법을 활용하면 효율적인 집합적 통신과 BTC 가속화 덕분에 낮은 지연 시간을 유지하면서도 고정확도 BNN 추론(예: ResNet-18 기반 ImageNet에서 상위-1 정확도 61%)을 달성할 수 있었다.

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

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

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

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