[논문 리뷰] RAPIDNN: In-Memory Deep Neural Network Acceleration Framework
RAPIDNN은 DNN 연산을 메모리 내부에서 작동하도록 재해석하여 코드북 기반 표현과 룩업 테이블 블록을 갖춘 메모리 중심 가속기를 사용해 제자리에서 곱셈, 덧셈, 활성화 및 풀링을 수행하며, 품질 손실을 최소화하면서 큰 에너지 절약과 속도 향상을 달성한다.
Deep neural networks (DNN) have demonstrated effectiveness for various applications such as image processing, video segmentation, and speech recognition. Running state-of-the-art DNNs on current systems mostly relies on either generalpurpose processors, ASIC designs, or FPGA accelerators, all of which suffer from data movements due to the limited onchip memory and data transfer bandwidth. In this work, we propose a novel framework, called RAPIDNN, which processes all DNN operations within the memory to minimize the cost of data movement. To enable in-memory processing, RAPIDNN reinterprets a DNN model and maps it into a specialized accelerator, which is designed using non-volatile memory blocks that model four fundamental DNN operations, i.e., multiplication, addition, activation functions, and pooling. The framework extracts representative operands of a DNN model, e.g., weights and input values, using clustering methods to optimize the model for in-memory processing. Then, it maps the extracted operands and their precomputed results into the accelerator memory blocks. At runtime, the accelerator identifies computation results based on efficient in-memory search capability which also provides tunability of approximation to further improve computation efficiency. Our evaluation shows that RAPIDNN achieves 68.4x, 49.5x energy efficiency improvement and 48.1x, 10.9x speedup as compared to ISAAC and PipeLayer, the state-of-the-art DNN accelerators, while ensuring less than 0.3% of quality loss.
연구 동기 및 목표
- IoT 및 에지 디바이스를 위한 DNN 추론에서 데이터 이동 및 메모리 병목 현상을 줄이고자 한다.
- 핵심 DNN 연산을 메모리 내부에서 수행하여 에너지 효율과 속도를 개선하는 디지털, 메모리 중심의 가속기를 도입한다.
- 메모리 내 처리와의 호환성을 갖춘 표현으로 DNN 모델을 재해석하는 프레임워크를 개발하되 정확도 손실을 제어한다.
- 효율적인 룩업을 위한 메모리 기반 테이블에 가중치와 활성화를 매핑하는 소프트웨어와 하드웨어 공동 설계 방법을 제공한다.
제안 방법
- DNN 연산을 네 가지 메모리 친화적 연산의 시퀀스로 변환한다: 곱셈, 덧셈, 활성화, 풀링.
- 가중치와 입력에 대한 대표적인 코드북을 만들기 위해 k-평균 클러스터링을 사용하여 메모리 내 룩업으로 곱셈을 가능하게 한다.
- 정확도와 메모리/계산 비용의 균형을 맞추기 위해 피연산자의 다단계(트리 기반) 인코딩을 적용하고, 곱셈은 크로스바에 저장된 미리 계산된 테이블로 오프로드한다.
- 활성화 함수 및 인코딩/풀링을 룩업 테이블로 작동하는 연상 메모리 블록으로 모델링하여 아날로그 계산 경로 없이 완전한 메모리 내 실행을 가능하게 한다.
- 대상 오차 허용 오차를 만족하도록 재학습 및 재해석된 네트워크를 반복적으로 개선하여 정확도와 메모리 테이블 크기의 균형을 맞춘다.
- 가중치 누적과 활성화/풀링에 AM 블록을 갖춘 교차막 메모리와 함께 전용 RNA(저항성 신경가속기) 블록 아키텍처를 사용한다.
실험 결과
연구 질문
- RQ1DNN 연산(곱셈, 덧셈, 활성화, 풀링)을 메모리 내부에서 주로 작동하도록 어떻게 변환할 수 있는가?
- RQ2클러스터링 및 인코딩 전략은 컴팩트한 테이블 기반의 메모리 내 계산을 가능하게 하면서 추론 정확도를 어떻게 보존하는가?
- RQ3디지털, 메모리스터 기반 가속기가 모든 핵심 DNN 연산을 아날로그-디지털 변환 및 다단계 메모리스터 없이 수행할 수 있는가?
- RQ4일반적인 층 타입(합성곱, 완전 연결, 풀링)에 걸친 메모리 내 처리로의 재해석 시 정확도와 에너지/속도 간의 trade-off는 무엇인가?
주요 결과
- RAPIDNN은 평가된 워크로드에 대해 ISAAC 대비 최대 68.4× 에너지 효율성 향상과 48.1× 속도 향상을 달성; PipeLayer 대비 최대 49.5× 에너지 절감 및 10.9× 속도 향상.
- 프레임워크는 여섯 가지 DNN 응용에서 0.5% 미만의 품질 손실을 유지한다.
- 다단계 코드북 및 오프라인 클러스터링을 통한 인코딩은 신뢰할 수 없는 다단계 메모리스터에 의존하지 않고도 정확한 메모리 내 곱셈 및 활성화를 가능하게 한다.
- 모든 핵심 연산(곱셈, 덧셈, 활성화, 풀링)이 메모리 블록 내부에서 구현되어 복잡한 ADC/DAC 경로를 피하고 확장 가능한 디지털 기반 계산을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.