딥러닝 가속을 위한 경량 VLIW 오버레이와 그래프 컴파일러
본 논문은 FPGA 위에 구현된 경량 VLIW 기반 오버레이와 NN 전용 그래프 컴파일러를 결합해, 기존 오버레이가 안고 있던 성능 손실을 거의 없애면서도 높은 프로그래머블성을 유지한다. 1 % 수준의 오버헤드로 다양한 CNN·RNN 모델을 지원하고, ResNet‑101에서 3배, LSTM에서 12배의 성능 향상을 달성했으며, Arria 10 1150 기준 GoogLeNet을 900 fps로 구동하는 기록을 세웠다.
저자: Mohamed S. Abdelfattah, David Han, Andrew Bitar
본 논문은 FPGA 기반 딥러닝 가속기의 설계·구현·평가 전 과정을 다루며, 전통적인 오버레이가 안고 있던 높은 오버헤드 문제를 해결한 새로운 접근법을 제시한다. 서론에서는 FPGA 설계의 복잡성과 기존 고수준 합성 도구(OpenCL 등)의 한계를 언급하고, 소프트웨어와 하드웨어 양쪽에서 프로그래머블성을 유지하면서도 성능을 극대화할 필요성을 강조한다.
하드웨어 아키텍처 섹션에서는 DLA의 핵심 구성 요소를 상세히 설명한다. 1 D systolic PE 배열은 행렬 연산을 담당하며, Q_VEC·P_VEC·C_VEC·K_VEC 네 차원의 벡터화 파라미터를 통해 다양한 네트워크 구조에 맞게 확장·축소가 가능하다. PE 내부에는 이중 버퍼링된 필터 캐시가 존재해, 다음 서브그래프의 필터를 미리 로드하면서 현재 연산을 수행한다. 스트림 버퍼는 온‑칩 BRAM을 활용한 스크래치패드로, 중간 텐서를 저장하고 재사용한다.
제어 로직은 경량 VLIW 네트워크로 구현된다. 8 bit 링 구조에 VLIW 리더와 여러 “Transport” 모듈이 연결되어, 각 커널에 전용 명령 패킷을 전달한다. 명령은 헤더와 카운터‑끝값, 플래그만 포함해 디코더가 필요 없으며, 커널 내부 레지스터에 직접 로드된다. 이 설계는 전체 LUT 사용량을 약 3 000 LUT(Arria 10 전체 대비 1 %)로 제한하면서도, 서브그래프당 수십 사이클 내에 재프로그래밍이 가능하도록 한다.
Xbar 인터커넥트는 보조 커널(풀링, LRN, 활성화 등)을 동적으로 연결한다. 각 커널의 데이터 폭은 “폭 어댑터”를 통해 조정되며, 사용 빈도가 낮은 커널은 폭을 축소해 로직 자원을 절감한다. 또한, 커널 순서에 따라 멀티플렉싱 로직을 삽입해 다양한 레이어 순서를 지원한다.
소프트웨어 측면에서는 NN 그래프 컴파일러가 핵심 역할을 한다. 컴파일러는 TensorFlow·Caffe 등에서 추출한 그래프를 “subgraph” 단위로 분할하고, 각 subgraph에 맞는 VLIW 명령을 자동 생성한다. 주요 컴파일 패스는 다음과 같다.
1. **슬라이싱**: 입력 텐서를 높·폭·채널 축으로 나누어 온‑칩 버퍼에 맞춘다. 필터 윈도우가 1×1이 아닌 경우 겹치는 영역을 최소화하도록 슬라이스를 선택한다. 연속된 컨볼루션을 하나의 슬라이스에 묶는 “그룹 슬라이싱”을 적용해 DDR spill 포인트를 감소시킨다. ResNet‑101 HD 이미지 처리 시 19 %의 스루풋 향상을 얻었다.
2. **스케줄링**: PE 배열의 병렬도와 스트림 버퍼 사용률을 고려해 연산 순서를 최적화한다. 벡터화 파라미터 간의 균형을 맞추어 K_VEC = 64·P_VEC = 1보다 P_VEC·K_VEC를 조합한 구성이 평균 20 % 높은 효율을 보였다.
3. **할당**: 스트림 버퍼를 앞쪽에서 증가, 뒤쪽에서 감소하는 이중 버퍼 방식으로 관리해 메모리 단편화를 최소화한다. 중간 버퍼를 재사용함으로써 브랜치가 많은 GoogLeNet에서도 메모리 사용량을 크게 줄였다.
컴파일러는 또한 LSTM 셀 구현을 위해 새로운 “Cell” 커널을 Xbar에 삽입하고, 그래프 변환(pass)으로 기존 CNN 파이프라인에 매끄럽게 통합한다.
실험 결과에서는 다양한 CNN(AlexNet, GoogLeNet, ResNet‑101, SqueezeNet)과 RNN(LSTM) 모델을 대상으로 성능을 평가한다. 동일한 Arria 10 1150 보드에서 DLA는 ResNet‑101을 3배 가속하고, LSTM 셀을 12배 가속했다. 특히 GoogLeNet을 900 fps(초당 프레임)로 처리하여, 기존 FPGA 기반 가속기 대비 최고 기록을 세웠다. 전력 효율 측면에서도 1 % 미만의 제어 로직 오버헤드와 높은 PE 활용률(>85 %)을 유지했다.
논의 섹션에서는 오버레이 설계 시 컴파일 타임 파라미터와 런타임 파라미터를 명확히 구분함으로써, 설계자와 최종 사용자가 각각 최적화 포인트에 집중할 수 있음을 강조한다. 또한, VLIW 네트워크의 확장성을 통해 향후 새로운 레이어 타입(예: Swish, Mish 등)을 추가하는 비용이 최소화될 것임을 제시한다.
결론에서는 DLA가 FPGA 위에서 범용 딥러닝 가속기의 성능 격차를 크게 줄였으며, 하드웨어·소프트웨어 공동 최적화가 앞으로도 중요한 설계 패러다임이 될 것임을 강조한다. 향후 연구 방향으로는 자동 파라미터 탐색을 통한 벡터화 최적화, 멀티‑테넌시 지원, 그리고 최신 FP8·INT4 등 저정밀 연산 지원을 들었다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기