GPU 기반 스파이킹 신경망 확장과 최적화 전략
초록
본 논문은 GPU 전용 시뮬레이션 프레임워크인 GeNN을 활용해 스파이킹 신경망을 대규모로 구현하는 방법을 제시한다. 사용자 정의 네트워크 구조에 따라 시냅스 가중치를 자동 스케일링하여 충분한 스파이크 발생을 보장하고, GPU 특성에 맞춘 희소 연결 표현과 블록 크기 최적화를 통해 메모리 사용량과 연산 효율을 동시에 향상시킨다. 실험 결과, 기존 CPU 기반 시뮬레이션 대비 10배 이상 속도 향상을 달성했으며, 네트워크 규모가 증가해도 안정적인 학습 성능을 유지한다.
상세 분석
GeNN은 코드 생성 기반 접근법을 채택해 사용자가 정의한 뉴런 집단, 시냅스 연결 밀도, 뉴런 모델을 C++/CUDA 코드로 자동 변환한다. 이 과정에서 핵심적인 최적화가 두 가지로 집중된다. 첫째, 시냅스 가중치 스케일링이다. 네트워크가 커질수록 평균 입력 전류가 희석되어 뉴런이 충분히 발화하지 못하는 문제가 발생한다. 저자들은 전체 시냅스 수와 연결 확률을 기반으로 가중치를 동적으로 조정하는 수식을 도입했으며, 이를 통해 목표 스파이크 비율(예: 5 %~10 %)을 유지한다. 이 스케일링은 학습 단계에서 가중치 업데이트와 별도로 적용되므로, 학습 알고리즘 자체를 변경할 필요가 없다는 장점이 있다.
둘째, GPU 친화적 메모리 레이아웃과 실행 구성을 최적화한다. 시냅스 연결을 CSR(Compressed Sparse Row) 형태로 저장함으로써 메모리 사용량을 O(E)로 감소시키고, 연속적인 메모리 접근을 보장한다. 또한, CUDA 스레드 블록 크기를 GPU의 SM(Streaming Multiprocessor) 점유율에 맞춰 자동 결정하도록 설계했다. 점유율 기반 블록 크기 선택은 워프 레벨 병렬성을 최대화하고, 레지스터와 공유 메모리 사용량을 균형 있게 배분해 스루풋을 극대화한다.
성능 평가에서는 다양한 네트워크 토폴로지(전역 연결, 랜덤 연결, 거리 기반 연결)와 시냅스 밀도(0.1 %~10 %)를 실험했다. 결과는 가중치 스케일링이 적용된 경우 스파이크 발생률이 3배 이상 증가하고, 학습 정확도(예: 패턴 인식)도 크게 향상됨을 보여준다. 또한, 희소 표현과 점유율 최적화 덕분에 메모리 사용량이 동일 조건의 밀집 구현 대비 70 % 이상 절감되었으며, 실행 시간은 평균 12배 가속되었다.
한계점으로는 가중치 스케일링 파라미터를 사전에 설정해야 하는 점과, 매우 높은 연결 밀도(>20 %)에서는 CSR 구조의 오버헤드가 증가해 성능 이득이 감소한다는 점을 지적한다. 향후 연구에서는 자동 파라미터 튜닝 메커니즘과 하이브리드(희소·밀집) 저장 방식을 도입해 이러한 제약을 완화할 계획이다.
댓글 및 학술 토론
Loading comments...
의견 남기기