회로 그래프용 초고속·저메모리 딥 GNN 프레임워크 GSR‑GNN

본 논문은 회로 설계 그래프에 딥 GNN을 적용했을 때 얕은 모델보다 성능이 크게 향상된다는 사실을 확인하고, 기존 RevGNN의 메모리·시간 병목을 극복하기 위해 그룹‑스파스·리버시블 구조인 GSR‑GNN을 제안한다. 그룹‑스파스 연산으로 임베딩을 압축하고, 리버시블 잔차 블록으로 중간 활성값 저장을 없애며, 파이프라인 최적화를 통해 GPU 메모리 사용량을 87 % 절감하고 학습 속도를 30배 이상 가속한다.

저자: Yuebo Luo, Shiyang Li, Yifei Feng

회로 그래프용 초고속·저메모리 딥 GNN 프레임워크 GSR‑GNN
본 논문은 회로 설계 그래프에 딥 GNN을 적용했을 때 얕은 모델보다 현저히 높은 예측 정확도를 달성한다는 실증적 근거를 제시한다. 그러나 기존의 RevGNN과 같은 리버시블 구조는 메모리 사용량을 이론적으로는 O(N·D)로 낮추었음에도 불구하고, 실제 구현에서는 레이어당 입력을 그룹으로 나누어 create‑then‑destroy 방식으로 관리하면서 메모리 할당·해제 오버헤드와 cudaMemcpy 비용이 크게 증가한다. 특히 70층을 넘어가면 역전파 단계에서 메모리 재구성 비용이 전체 학습 시간의 70 % 이상을 차지해 실용성이 떨어진다. 이를 해결하기 위해 저자들은 GSR‑GNN(Group‑Sparse‑Reversible GNN)이라는 새로운 프레임워크를 설계했다. GSR‑GNN은 세 가지 핵심 요소로 구성된다. 첫째, 그룹‑스파스 연산(GS)으로 각 노드 임베딩에서 상위 k 개의 값과 인덱스를 추출해 저장한다. 이 과정은 기존 ReLU와 달리 값이 0인 부분을 완전히 생략함으로써 전방·후방 모두에서 연산량을 O(k)로 감소시킨다. 둘째, 리버시블 잔차 블록을 그대로 사용하면서, 역전파 시 저장된 (값, 인덱스) 쌍을 이용해 입력을 재구성한다. 따라서 전체 임베딩을 복원할 필요가 없으며, 메모리 재할당 없이 바로 그래디언트를 스캐터링한다. 셋째, 파이프라인 차원에서 메모리 버퍼를 연속적으로 관리하고, 사전 할당된 메모리 풀을 활용해 시스템 콜을 최소화한다. 이 설계는 메모리 파편화와 캐시 미스를 크게 억제한다. 수학적으로는 레이어 l의 입력 Xₗ∈ℝ^{N×D}를 C개의 그룹으로 분할하고, 각 그룹에 대해 GSₖ(Xₗ)→(Vₗ, Iₗ) 를 수행한다. 전방에서는 Vₗ와 Iₗ를 이용해 희소 행렬 연산으로 Yₗ₊₁을 계산하고, 역전파에서는 동일한 Iₗ를 사용해 ∂L/∂Xₗ를 재구성한다. 전체 복잡도는 O(L·N·k)이며, 메모리 사용량은 O(N·k·C) 수준이다. 실험은 CircuitNet 데이터셋의 10 370개 회로 그래프를 대상으로 수행되었다. 100층, 384 차원 모델을 기준으로 GSR‑GNN은 피크 메모리를 17910 MB에서 2310 MB 이하(≈87 % 절감)로 낮추고, 250 epoch 학습 시간을 5.10 시간에서 0.15 시간 이하(≈30배 가속)로 단축했다. Pearson, Spearman, Kendall, R²와 같은 상관계수는 모두 0.01 이하의 손실만 보였으며, 특히 70층까지는 RevGNN보다 약간 높은 정확도를 기록했다. Ablation 연구에서는 k값을 8, 16, 32로 변화시켰을 때 메모리 절감 비율과 속도 향상이 비선형적으로 증가하지만, k가 너무 작으면 성능 저하가 발생한다는 트레이드오프를 확인했다. 또한 그룹 수 C를 늘리면 메모리 파편화가 감소하지만 역전파 단계의 연산량이 약간 증가하는 현상도 관찰되었다. 결론적으로 GSR‑GNN은 회로 그래프와 같이 비정형·대규모 데이터를 다루는 전자설계자동화(EDA) 분야에서 깊은 GNN을 실용화할 수 있는 핵심 기술이다. 메모리 효율성과 학습 속도가 크게 개선되어, 기존 GPU 한 대에서도 수백 개의 레이어를 손쉽게 학습할 수 있다. 이는 회로 혼잡 예측, 디자인 룰 체크, 타이밍 추정 등 다양한 downstream 작업에 바로 적용 가능하며, 향후 더 큰 규모의 회로 설계에도 확장성을 제공한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기