[논문 리뷰] GenGNN: A Generic FPGA Framework for Graph Neural Network Acceleration
GenGNN는 고수준 합성(HLS)을 사용하여 다양한 그래프 신경망(GNN) 모델을 가속화하기 위한 일반적이고 오픈소스인 FPGA 프레임워크로, 그래프 사전처리 없이 실시간 추론을 가능하게 한다. GCN, GIN, GAT, PNA, DGN, VN 모델를 위한 통합 메시지 전달 아키텍처와 모델별 구성 요소를 결합하여 CPU 대비 최대 25×, GPU 대비 최대 13×의 성능 향상을 달성한다.
Graph neural networks (GNNs) have recently exploded in popularity thanks to their broad applicability to ubiquitous graph-related problems such as quantum chemistry, drug discovery, and high energy physics. However, meeting demand for novel GNN models and fast inference simultaneously is challenging because of the gap between the difficulty in developing efficient FPGA accelerators and the rapid pace of creation of new GNN models. Prior art focuses on the acceleration of specific classes of GNNs but lacks the generality to work across existing models or to extend to new and emerging GNN models. In this work, we propose a generic GNN acceleration framework using High-Level Synthesis (HLS), named GenGNN, with two-fold goals. First, we aim to deliver ultra-fast GNN inference without any graph pre-processing for real-time requirements. Second, we aim to support a diverse set of GNN models with the extensibility to flexibly adapt to new models. The framework features an optimized message-passing structure applicable to all models, combined with a rich library of model-specific components. We verify our implementation on-board on the Xilinx Alveo U50 FPGA and observe a speed-up of up to 25x against CPU (6226R) baseline and 13x against GPU (A6000) baseline. Our HLS code will be open-source on GitHub upon acceptance.
연구 동기 및 목표
- 빠르게 변화하는 GNN 모델을 위한 일반적이고 확장 가능한 FPGA 가속기의 부족을 해결한다.
- 그래프 사전처리 또는 분할이 필요 없도록 하여 실시간 GNN 추론을 가능하게 한다.
- 스parser 행렬 곱셈으로 표현할 수 없는 모델을 포함해 다양한 기존 및 신규 GNN 아키텍처를 지원한다.
- 실시간 배포를 위한 하드웨어 최적화된 구성 요소를 갖춘 오픈소스로 재사용 가능한 프레임워크를 제공한다.
- 다양한 GNN 모델에서 높은 성능를 달성하면서도 향후 모델 확장에 대한 유연성을 유지한다.
제안 방법
- 모든 GNN 모델에 적용 가능한 일반적인 메시지 전달 아키텍처를 설계하여 핵심 계산 패턴을 추상화한다.
- 주의(attention), 엣지 임베딩, 방향성 집합과 같은 고유한 연산을 처리하기 위해 HLS를 사용해 모델별 구성 요소를 구현한다.
- 노드 임베딩과 메시지 전달 계산을 스트리밍 기반 파ip라인화하여 지연 시간과 메모리 사용량을 감소시킨다.
- 직접 원시 그래프 입력을 소비하는 0-사전처리 파이프라인을 통합하여 실시간 처리를 가능하게 한다.
- 고수준 합성(HLS)을 활용해 Xilinx Alveo U50 FPGA 배포를 위한 효율적이고 합성 가능한 C++ 코드를 생성한다.
- 현장 메모리 관리와 외부 메모리 스트리밍을 통해 대규모 그래프 처리를 위한 프레임워크 확장을 수행한다.
실험 결과
연구 질문
- RQ1모델별 하드웨어 재설계 없이도 단일 FPGA 프레임워크가 다양한 GNN 모델에서 높은 성능를 달성할 수 있는가?
- RQ2스트리밍 기반 파이프라인화 기법이 메모리 사용량을 증가시키지 않으면서 지연 시간을 얼마나 줄일 수 있는가?
- RQ3동적 또는 비정규적인 그래프 워크로드에서 0-사전처리를 통해 실시간 GNN 추론을 얼마나 효과적으로 지원하는가?
- RQ4여러 GNN 모델과 데이터셋에서 CPU 및 GPU 기준 대비 프레임워크가 달성하는 성능 향상은 어느 정도인가?
- RQ5현장 메모리 용량을 초월하는 대규모 그래프에서도 프레임워크가 높은 처리량을 유지하면서 확장 가능한가?
주요 결과
- DGN 모델의 경우 MolHIV 데이터셋에서 CPU 대비 최대 25.96×, GPU 대비 최대 25.96×의 성능 향상을 기록하여 복잡한 GNN의 가속화 효과를 입증한다.
- MolPCBA 데이터셋에서 GenGNN는 GPU 대비 17.66×, CPU 대비 9.69×의 성능 향상을 기록하여 다양한 모델에서 일관된 성능 향상을 확인한다.
- 스트리밍 기반 파이프라인화 기법은 비파이프라인 실행 대비 최대 1.92×의 지연 감소를 이끌어내며, 노드 및 메시지 처리 지연 시간이 균형을 이루지 않은 그래프에서 더 높은 성능 향상을 보였다.
- Cora 그래프에서 GenGNN는 CPU 대비 1.49–1.95×, GPU 대비 2.44×의 성능 향상을 기록하여 현장 메모리 제약 조건 하에서도 대규모 그래프에 대한 확장성을 입증한다.
- GenGNN는 GCN, GIN, GAT, PNA, DGN, VN 등 6종의 GNN 모델을 재설계 없이 지원하여 그 일반성과 확장 가능성을 입증한다.
- GitHub에 공개된 HLS 소스 코드는 연구 공동체가 결과를 재현하고 향후 확장을 가능하게 하여 재현성과 지속 가능성을 보장한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.