Skip to main content
QUICK REVIEW

[논문 리뷰] BiQGEMM: Matrix Multiplication with Lookup Table For Binary-Coding-based Quantized DNNs

Yongkweon Jeon, Baeseong Park|arXiv (Cornell University)|2020. 05. 20.
Parallel Computing and Optimization Techniques참고 문헌 42인용 수 6
한 줄 요약

BiQGEMM는 바이너리 코딩 기반 양자화 DNN의 행렬 곱셈을 위한 새로운 알고리즘으로, 반복적인 곱셈을 대체하기 위해 사전 계산된 색인 테이블을 사용하고, 고정 폭 지침을 통해 비균일하게 양자화된 가중치에 동시에 액세스할 수 있도록 함으로써 추론을 가속화한다. 기존 kGpu 기준으로 최대 30.42배의 성능 향상을 달성하며, 메모리가 제한되는 환경에서 XNOR 기반 방법보다 뛰어난 성능을 보이며, 특히 NLP 모델에서 흔한 대규모 출력 크기, 소규모 배치 크기 워크로드에 특히 유리하다.

ABSTRACT

The number of parameters in deep neural networks (DNNs) is rapidly increasing to support complicated tasks and to improve model accuracy. Correspondingly, the amount of computations and required memory footprint increase as well. Quantization is an efficient method to address such concerns by compressing DNNs such that computations can be simplified while required storage footprint is significantly reduced. Unfortunately, commercial CPUs and GPUs do not fully support quantization because only fixed data transfers (such as 32 bits) are allowed. As a result, even if weights are quantized into a few bits, CPUs and GPUs cannot access multiple quantized weights without memory bandwidth waste. Success of quantization in practice, hence, relies on an efficient computation engine design, especially for matrix multiplication that is a basic computation engine in most DNNs. In this paper, we propose a novel matrix multiplication method, called BiQGEMM, dedicated to quantized DNNs. BiQGEMM can access multiple quantized weights simultaneously in one instruction. In addition, BiQGEMM pre-computes intermediate results that are highly redundant when quantization leads to limited available computation space. Since pre-computed values are stored in lookup tables and reused, BiQGEMM achieves lower amount of overall computations. Our extensive experimental results show that BiQGEMM presents higher performance than conventional schemes when DNNs are quantized.

연구 동기 및 목표

  • 바이어너리 아키텍처에서 메모리 대역폭 활용이 비효율적인 데 기인한 양자화된 DNN 추론의 성능 저하 문제를 해결한다.
  • CPU/GPU에서 비균일하게 양자화된 가중치(예: 1비트, 2비트)를 처리할 때 고정 폭 데이터 전송의 한계를 극복한다.
  • 양자화된 DNN의 행렬 곱셈에서 반복되는 계산을 줄이기 위해 중간 결과를 사전 계산하고 색인 테이블에 저장한다.
  • 하드웨어 수정 없이 현대 CPU/GPU에서 고성능 GEMM 연산을 가능하게 하며, 특히 대규모 출력 차원과 소규모 배치 크기를 가진 모델에 최적화한다.
  • 소프트웨어 수준에서의 효율적인 솔루션을 제공하여 양자화된 DNN 추론의 계산 효율성과 메모리 대역폭 활용도를 모두 향상시킨다.

제안 방법

  • 양자화된 행렬 곱셈의 중간 결과를 사전 계산하고 색인 테이블에 저장하여 반복적인 곱셈 연산을 대체한다.
  • 다중 비균일 양자화된 가중치를 한 번의 명령어로 로드할 수 있도록 하는 메모리 액세스 패턴을 설계하여 메모리 대역폭 낭비를 최소화한다.
  • 비트 팩킹을 사용해 양자화된 가중치를 효율적으로 저장하고, 단어당 다중 비트를 동시에 처리할 수 있도록 언패킹한다.
  • 색인 기반 계산을 양자화된 가중치 행렬을 대상으로 하는 GEMM 커널에 통합하여 명시적인 곱셈 연산을 피한다.
  • 출력 크기(m)가 크고 배치 크기(n)가 작은 상황—NLP 모델(예: Transformer, LSTM)에서 흔한 상황—에 최적화된 알고리즘을 설계한다.
  • GPU 기반으로 수정된 kGpu 기준 기반으로 구현하고, XNOR 기반 및 표준 GEMM 접근 방식과 비교한다.

실험 결과

연구 질문

  • RQ1색인 기반 사전 계산이 양자화된 DNN의 행렬 곱셈에서 반복되는 계산을 상당히 줄일 수 있는가?
  • RQ2고정 폭 프로세서에서 비균일하게 양자화된 가중치에 액세스할 때 메모리 대역폭을 어떻게 최대화할 수 있는가?
  • RQ3GEMM 커널에서 비트 팩킹과 색인 테이블을 조합함으로써 어떤 성능 향상을 달성할 수 있는가?
  • RQ4어떤 워크로드 환경(예: 큰 m, 작은 n)에서 BiQGEMM가 XNOR 및 kGpu와 같은 기존의 양자화된 GEMM 방법보다 뛰어난가?
  • RQ5BiQGEMM는 양자화된 추론에서 모델 정확도를 유지하면서 계산 복잡도를 얼마나 줄이는가?

주요 결과

  • BiQGEMM는 1비트 양자화된 DNN의 행렬 곱셈에서 kGpu 기준으로 최대 30.42배의 성능 향상을 달성하며, 특히 행렬 크기가 크고 배치 크기가 작은 경우에 뚜렷한 성능 향상을 보인다.
  • 성능 향상은 출력 크기(m)가 클수록, 배치 크기(n)가 작을수록 증가하며, 이는 Transformer 및 LSTM과 같은 NLP 모델에 특히 효과적이다.
  • 메모리가 제한되는 환경에서 BiQGEMM는 조정된 1비트 XNOR 방법조차도 앞서며 성능을 뛰어나게 한다.
  • 색인 테이블을 사용함으로써, 특히 저비트 양자화로 인해 출력 공간이 제한될 경우 양자화된 행렬 곱셈의 반복 계산을 줄일 수 있다.
  • 한 번의 명령어로 다중 비균일 양자화된 가중치에 동시에 액세스할 수 있도록 함으로써 메모리 대역폭 활용도를 크게 향상시켜 데이터 전송 오버헤드를 감소시킨다.
  • BiQGEMM는 하드웨어 수정 없이 현대의 바이어너리 아키텍처에서 높은 효율성을 보이며, 표준 CPU와 GPU에서의 구현에 실용적이다.

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

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

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

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