Skip to main content
QUICK REVIEW

[논문 리뷰] High Performance Convolution Using Sparsity and Patterns for Inference in Deep Convolutional Neural Networks

Hossam Amer, Ahmed H. Salamah|arXiv (Cornell University)|2021. 04. 16.
Advanced Neural Network Applications참고 문헌 38인용 수 5
한 줄 요약

이 논문은 깊이 있는 CNN 추론을 위한 두 가지 새로운 컨볼루션 알고리즘인 CPO와 CPS를 제안한다. 이 알고리즘들은 활성화 맵의 희소성과 국소 패턴을 활용하여 메모리 사용량을 줄이고 계산을 가속화한다. 비제로 요소를 압축하고, 희소 행렬-벡터 곱셈을 통해 제로 채널을 건너뛰어, im2col 대비 최대 63% 빠른 추론과 26배의 압축 비율을 달성하며, 층 간 평균 9%의 시간 절감과 10배의 압축 비율을 기록한다.

ABSTRACT

Deploying deep Convolutional Neural Networks (CNNs) is impacted by their memory footprint and speed requirements, which mainly come from convolution. Widely-used convolution algorithms, im2col and MEC, produce a lowered matrix from an activation map by redundantly storing the map's elements included at horizontal and/or vertical kernel overlappings without considering the sparsity of the map. Using the sparsity of the map, this paper proposes two new convolution algorithms dubbed Compressed Pattern Overlap (CPO) and Compressed Pattern Sets (CPS) that simultaneously decrease the memory footprint and increase the inference speed while preserving the accuracy. CPO recognizes non-zero elements (NZEs) at horizontal and vertical overlappings in the activation maps. CPS further improves the memory savings of CPO by compressing the index positions of neighboring NZEs. In both algorithms, channels/regions of the activation maps with all zeros are skipped. Then, CPO/CPS performs convolution via Sparse Matrix-Vector Multiplication (SpMv) done on their sparse representations. Experimental results conducted on CPUs show that average per-layer time savings reach up to 63% and Compression Ratio (CR) up to 26x with respect to im2col. In some layers, our average per layer CPO/CPS time savings are better by 28% and CR is better by 9.2x than the parallel implementation of MEC. For a given CNN's inference, we offline select for each convolution layer the best convolutional algorithm in terms of time between either CPO or CPS and im2col. Our algorithms were selected up to 56% of the non-pointwise convolutional layers. Our offline selections yield CNN inference time savings up to 9% and CR up to 10x.

연구 동기 및 목표

  • 자원 제약이 있는 장치에서 깊이 있는 CNN의 컨볼루션에 따른 높은 메모리 및 계산 비용을 해결한다.
  • im2col 및 MEC와 같은 표준 내림내림 기반 방법에서 발생하는 비효율성, 즉 제로 요소와 겹치는 비제로 요소를 중복 저장하는 문제를 해결한다.
  • ReLU로 활성화된 특징 맵의 희소성과 비제로 요소의 국소 패턴을 활용하여 메모리 및 시간 효율적인 컨볼루션 알고리즘을 설계한다.
  • 각 층에 최적의 컨볼루션 방법을 동적으로 선택하는 하이브리드 선택 전략을 개발하여 추론 속도와 압축률을 극대화한다.

제안 방법

  • 수평 및 수직 커널 겹침에서 활성화 맵 내 비제로 요소(NZEs)를 식별하고, 이를 압축된 희소 형식으로 저장하는 압축된 패턴 오버랩(CPO)을 제안한다.
  • 이웃하는 NZEs의 인덱스 패턴을 인코딩하여 CPO를 추가로 압축함으로써 저장 오버헤드를 줄이는 압축된 패턴 세트(CPS)를 도입한다.
  • 모든 값이 제로인 채널이나 영역을 건너뛰기 위한 스킵 플래그를 통합하여 불필요한 계산과 저장을 제거한다.
  • 압축된 표현을 기반으로 희소 행렬-벡터 곱셈(SpMv)을 수행하여 비제로 기여도에만 집중한다.
  • 미리 계산된 하이브리드 선택 전략을 구현하여 소규모 이미지 세트에서 im2col, CPO, CPS를 벤치마킹하고, 엔드 투 엔드 추론에서 각 층에 가장 빠른 알고리즘을 선택한다.
  • 커널 너비 $K_w = 1$ 인 특수 케이스를 고려해 수정된 인코더와 컨볼루션 커널을 사용하여 구현을 단순화하면서도 성능을 유지한다.

실험 결과

연구 질문

  • RQ1ReLU로 활성화된 특징 맵의 희소성과 국소 패턴을 활용하여 CNN 추론에서 메모리 사용량을 줄이고 계산 속도를 높일 수 있는가?
  • RQ2im2col 및 MEC와 같은 표준 방법과 비교할 때 CPO와 CPS는 메모리 압축 비율과 추론 속도에서 어떤 성능을 보이는가?
  • RQ3각 층에 최적의 알고리즘을 선택하는 하이브리드 선택 전략이 엔드 투 엔드 추론 성능 향상에 실질적인 기여를 할 수 있는가?
  • RQ4비제로 요소의 희소성과 공간 집합성은 기존의 희소 표현을 초월해 추가적인 압축을 가능하게 하는가?
  • RQ5실제 CNN에 패턴 인식 기반 압축을 적용할 때 압축 비율과 추론 속도 사이의 실질적 트레이드오프는 어떠한가?

주요 결과

  • CPO와 CPS는 CPU 기반 추론에서 im2col 대비 최대 63%의 층별 시간 절감과 26배의 압축 비율을 달성한다.
  • 일부 층에서는 CPO/CPS가 병렬 MEC 구현 대비 시간 기준 28% 빠르고 압축 비율 기준 9.2배 높다.
  • 엔드 투 엔드 추론에서 하이브리드 선택 전략은 총 추론 시간을 최대 9% 줄이고 층 간 평균 10배의 압축 비율을 제공한다.
  • 시험된 모델에서 CPO/CPS는 최대 56%의 비포인트와이즈 컨볼루션 층에서 선택되어 광범위한 적용 가능성을 보였다.
  • 이미지 간 활성화 맵의 밀도가 정적임을 고려할 때, 런타임 오버헤드 없이 사전에 알고리즘 선택이 효과적으로 가능하다.
  • 모든 제로 채널에 대한 스킵 플래그와 이웃하는 비제로 요소의 패턴 기반 압축이 중복 저장 및 계산을 크게 줄였다.

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

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

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

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