[논문 리뷰] Towards Efficient Large-Scale Graph Neural Network Computing
NGra는 대규모 그래프 신경망(GNNs)을 위한 새로운 병렬 프레임워크로, GNN을 산발적, 적용, 수집, 적용 단계로 나누어 표현하는 SAGA-NN 모델을 도입한다. 이는 자동 그래프 분할, 청크 기반 스트림 처리, 고유한 레이어 기반 다중 GPU 데이터 스트리밍 메커니즘을 통해 효율적이고 확장 가능한 GPU 가속을 가능하게 하며, 텐서플로우 기준 기준으로 최대 4배의 성능 향상을 달성하고 GPU 간 거의 선형적인 확장성을 보인다.
Recent deep learning models have moved beyond low-dimensional regular grids such as image, video, and speech, to high-dimensional graph-structured data, such as social networks, brain connections, and knowledge graphs. This evolution has led to large graph-based irregular and sparse models that go beyond what existing deep learning frameworks are designed for. Further, these models are not easily amenable to efficient, at scale, acceleration on parallel hardwares (e.g. GPUs). We introduce NGra, the first parallel processing framework for graph-based deep neural networks (GNNs). NGra presents a new SAGA-NN model for expressing deep neural networks as vertex programs with each layer in well-defined (Scatter, ApplyEdge, Gather, ApplyVertex) graph operation stages. This model not only allows GNNs to be expressed intuitively, but also facilitates the mapping to an efficient dataflow representation. NGra addresses the scalability challenge transparently through automatic graph partitioning and chunk-based stream processing out of GPU core or over multiple GPUs, which carefully considers data locality, data movement, and overlapping of parallel processing and data movement. NGra further achieves efficiency through highly optimized Scatter/Gather operators on GPUs despite its sparsity. Our evaluation shows that NGra scales to large real graphs that none of the existing frameworks can handle directly, while achieving up to about 4 times speedup even at small scales over the multiple-baseline design on TensorFlow.
연구 동기 및 목표
- 기존 딥러닝 및 그래프 처리 프레임워크에서 대규모 그래프 신경망(GNNs)에 대한 효율적이고 확장 가능한 GPU 지원의 부족을 해결하기 위해.
- 데이터플로우 기반 딥러닝 프레임워크와 그래프 구조 신경망 계산 간 격차를 메우기 위해.
- GPU 메모리에 들어가지 못할 정도로 큰 그래프에 대해 호스트 메모리와 다중 GPU 가속을 활용해 엔드 투 엔드 GNN 학습을 가능하게 하기 위해.
- 불규칙하고 흐린 데이터 접근 패턴을 가진 GNN에서의 희소 그래프 연산(산발적/수집)을 GPU에서 최적화하기 위해.
제안 방법
- SAGA-NN 모델을 도입하여, 신경망 연산을 포함한 산발적, 적용, 수집, 적용 단계의 순서로 GNN을 표현하는 정점 프로그램 추상화를 제공한다.
- 단일 또는 다중 GPU에서 세분화된 스트림 처리를 가능하게 하기 위해, SAGA-NN 모델을 청크 단위의 데이터플로우 그래프로 매핑한다.
- GPU 메모리 용량을 초과하는 큰 그래프를 관리하기 위해 자동 그래프 분할 및 청크 기반 처리를 활용한다.
- 직접 GPU 간 데이터 교환을 가능하게 함으로써 다중 GPU 간 중복된 데이터 이동을 최소화하는 레이어 기반 스트리밍 메커니즘을 사용한다.
- 각 정점의 데이터 접근 병렬성을 활용하고 메모리 지연을 최소화하여 GPU에서 희소 산발적 및 수집 연산자를 최적화한다.
- GNN 계산을 익숙한 딥러닝 생태계에 통합하기 위해 텐서플로우에 커스텀 연산자 및 정점 프로그램 추상화를 확장한다.
실험 결과
연구 질문
- RQ1대규모 GPU 가속 시스템에서 그래프 신경망이 어떻게 효율적으로 표현되고 실행될 수 있는가?
- RQ2GPU에서 GNN에 내재된 불규칙하고 흐린 데이터 접근 패턴을 처리하기 위해 어떤 시스템 수준 최적화가 필요한가?
- RQ3GPU 메모리 용량을 초과하는 큰 그래프를 다중 GPU 및 호스트 메모리를 활용해 어떻게 효율적으로 처리할 수 있는가?
- RQ4데이터 이동 및 스케줄링 전략이 GPU에서 GNN 학습 성능에 미치는 영향은 무엇인가?
- RQ5데이터플로우와 정점 프로그램 추상화를 조합한 하이브리드 모델이 GNN에 대해 표현력과 고성능을 동시에 달성할 수 있는가?
주요 결과
- NGra는 소규모 GNN 워크로드에서 여러 텐서플로우 기준 기준으로 최대 4배의 성능 향상을 달성하여 뚜렷한 성능 향상을 입증한다.
- 레이어 기반 다중 GPU 스트리밍 메커니즘은 1에서 2개의 GPU로 확장할 때 1.93배의 성능 향상을 기록했으며, 비레벨 기반 메커니즘은 단지 1.06배의 성능 향상에 그친다.
- NGra는 수억 개의 간선과 수백만 개의 정점을 가진 그래프에서의 학습을 가능하게 하여 기존 프레임워크의 능력 범위를 초월한다.
- NUMA 노드 경계 이전까지 다중 GPU 설정에서 거의 선형적인 확장성을 보이며, 수동 NUMA 인식 텐서 할당을 통해 최대 7.09배의 성능 향상을 달성할 수 있다.
- NGra의 GPU 최적화된 산발적 및 수집 연산자는 GNN 계산의 희소성에도 불구하고 메모리 접근 효율을 크게 향상시킨다.
- SAGA-NN을 텐서플로우에 통합함으로써 고성능을 유지하면서도 GNN 프로그래밍을 원활하게 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.