Skip to main content
QUICK REVIEW

[논문 리뷰] Communication-Optimal Convolutional Neural Nets

James Demmel, Grace Dinh|arXiv (Cornell University)|2018. 02. 19.
Stochastic Gradient Optimization Techniques참고 문헌 13인용 수 18
한 줄 요약

이 논문은 컨volutional 신경망(CNN)에 대한 통신 최적화 알고리즘을 제시하며, 데이터 이동의 날카운 농도를 유도하고, 이를 충족시키는 루프 재조직화 및 타일링 전략을 설계한다. CNN 계산에서 문제에 특화된 구조를 활용함으로써 행렬 곱셈 대비 최대 2.75배 더 높은 데이터 재사용을 달성하여, 현대 아키텍처에서 통신 비용을 감소시킨다.

ABSTRACT

Efficiently executing convolutional neural nets (CNNs) is important in many machine-learning tasks. Since the cost of moving a word of data, either between levels of a memory hierarchy or between processors over a network, is much higher than the cost of an arithmetic operation, minimizing data movement is critical to performance optimization. In this paper, we present both new lower bounds on data movement needed for CNNs, and optimal sequential algorithms that attain these lower bounds. In most common cases, our optimal algorithms can attain significantly more data reuse than matrix multiplication.

연구 동기 및 목표

  • 산술 연산 대비 높은 통신 비용으로 인해 발생하는 CNN의 성능 저하 문제를 해결한다.
  • 구현 세부 사항과 무관하게 CNN의 컨볼루션 및 풀링 레이어에 대한 데이터 이동에 대한 기본 하한을 규명한다.
  • 모든 일반적인 CNN 하이퍼파rameter 구성에서 이러한 하한을 달성하는 최적의 루프 재정렬 및 타일링 전략을 설계한다.
  • 병렬 환경과 실제 모델인 AlexNet 등으로 분석을 확장하여 실질적인 통신 비용 감소를 보여준다.
  • 컴파일러에서 자동으로 통신 최적화 코드를 생성할 수 있는 기반을 마련하기 위해 형식화된 최적화 기법을 정립한다.

제안 방법

  • 기능 해석학, 군 이론, 격자 이론의 고급 수학적 도구를 사용하여 새로운 통신 하한을 유도한다.
  • 빠른 메모리 용량(캐시 크기 M)에 제약을 두어, 루프 타일 크기 위의 선형 프로그래밍(LP)으로 최적의 타일링 문제를 수식화한다.
  • 모든 파rameter 조합에서 타당한 해가 존재함을 보여, 하한이 항상 달성 가능함을 증명한다.
  • 비선형 타일링 최적화 문제를 해석 가능하게 만들기 위해 로그 변환을 사용하여 비선형 문제를 선형 프로그래밍으로 변환한다.
  • 스트라이드 파rameter와 다중 메모리 레벨을 포함하여 모델을 일반화함으로써 실제 CNN 워크로드 분석이 가능하도록 한다.
  • 결과를 풀링 레이어로 확장하고, 공유 메모리가 있는 분산 다중 프로세서 시스템에 대한 함의를 논의한다.

실험 결과

연구 질문

  • RQ1임의의 차원과 캐시 크기 M을 고려할 때, CNN의 컨볼루션 레이어를 계산하기 위해 필요한 이론적 최소 데이터 이동량은 얼마인가?
  • RQ2이 하한은 루프 및 데이터 접근 패턴의 알고리즘적 재조정을 통해 실질적으로 달성될 수 있는가?
  • RQ3최적의 CNN 알고리즘에서의 데이터 재사용은 표준 행렬 곱셈(밀도 높은 선형 대수 연산의 기준)과 비교해 어떻게 되는가?
  • RQ4이러한 하한과 알고리즘이 AlexNet과 같은 실제 딥러닝 모델에 미치는 함의는 무엇인가?
  • RQ5제안된 방법은 컴파일러에서 임의의 중첩 루프 구조를 통신 효율성 최적화하기 위해 일반화될 수 있는가?

주요 결과

  • 논문은 입력 차원, 필터 크기, 스트라이드, 캐시 크기 M을 포함하는 다섯 개의 표현식의 최댓값으로 CNN에 대한 새로운 통신 하한을 확립한다.
  • 대부분의 일반적인 경우—특히 작은 필터와 제한된 캐시를 가진 경우—하한의 다섯 번째 항인 $ BCKWH(RS\frac{\rho}{M})^{1/2} $ 가 지배적이며, 이는 최소 통신 비용을 나타낸다.
  • 제안된 최적 알고리즘은 행렬 곱셈 대비 최대 2.75배 더 높은 데이터 재사용을 달성하여 통신 볼륨을 크게 감소시킨다.
  • 실제 모델인 AlexNet과 같은 경우, M이 작을 때(예: L1/L2 캐시 크기) 기존의 행렬 곱셈 기반 접근 방식 대비 정수 배수로 통신 비용을 감소시킬 수 있다.
  • 타일링을 위한 선형 프로그래밍 설정은 항상 타당하며, 모든 파rameter 영역에서 이론적 하한을 보장한다.
  • 공유 메모리가 있는 병렬 환경으로의 일반화가 가능하며, 프로세서 수와 문제 분할에 따라 통신 비용이 최적의 비율로 증가한다.

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

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

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

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