25년 6월 1주차 그래프 오마카세

이벤트 링크 : https://lu.ma/69ymean7

한정된 인원들만 참여가 가능하다보니, 신상이 불분명하신분들은 부득이하게 참여가 어려우실 수도 있습니다. 신청시에, 되도록 소속을 명확히 기입해주시면 감사하겠습니다.

추가로 정말 꼭 참여를 해보고 싶다 하신분들은 graphusergroup@gmail.com 으로 메일을 전달해주시면, 우선으로 자리를 배치해보도록 하겠습니다. 많은 참여 부탁드리겠습니다.


Plexus : Taming Billion-edge Graphs with 3D Parallel GNN Training

paper link : https://arxiv.org/abs/2505.04083

  • 이전 오마카세에서 가볍게 소개해드린 것 처럼, 현재 AI 트렌드에 발맞춰 그래프 파운데이션 패러다임을 제대로 잡아나가기 위해서는, 우선적으로 제대로 구축된 대규모 그래프 데이터셋이 필요하다고 말씀드렸었습니다. 그리고 그에 맞는 대규모 그래프 학습 메커니즘 및 모델 설계가 따라와야만 합니다.
  • 이런 흐름에 발맞추어 훌륭한 그래프 연구자분들께서 많이 작성해준 논문들 중에 정말 재밌고 유익한 방법들이 많이 쏟아지는 것 같습니다. 이번 주 오마카세에서는 대규모 그래프 학습 메커니즘 관련하여 새로운 3D 병렬 프레임워크를 제안한 논문의 최대 핵심 내용만 정리해서 전달해드릴까 합니다.
  • 실제로 우리가 접하는 그래프들은 대부분 그 크기가 어마무시하기 때문에 GPU 메모리 용량을 초과하는 경우가 많아, Mini-batch sampling과 같은 처리 기법을 활용합니다. 그러나 다음은 정확도 저하, neighborhood explosion, CPU-GPU 데이터 전송 오버헤드 등의 여러가지 문제를 야기할 수 있습니다.
  • 위의 문제를 해결하기 위한 새로운 방법론으로 분산 그래프 학습 메커니즘이 제안되었습니다. Distributed full-graph training 이름의 다음 메커니즘은 별도의 approximation 없이 학습을 수행하지만, 그래프의 불규칙한 구조로 인해 높은 통신 오버헤드 및 계산 로드 불균형 문제가 발생합니다.
  • 분산 그래프 학습 메커니즘의 문제점들을 해결하기 위해 제안된 Plexus 이름의 3D 병렬 프레임워크는 수십억(Billion) 개의 엣지를 가진 그래프까지 확장할 수 있습니다. 간단하게, 다음 논문의 3D 병렬 행렬곱셈 알고리즘을 GNN 학습에 맞게 개량한 것으로 볼 수 있겠습니다.
  • Section 3에서는 3D 병렬화로 더욱 압축시켜 볼 수 있는 핵심 키워드의 방법론에 대해 GCN 레이어의 분산된(샤딩) 행렬 연산에 집중되어 설명하고 있습니다.
    • G개의 GPU를 각 x, y, z 축으로 나누어 3D 가상 그리드로 구성하여 해당 채널 방향에 따른 통신 프로세스 맞춤형 그룹으로 나눕니다. 위 그림에서는 2 x 2 x 2 형태로 8개의 GPU가 구성되어 있으며, 각 GPU는 격자 내에서 3차원 좌표를 가지면서 이를 기반으로 통신 그룹을 형성합니다.
    • 기본적으로 GCN의 레이어 L에서 입력 feature 행렬인 F과 sparse한 인접 행렬 A의 Sparse Matrix-Matrix Multiplication (SpMM)로부터 얻은 H 행렬에 대하여, 가중치 행렬 W과의 Dense MM (SGEMM) 연산으로 진행되는 것은 다들 잘 아시고 계실겁니다. 해당 SpMM 및 SGEMM 표기를 잘 기억해주세요.
    • 각 통신 그룹에 대하여, 첫번째 레이어에서 인접 행렬 A, 특징 행렬 FL0 , 그리고 가중치 행렬 W 각각에 대하여 독립적인 축 평면 및 여분 채널 축에 특정 크기로 샤딩(sharding)시킵니다. 샤딩된 A, F에 대하여 SpMM 연산 결과로 얻은 H와 샤딩된 W와의 SGEMM을 수행하여 FL1 을 얻습니다.
    • 다음 FL1은 활성화 함수를 거쳐 다음 레이어의 입력으로 사용됩니다.
  • 한눈에 볼 수 있는 포워드 & 백워드 알고리즘은 아래와 같습니다.
    • 여기에서 All-reduce는 분산된 데이터를 모아 모든 GPU에 동일한 값을 분배하는 통신 연산입니다. X 및 Y 축으로 해당 연산을 수행하여 각 GPU가 필요한 정보를 공유합니다.
  • Section 4에서는 Plexus는 최적의 3D 구성을 선택하기 위한 방법론을 설명합니다. SpMM 연산의 계산 시간 및 통신 시간을 예측하는 성능 모델을 포함하고 있습니다. 여기에서 계산 모델은 SpMM의 이론적인 FLOPs 뿐만 아니라 행렬 모양에 따른 SpMM의 비효율성을 반영하는 패널티항을 포함하고 있습니다.
  • Section 5에서는 성능 최적화를 위한 몇 가지 도입된 기법들을 설명합니다. 먼저 인접 행렬 A의 로드 불균형을 완화하기 위해 Double Permutation 기법을 사용합니다. 이를 통해 non-zero 원소의 분포를 효과적으로 균일화합니다.
    • 일반적인 GCN의 차수 행렬을 활용한 A의 정규화 항과 같은 개념으로 제안된 것으로 이해했습니다. 해당 식을 보면, 레이어에 따라 행 순열 (Pr) 및 열 순열 (Pc)의 순서를 다르게 적용하여 PAPT 형태의 행렬을 만들어 사용합니다.
  • 또한 SpMM 시간 변동성 문제를 완화하기 위해 Blocked Aggregation 기법을 적용합니다. 다음은 A를 작은 블록 행렬들로 나누어, 각 블록에 대해 순차적으로 SpMM 및 All-reduce 연산을 수행합니다.
    • 다음은 통신 오버헤드를 줄이면서, 특히 transposed 입력에 대한 SGEMM 연산의 효율성을 개선했다고 합니다.
    • 그로부터 대규모 데이터셋을 대상으로 Parallel Data Loading 유틸리티를 제공하여 CPU 메모리 사용량 및 로딩 시간을 크게 줄였습니다.

  • 실제로 다음 Plexus는 슈퍼컴퓨터에서 다양한 대규모 그래프 데이터셋을 사용하여 평가되었습니다. 그로부터 많은 수의 GPU에 대한 뛰어난 확장성 및 낮은 abs epoch 시간을 보였습니다.
    • Perlmutter 슈퍼컴에 대해 최대 1024 GPU, Frontier 슈퍼컴에 대해 최대 2046 GCDs까지 확장 가능함을 보이며, 현재까지 보고된 full-graph GNN training 규모 중 가장 큰 규모를 갖게 됩니다.
    • 또한 기존 방식 최대 12.5배 빠른 학습 속도 및 최대 54.2배 짧은 time-to-solution을 달성하였고, 3D 병렬성과 최적화를 통해 안정적인 확장성을 보였습니다.
  • 위 내용을 3줄로 요약하면 아래와 같습니다.
    • Plexus는 방대한 그래프의 메모리 및 계산 문제 해결을 위해 분산 전체 그래프 GNN 훈련을 위한 새로운 3D 병렬 프레임워크를 제안합니다.
    • 이 프레임워크는 3D 병렬 알고리즘, 로드 밸런싱을 위한 이중 순열, 그리고 최적의 훈련 구성을 예측하는 성능 모델을 특징으로 합니다.
    • Plexus는 최대 2048개의 GPU/GCD에서 수십억 에지 그래프로 확장 가능하며, 기존 최신 방법보다 크게 향상된 속도와 효율성을 보여줍니다.
  • 엄청난 규모의 대규모 그래프에 대해 pruning 또는 approximation 없이 효율적이고 실용적인 full-graph GNN training을 가능하게 한 점에서 그 기여도가 상당히 크다고 생각되며, 앞으로의 그래프 파운데이션 관련 프론티어 연구 결과로 많이 언급되지 않을까 생각해봅니다.

[Contact Info]

Gmail: jhbae1184@akane.waseda.jp

Twitter (X): @jhbae1184

LinkedIn

Read more

25년 8월 2주차 그래프 오마카세

Graph Tensor Networks: An Intuitive Framework for Designing Large-Scale Neural Learning Systems on Multiple Domain paper link : https://arxiv.org/abs/2303.13565 * 현재 토폴로지 신경망의 학습 메커니즘을 설계하는 과정에서 매우 중요한 텐서 연산에 대한 이해를 크게 도와준 논문 하나를 여러분들께 소개해드리려고 합니다. 그래프 구조를 활용하여 다양한 신경망의 텐서 연산

By admin

25년 8월 1주차 그래프 오마카세

A General Graph Spectral Wavelet Convolution via Chebyshev Order Decomposition paper link : https://arxiv.org/abs/2405.13806 official code : https://github.com/liun-online/WaveGC * 그래프 스펙트럼 컨볼루션은 그래프 신호처리 이론을 기반으로 그래프 필터링, 데이터 분석 등의 넓은 분야에서 활용되고 있습니다. 다음은 그래프 스펙트럼 변환을 위한 신호 기저 (고유벡터) 선택

By admin