딥러닝의 새로운 지평: NPU Vector Runahead (NVR)의 등장
NPU Vector Runahead (NVR)은 스파스 DNN 워크로드에서 캐시 미스를 줄이고 성능을 크게 향상시키는 새로운 프리페칭 메커니즘입니다. 소규모 캐시와의 조합을 통해 기존 방식보다 월등한 효율성을 보이며, 딥러닝 분야의 발전에 크게 기여할 것으로 예상됩니다.

최근 딥 뉴럴 네트워크(DNN)는 모델 파라미터 크기의 확장을 줄이기 위해 스파스(Sparse)성을 활용하는 추세입니다. 하지만 스파스성과 가지치기를 통해 실제 처리 시간(wall-clock time)을 줄이는 것은 불규칙적인 메모리 접근 패턴으로 인해 캐시 미스가 빈번하게 발생하여 여전히 어려운 과제입니다.
이러한 문제를 해결하기 위해 등장한 획기적인 기술이 바로 NPU Vector Runahead (NVR) 입니다. Wang Hui 등 14명의 연구자는 NPU에 맞춤화된 프리페칭 메커니즘인 NVR을 발표했습니다. NVR은 일반 목적 프로세서에서의 기존 프리페칭과 달리, 컴파일러나 알고리즘적 지원 없이도 작동하는 독립적이고, 예측적이며, 경량의 하드웨어 서브 스레드로 NPU와 함께 작동합니다. 하드웨어 오버헤드는 5% 미만으로 매우 낮습니다.
NVR의 핵심은 NPU의 고유한 아키텍처에 실행 선행(runahead) 실행을 적용하는 것입니다. 이는 고비용이고 이식성이 떨어지는 기존의 메모리 패턴 최적화 방식과는 차별화되는 접근 방식입니다. 그 결과, 일반 목적 프로세서의 최첨단(SOTA) 프리페칭과 비교하여 평균 90%의 캐시 미스 감소를 달성, 스파스 워크로드에서 프리페칭이 없는 NPU 대비 평균 4배의 속도 향상을 보였습니다.
더 나아가 연구팀은 NVR과 함께 NPU에 소규모 캐시(16KB)를 통합하는 이점을 조사했습니다. 놀랍게도, 이 소규모 캐시 확장은 L2 캐시 크기를 동일하게 늘리는 것보다 5배 더 높은 성능 향상을 가져왔습니다. 이는 소규모 캐시의 효율적인 활용이 대규모 캐시 확장보다 더 큰 성능 개선을 가져올 수 있음을 시사하는 중요한 발견입니다.
NVR은 스파스 DNN 워크로드의 성능 향상에 있어 새로운 가능성을 제시합니다. 낮은 오버헤드와 높은 효율성으로 인해, 앞으로 다양한 NPU 기반 딥러닝 애플리케이션에서 널리 활용될 것으로 기대됩니다.
Reference
[arxiv] NVR: Vector Runahead on NPUs for Sparse Memory Access
Published: (Updated: )
Author: Hui Wang, Zhengpeng Zhao, Jing Wang, Yushu Du, Yuan Cheng, Bing Guo, He Xiao, Chenhao Ma, Xiaomeng Han, Dean You, Jiapeng Guan, Ran Wei, Dawei Yang, Zhe Jiang
http://arxiv.org/abs/2502.13873v2