Y. SHEN · L. CHEN (EDS.) GRAPH NEURAL NETWORK TRAINING — FROM DATA MANAGEMENT PERSPECTIVE SPRINGER · ML: FOUNDATIONS, METHODOLOGIES, AND APPLICATIONS · 2026

CHAPTER 3 — 전체 요약

확장 가능한 GNN 학습을 위한
데이터 전송 절감

Reducing Data Transfer for Scalable GNN Training — 특징 지향 샘플링(FOS)과 이중 캐시 시스템(DUCATI)

Xin ZhangHKUST
실세계 그래프는 수백만 노드와 수십억 간선을 가진 거대 규모라서, 확장성 확보를 위해 수많은 미니배치 GNN 학습 기법이 제안되어 왔다. 그러나 효율적·확장적 학습을 가로막는 두 개의 중대한 간극이 존재한다. 이 장은 기존 연구를 GNN 학습 스택에서의 위치 — 그래프 샘플링 알고리즘GNN 학습 시스템 — 로 나누어 구조적으로 리뷰하고, 각 층위의 결함을 분석한 뒤 해법으로 확장 가능한 샘플링 알고리즘 특징 지향 샘플링(FOS)과 효율적 학습 시스템 DUCATI를 제안한다.
2.2–7.9×

FOS-GNN이 4개 대규모 데이터셋의 귀납·전도 학습에서 기존 위상 지향(TOS) 방식과 동등한 정확도를 유지하며 달성한 수렴 가속 폭

FOS SAMPLER · §3.2 · TABLE 3.3 / 3.8
60–95%

엔드투엔드 GNN 학습 시간에서 미니배치 준비(Adj-Sampling + Nfeat-Selecting)가 차지하는 비중 — DUCATI가 겨냥하는 병목이며, 특정 설정에서 이 준비 시간을 최대 80%까지 절감

MINI-BATCH PREPARATION · §3.3.2
2.07× avg

DUCATI의 십억 규모 4개 그래프 반복시간 개선 폭(최대 3.33×, DGL 대비). 최신 단일 캐시 대비로는 평균 1.32×(최대 1.54×)

DUCATI · §3.3.3 · TABLE 3.11
3.1

배경

BACKGROUND

GNN의 본질은 그래프 위상 안에서 이루어지는 노드 특징의 재귀적 정보 집계와 신경 변환이다. 학습 샘플이 서로 독립인 전통 딥러닝과 달리 그래프 데이터셋의 샘플들은 학습 중 다른 샘플에 의존하며, 전통적 GNN[1]은 심지어 전체 데이터셋을 학습 중 GPU에 적재할 것을 요구한다.

문제는 실세계 그래프의 규모다. arXiv 논문 인용 그래프인 Ogbn-Papers100M[2]은 1억 1,100만 노드와 16억 간선을 담고 있으며, 인접 데이터와 노드 특징만 약 80 GB — 소비자급 GPU의 십수 GB 메모리를 훨씬 초과한다. 그 결과 미니배치 학습이 거대 그래프 GNN 학습의 사실상 표준이 되었다. 입력 그래프를 샘플링해 서브그래프를 얻고 대응하는 노드 특징을 선택한다 — 하부 자료구조 관점에서는 인접행렬에 대한 샘플링노드 특징 텐서에 대한 선택이며, 서브그래프와 특징이 하나의 미니배치가 되어 GPU로 전송된다.

효율적·확장적 GNN 학습의 핵심에는 두 구성요소가 있다. 그래프 샘플링 알고리즘은 실제 배치 크기와 내용을 결정하고 반복적 학습에서 정확도–확장성 트레이드오프를 조율한다. 학습 시스템 설계는 그래프 샘플링, 특징 수집, 모델 학습 단계가 CPU·PCIe·GPU 위에서 어떻게 실행되는지를 결정하며 하드웨어 활용을 극대화한다.

LAYER 1 — 샘플링 알고리즘

3대 주류 샘플링[3–8]

샘플링 피연산자와 출력에 따라 노드 단위(대상 노드의 이웃을 레이어별로 직접 샘플링), 레이어 단위(레이어마다 일정 기준으로 참여 노드 일부를 배제), 서브그래프 단위(랜덤 워크·파티셔닝 등으로 서브그래프 추출)로 분류된다. 이들 덕분에 GPU에는 전체 그래프 대신 샘플링된 이웃만 유지하면 되어 확장성이 극적으로 개선되지만, 방식마다 상이한 장단점이 존재한다.

LAYER 2 — 학습 시스템

전송량 절감 vs 대역폭 개선[9–15]

샘플링이 데이터량을 줄여도 CPU–GPU 또는 GPU 간 전송은 여전히 학습을 저해한다. 이에 (1) 전송량을 직접 줄이는 캐시 기반·신선도(staleness) 기반 방법과, (2) GPU가 CPU를 거치지 않고 주메모리·SSD에 세밀한 접근 요청을 직접 보내 대역폭 활용을 높이는 UVA 기반·GPUDirect 기반 방법이 제안되었다. PipeGCN[16]의 파이프라인 실행, GNNLab[11]의 분해(factored) 실행 같은 정교한 실행 전략도 있으며, 각각 적합한 설정과 강약점이 다르다.

3.2

특징 지향 샘플링 (FOS)

FEATURE-ORIENTED SAMPLING

3.2.1위상 지향 샘플링(TOS)의 결함

노드·레이어·서브그래프 단위 샘플링을 통칭해 위상 지향 샘플링(Topology-Oriented Sampling, TOS)이라 부른다. 그래프 데이터셋은 위상 컴포넌트(입력 그래프)와 특징 컴포넌트(정점 특징 — PyG[5]·DGL[17]에서 i번째 행이 정점 i의 특징 벡터인 큰 2차원 텐서)로 이루어지며, 미니배치도 훨씬 작은 규모로 같은 두 컴포넌트를 갖는다. TOS는 위상을 먼저 결정하고 특징을 나중에 생성한다 — 학습 노드의 L-hop 이웃(모델 깊이 L)을 샘플링해 위상을 만들고(SAGE 샘플러는 노드당 이웃 수 제한, SAINT 샘플러는 선택 노드로 서브그래프 유도), 포함된 정점 인덱스를 모아 특징 텐서에서 해당 행들을 추출·복사한 뒤 GPU로 이동한다. 이 방식에는 세 가지 두드러진 한계가 있다.

LIMITATION 1

불규칙 인덱스 → 무작위 접근

샘플링된 서브그래프의 정점 인덱스는 대개 매우 불규칙해서, 미니배치 준비 중 위상·특징 데이터에 대한 빈번한 무작위 접근이 발생한다. 이는 CPU에 무거운 I/O 부담을 지워 학습을 크게 늦춘다. Amazon에서 GraphSAINT를 돌리면 aten::index_select 연산자 하나가 213.66 ms(측정 구간 최대)로 지배적 병목이 된다(Table 3.1).

LIMITATION 2

깊이에 따른 지수적 배치 증가

모델 깊이가 커질수록 SAGE·전체 이웃(full neighbor) 샘플러의 미니배치가 지수적으로 커진다. 학습 노드 1,255,968개의 Amazon에서 L을 2→3으로 올리면 평균 샘플 노드 수가 SAGE는 54,385 → 132,213, 전체 이웃은 651,540 → 803,259로 증가한다.

LIMITATION 3

L-hop에 갇힌 특징 활용

샘플 노드가 학습 집합의 L-hop 이웃에 국한되어, 전도(transductive) 설정에서 전체 입력 노드의 특징을 활용하지 못한다. 이는 무시할 수 없는 정보 손실과 성능 저하로 이어진다. Ogbn-Papers100M에서 L = 1, 2, 3, 4일 때 커버리지 비율(L-hop 이웃 노드 수 / 전체 노드 수)은 각각 0.039, 0.107, 0.230, 0.362에 불과하다.

이 결함들은 자연스러운 질문으로 이어진다 — (1) 그래프 데이터에 대한 무작위 접근을 제거하고, (2) 미니배치의 지수적 증가를 막고, (3) 샘플링 시 가용한 모든 입력 특징을 활용할 수 있는가? FOS 샘플러가 그 긍정적 답이다. FOS는 순서를 뒤집는다 — 특징 컴포넌트를 먼저 고정하고 위상을 나중에 유도한다.

TOS — 위상 우선 (FIG 3.1) ① 서브그래프 샘플링 불규칙 인덱스 {3, 27, 51…} ② 흩어진 행을 무작위 접근으로 수집 index_select → 연속 버퍼 복사 → 전송 FOS — 특징 우선 (FIG 3.2) ① 연속 부분 텐서 블록 선택 인덱스 [i, i+b) — 본질적으로 연속 ② 노드 유도(node-induced) 서브그래프 구성 연속 ID → 위상 데이터도 연속 저장 구간 TOS의 결과 · 특징·위상 모두 무작위 접근 → CPU I/O 병목 · 배치 크기가 모델 깊이에 지수적으로 결합 · 샘플 후보가 L-hop 이웃에 국한 FOS의 결과 · 특징 무작위 접근 완전 제거, 위상도 대부분 완화 · 샘플링이 모델 깊이와 분리 — 배치 크기 독립 · 전체 입력 노드가 균일한 샘플링 후보

⟨Fig 3.1–3.2⟩ 위상 지향 샘플링(TOS)과 특징 지향 샘플링(FOS)의 미니배치 구성 순서 비교. FOS는 특징 텐서의 연속 블록을 먼저 고정하고 그 인덱스로 노드 유도 서브그래프를 만든다.

각 미니배치의 특징 컴포넌트가 연속 저장되므로 노드 특징에 대한 무작위 접근이 완전히 사라진다. 노드 식별자가 연속이므로 위상 데이터(통상 연속 저장) 접근도 대부분 완화된다. 나아가 샘플링 과정이 모델 깊이와 분리(decouple)되어 미니배치 크기가 GNN 레이어 수에 독립적이며, 모든 입력 노드가 잠재적 샘플링 후보가 되어 전체 특징을 균일하게 활용한다.

3.2.2FOS 기반 GNN의 설계

FOS 샘플러는 귀납·전도 학습 시나리오 모두에서 광범위한 GNN 아키텍처와 호환된다. 핵심 원리는 연속 인덱스 구간을 점유하는 노드들로 메시지 패싱 서브그래프를 구성하는 것이며, 표준 GNN에 통합할 때의 주된 수정은 미니배치 구성 전략의 교체뿐이다.

Vanilla FOS-SAINT — 귀납(inductive) 학습

귀납 설정에서는 검증·테스트 정점이 학습에 관여하지 않으므로, 학습 정점이 유도하는 서브그래프를 𝒢(𝒱, ℰ, 𝒳)로 두고 사전에 주메모리에 적재한다(Algorithm 1). 데이터셋 구성에서 오는 잠재적 편향을 없애기 위해 학습 전 노드 수준 무작위 순열을 적용하고 특징 행렬도 일관되게 재배열한다. 매 반복에서 무작위 시작 인덱스 i를 고르고 구간 [i, i + b)의 연속 특징 블록과 노드 유도 서브그래프로 미니배치를 만들어 정규화와 함께 GCN을 학습한다. 반복이 진행되며 그래프의 서로 다른 부분 정보가 점진적으로 통합되어 전체 그래프에 대해 잘 학습된 모델로 수렴한다.

이 샘플링은 간선이 개별 미니배치에 포함될 확률을 비균일하게 만들어 편향을 유발할 수 있으므로, GraphSAINT에서 영감을 얻은 정규화를 채택한다. 레이어 간 비선형 활성 때문에 편향의 직접 분석이 어려워 활성 함수 이전의 집계 연산에 초점을 둔다[3, 19]. 정규화 인접행렬을 Ã = D−1A라 할 때, 샘플 서브그래프에서 계산한 집계 표현 φv가 전체 그래프 집계 ϕv비편향 추정량이 되도록 집계 정규화 계수 αu,v를 도입한다.

φv(ℓ+1) = Σu∈𝒱 Ãv,uαu,v W(ℓ)⊤ xu(ℓ) 𝟙u|v,   𝔼[φv(ℓ+1)] = ϕv(ℓ+1) ⇒ αu,v = 1/in_degree(v)EQ 3.1–3.2

여기서 𝟙u|v ∈ {0, 1}은 간선 (u, v)의 샘플 포함 여부 지시 변수다. 무작위 순열 덕분에 매 반복의 샘플 정점을 전체 정점 집합에서의 균일 추출로 볼 수 있어 αu,v = 𝔼[𝟙u|v] = p(u|v) = 1/in_degree(v)가 직접 유도된다. 미니배치 손실이 전체 그래프 손실의 비편향 추정량이 되도록 손실 정규화 계수 λv도 도입하며, 𝔼(Lbatch) = Lfull 조건에서 λv = pv · N = b가 된다. 두 정규화 계수는 데이터셋과 하이퍼파라미터만 정해지면 곧바로 결정된다. FOS-SAGE는 미니배치 구성은 동일하되 모델을 GraphSAGE로 바꾸고 정규화를 적용하지 않는다.

Vanilla FOS-GCN — 전도(transductive) 학습

전도 설정에서는 검증·테스트 노드의 특징을 학습에 활용할 수 있으므로, 학습 노드 유도 서브그래프가 아닌 전체 그래프 위에서 샘플링한다(Algorithm 2). 레이블은 학습 노드에만 있으므로 순전파 후 미니배치 내 학습 노드를 식별해 이들만으로 손실과 그래디언트를 계산한다. 학습 전 전체 그래프를 무작위 순열해 학습 노드가 정점 전반에 균일 분포하도록 하며, 학습 집합 비율과 배치 크기가 충분히 크면 모든 미니배치가 학습 노드를 포함한다.

분해(Decomposition) 확장 — 수용 영역 문제의 해소

Vanilla FOS-GNN은 좋은 성능을 내지만 제한된 수용 영역(receptive field) 문제가 남는다. 미니배치가 연속 인덱스 구간에서 만들어지므로 정점 i의 잠재적 이웃은 [ib + 1, i + b)로 제한되고, 샘플 서브그래프의 모든 간선은 |uv| < b를 만족해야 한다 — |uv| ≥ b인 간선은 결코 샘플되지 않아 정보 전파가 제약된다.

이에 원래 구간 [i, i + b)를 독립적·무작위로 선택된 d개의 부분 구간 [i1, i1 + b/d), …, [id, id + b/d)로 분해하고 그 합집합으로 서브그래프를 유도한다. 예컨대 b = 6000, d = 2에서 10000번째 노드 n̂의 수용 영역을 보면 — 분해 없이는 이웃이 [4001, 16000)에 갇히지만, 두 부분 구간을 쓰면 n̂이 첫 구간에 속할 때 i2가 임의 값을 가질 수 있어 이웃이 학습 그래프의 임의 노드가 된다. 배치 크기를 늘리지 않고 모든 노드의 수용 영역이 전체 그래프로 확장되며, 두 끝점이 서로 다른 부분 구간에서 올 수 있으므로 |uv| 제약도 사라져 그래프의 모든 간선이 샘플 가능해진다. 이후 별도 언급이 없으면 FOS-GNN은 분해 확장을 기본 탑재한 모델을 가리킨다.

핵심 하이퍼파라미터 설정 지침 — bd

배치 크기 b는 샘플 서브그래프의 평균 차수를 결정한다. 무작위 순열 덕분에 미니배치의 b개 정점을 비복원 균일 추출로 볼 수 있고, 정보 흐름을 위해 평균 차수가 1 이상이어야 한다는 최소 요건에서 하한이 유도된다(실무에서는 노드당 1개 초과 이웃을 보장).

|ℰs| = ·|ℰ|,  avg. deg(𝒢s) = |ℰ|·b ≥ 1  ⇒  bmin = |ℰ|EQ 3.3–3.4

상한 bmax는 GPU 메모리 예산으로 정해진다 — 미니배치의 정점 수와 계산 비용이 반복 간 거의 동일해 메모리 사용이 안정적이므로 소수의 시험 실행으로 식별 가능하며, 과도한 배치가 학습에 불리한 일반적 현상까지 고려해 그리드 서치로 정제한다. 분해 수 d는 미니배치 내 정점 선택의 무작위성을 제어한다 — d ≥ 2면 임의 노드 쌍이 동일 배치에 등장 가능해 완전 수용 영역 요건이 충족되고, 4개 데이터셋 사례 연구(Fig 3.3)에서 d ≥ 8이면 정확도가 대체로 안정되어 선택에 둔감하다. 반면 d가 크면 전송의 지배 성분인 특징 블록이 잘게 쪼개져 DMA 성능이 급락한다 — 현대 프레임워크(DGL, PyG)의 DMA 엔진은 큰 연속 블록에 최적화되어 있으며, PCIe 3.0×16 최대 대역폭의 90%를 얻으려면 블록이 최소 256 KB여야 한다[20]. DMA 최소 블록 크기를 B, 정점 특징 벡터 크기를 k라 하면 상한이 유도된다.

dmax = b · kBEQ 3.5

Reddit 예시: 귀납 설정의 학습 그래프는 153,431 정점·52,284,760 간선으로 bmin = 153431²/52284760 = 450.2 → 제약은 b ≥ 451뿐이다(시험 실행 결과 bmax > 100,000으로 메모리 상한 비구속). PCIe 3.0×16에서 90% 이상 활용을 목표하면 B = 256 KB이고, 정점당 602개 float32 특징 = 2,408바이트이므로 d1max = (2408/262144)·b, 최종 탐색 범위는 [2, min(d1max, 8)]이다.

이론 분석

PROPOSITION 3.1 — 메모리 I/O 절감

FOS 샘플러는 TOS 대비 노드 특징 메모리 I/O를 (2X + 1)/d 줄인다(X: 배치 크기, d: 분해 수). TOS는 index selection으로 흩어진 항목을 모아 연속 버퍼에 쓰고 DMA가 그 버퍼를 읽어 총 2X + 1회의 I/O가 발생하는 반면, FOS는 특징 텐서의 베이스 주소·오프셋으로 d개 연속 블록에 직접 접근해 DMA 읽기 d회로 끝난다.

PROPOSITION 3.2 — 입력 특징 활용

전도 설정에서 FOS 샘플러는 TOS 대비 |𝒢| / |𝒢T,L|배 많은 노드 특징을 활용한다(𝒢: 입력 그래프, T: 학습 집합, 𝒢T,L: TL-hop 이웃). TOS의 미니배치는 정의상 𝒢T,L에서 생성되므로 활용 가능한 특징이 |𝒢T,L|로 제한되는 반면, FOS는 모든 입력 노드가 후보다.

추가로 귀납 설정에서 FOS는 모든 입력 특징에 비편향 접근을 제공한다 — ViFOS = 1/|T|. 반면 전체 이웃 샘플러는 ViFull ∝ deg(i), SAGE 샘플러는 이웃 균일 샘플링에서 유도되는 차수 의존 확률, 랜덤 워크 샘플러는 ViRW = deg(i)/2m으로 모두 고차수 노드에 편향된다. Ogbn-Products 귀납 설정에서 상위 10% 고차수 노드가 전체 노드 접근에서 차지하는 비중은 네 샘플러(FOS/Full/SAGE/RW)에서 각각 10.0% / 18.4% / 25.1% / 22.8%다.

3.2.3실험

4개 대규모 공개 데이터셋에서 지도학습 설정으로 평가한다 — Reddit(게시물 커뮤니티 예측), Yelp(비즈니스 카테고리), Ogbn-Products(공동구매 네트워크 상품 분류)[2], Amazon(리뷰·상호작용 기반 상품 분류). 공정 비교를 위해 모든 베이스라인은 DGL 공식 예제 구현을 사용하고, FOS-GNN 세 변형은 오픈소스로 공개했다. 하이퍼파라미터는 은닉 차원 {128, 256, 512}, 드롭아웃 {0.0–0.3}, 학습률 {0.1–0.0001} 그리드 서치(GraphSAGE: mean aggregator, fanout 10·25; GraphSAINT: 랜덤 워크 샘플러), 옵티마이저 Adam[21], 지표 F1-micro, GCN 레이어 수 2로 고정한다. 실험 장비는 Intel Xeon Gold 6240(2.60 GHz), RTX 2080 Ti(11 GB, PCIe 3.0×16), DDR4 256 GB이며 DGL 0.7.1 + PyTorch 1.8.0(CUDA 10.2)을 사용한다.

데이터셋노드간선평균 차수특징 차원클래스Train/Val/Test
Reddit232,965115M49760241 (단일)0.66/0.10/0.24
Yelp716,84714M19300100 (다중)0.75/0.10/0.15
Ogbn-Products2,449,029124M5010047 (단일)0.08/0.02/0.90
Amazon1,598,960264M168200107 (다중)0.85/0.05/0.10

⟨Table 3.2⟩ 데이터셋 통계. 클래스 열의 단일/다중은 단일 레이블·다중 레이블 분류를 뜻한다.

귀납 설정 — 정확도·속도 비교

방법RedditYelpOgbn-ProductsAmazon
F1-micro시간(s)F1-micro시간(s)F1-micro시간(s)F1-micro시간(s)
GraphSAGE0.960±.001270.8 (7.9×)0.624±.002213.8 (5.1×)0.754±.002104.6 (3.0×)0.755±.001573.4 (2.2×)
FOS-SAGE0.959±.00134.10.636±.00142.20.749±.00534.90.763±.001262.6
GraphSAINT0.966±.001204.3 (2.8×)0.653±.002473.7 (2.6×)0.787±.001318.7 (2.7×)0.814±.0011447.1 (3.5×)
FOS-SAINT0.967±.00172.90.652±.001183.50.795±.003117.30.814±.002413.2

⟨Table 3.3⟩ 귀납 설정의 F1-micro와 수렴 시간(학습 + 전처리) 비교. 괄호는 FOS 대비 배수.

모든 데이터셋에서 FOS 변형은 대응 베이스라인과 동등한 정확도를 유지하며 학습을 크게 가속했다. 속도 향상의 원천을 규명한 4개 사례 연구의 결과는 다음과 같다.

CASE 1 · 프로파일링

무작위 접근 제거의 효과

Table 3.1과 동일 설정에서 FOS-SAINT를 프로파일링하면(Table 3.4) aten::index_select의 벽시계 시간이 214 ms → 39 ms로 감소한다. 0이 되지 않는 이유는 미니배치 인접행렬 구성 시 여전히 호출되기 때문이다.

CASE 2 · 전처리

전처리·학습 시간 동시 절감

GraphSAINT는 정규화 계수 추정에 무거운 계산이 들지만 FOS-SAINT는 최소 오버헤드로 계산한다(Table 3.5 — 전처리 최대 5.5×, 학습 최대 3.8× 절감). 전처리는 하이퍼파라미터가 고정될 때만 일회성 비용이며, 실제로는 전처리 관련 하이퍼파라미터(루트 수, 워크 길이)가 정확도에 큰 영향을 미치므로 긴 전처리는 튜닝을 심각하게 복잡화한다.

CASE 3 · 자원 활용

CPU 경합 완화, GPU 활용 향상

무작위 특징 접근의 집약적 CPU I/O는 GPU를 굶겨(starve) 처리량을 제한한다. FOS-SAINT는 이 병목을 제거해 CPU 사용률을 373–1044%에서 100%로 낮추고 GPU 활용률을 최대 46% → 85%(Yelp)까지 끌어올린다(Table 3.7).

CASE 4 · 확장성

깊이에 강건한 배치 크기

SAGE·전체 이웃 샘플러의 배치는 깊이에 지수적으로 커지지만 FOS의 배치는 모델 성능에 간접적으로만 영향받는다. 배치 크기를 10,000–50,000(간격 5,000)으로 그리드 서치한 결과 비교적 작은 배치로 최적 성능에 도달하며, 깊이 증가에 따른 평균 배치 크기가 SAGE보다 일관되게 작고 느리게 증가한다(Fig 3.5). 특징 지향 샘플링의 이점은 규모가 크고 조밀한 그래프(Reddit, Amazon)에서 더 두드러진다.

전도 설정 — 정확도·속도 비교

방법 (Ogbn-Products)F1-micro수렴 시간(s)특징 활용
GCN (전체 이웃 샘플러)0.747 ± 0.0081322.2 (4.5×)94% · 차수 편향 분포
FOS-GCN0.793 ± 0.003290.6100% · 균일 접근

⟨Table 3.8⟩ 전도 설정 비교. FOS 샘플러는 전체 노드 특징을 균일 확률로 활용해 정확도까지 개선한다 — 전체 이웃 샘플러는 학습 노드 L-hop 이웃으로 정보 사용이 제한된다.

3.3

이중 캐시 학습 (DUCATI)

DUAL-CACHE TRAINING

3.3.1단일 캐시 시스템의 결함

미니배치 준비 시간은 미니배치 GNN 학습의 최대 성능 병목이다. 이를 줄이기 위한 연구는 크게 두 갈래다. UVA 계열[12, 13]은 불규칙한 그래프 구조의 접근·조작을 간소화하고 PCIe 대역폭 활용을 높여, 대규모 구조를 호스트 메모리에 두면서도 GPU에서 효율적인 Adj-Sampling·Nfeat-Selecting을 지원한다 — 그러나 그래프 데이터셋 고유의 지역성을 간과해 자주 쓰이는 데이터를 반복 이동시키는 회피 가능한 오버헤드를 낳는다. 캐시 계열[9, 11, 12, 14]은 그래프 워크로드의 지역성과 통상 놀고 있는 GPU 메모리를 활용한다 — GraphSAGE × Ogbn-Papers100M에서 전체 특징 조회의 약 95%가 가장 뜨거운 2 GB 특징에 몰리고, 학습 내내 GPU 메모리의 최대 90%가 유휴일 수 있다[9]. 이에 가장 빈번히 접근되는 특징을 유휴 GPU 메모리에 저장(Nfeat-Cache)해 CPU–GPU 전송을 줄인다. 노드 특징 캐시만 유지하는 이 부류를 단일 캐시(Single-Cache) 시스템이라 부른다.

단일 캐시 전략은 두 가지 암묵적 가정에 기댄다 — (1) Nfeat-Selecting이 항상 Adj-Sampling보다 오래 걸리고, (2) Nfeat-Cache가 가용 GPU 메모리를 모두 효과적으로 활용한다. 실제로는 어느 쪽도 보장되지 않는다.

FINDING 1

인접행렬 접근에도 지역성이 있다

인접행렬 접근은 노드 특징과 유사한 지역성 패턴을 따른다. GraphSAGE × Ogbn-Papers100M에서 전체 12.9 GB 인접행렬 중 0.7 GB가 전체 인접 조회의 98% 이상을 담당한다.

FINDING 2

Adj-Sampling이 지배할 수도 있다

Adj-Sampling과 Nfeat-Selecting의 실행시간 비율은 설정(데이터셋 + fanout)에 따라 0.39–2.17의 넓은 범위를 오간다(Fig 3.7). 암달의 법칙에 따라, Nfeat-Selecting만 최적화하는 단일 캐시의 이득은 Adj-Sampling이 지배하는 시나리오에서 근본적으로 제한된다.

FINDING 3

Nfeat-Cache의 수확 체감

실세계 그래프의 멱법칙(power-law) 분포 탓에 소수 특징만 자주 접근되어, 캐시가 약 2.5 GB를 넘으면 개선이 미미하다(Fig 3.8). 실제로 6 GB의 유휴 GPU 메모리 중 Nfeat-Cache가 점유한 것은 2.5 GB뿐 — 수 GB가 낭비된다.

Nfeat-Cache가 잔여 GPU 메모리를 다 쓰지 못하고, 비용이 큰 Adj-Sampling도 지역성 있는 접근 패턴을 보이는 이상, 기존 Nfeat-Cache에 Adj-Cache를 짝지우는 것이 실용적이며 유리하다. 이것이 DUCATI — 다양한 워크로드를 유연하게 처리하고 GPU 메모리를 더 효율적으로 쓰는 이중 캐시(Dual-Cache) 학습 시스템 — 의 출발점이다. 다만 두 과제가 따른다. 첫째, Adj-Cache를 어떻게 설계하는가 — 노드 특징은 길이가 균일하지만 인접 항목은 크기가 제각각이고, 특징 접근은 조밀한 반면 인접 접근은 세밀한 연산과 얽혀 분산적이므로 Nfeat-Cache 방법론이 그대로 통하지 않는다. 둘째, GPU 메모리를 두 캐시에 어떻게 공동 배분하는가 — 두 캐시는 같은 메모리를 두고 경쟁하며, 워크로드 비율이 설정마다 달라 적응적 최적 배분이 필요하다.

시스템Adj (구조)Nfeat (특징)DCA
(이중 캐시 할당기)
CacheUVACacheUVA
PyTorch-Direct[13]
PaGraph[9] / GNNLab[11]
Quiver[12]
DGL[17]
SOTA (합성 베이스라인)
DUCATI

⟨Table 3.9⟩ DUCATI와 최근 시스템의 기법 비교. DUCATI만이 구조·특징 양쪽에 캐시 + UVA 폴백을 결합하고 워크로드 인지형 이중 캐시 할당기(DCA)를 갖춘다.

3.3.2두 캐시의 설계와 DUCATI 프레임워크

DUCATI는 초대형 그래프 미니배치 학습을 위한 워크로드 인지형 캐시 중심 시스템이다. 주어진 설정에서 Adj-Sampling과 Nfeat-Selecting 중 어느 쪽이 미니배치 생성 시간을 지배하는지 식별해 해당 캐시에 더 많은 메모리를 배정한다 — 유휴 GPU 메모리의 최적 분배를 동적으로 결정해 학습 처리량을 극대화한다. 미니배치 준비가 전체 실행시간의 60–95%를 차지하므로 DUCATI는 모델 학습 국면이 아닌 미니배치 준비 파이프라인 내부의 이중 캐시 설계라는 결정적 과제에 집중하며, PA(15,10,5 + 256) 설정에서 준비 시간을 최대 80% 절감한다.

① INPUT INSPECTOR 항목별 접근 빈도 측정 + 워크로드 프로파일링 (오프라인) ② DUAL-CACHE ALLOCATOR 이득 예측 모델 F(e) = slope·h(e) 분할 가능 배낭 문제 → 최적 분배 ③ CACHE CONSTRUCTOR Adj-Cache + Nfeat-Cache 구축 재정렬 + CSC 프리픽스 슬라이스 ④ TRAINER DGL 호환 API sample / load HOST · PINNED MEMORY 인접행렬 (CSC 전체) 노드 특징 텐서 전체 캐시 미스 시 GPU 커널이 UVA로 호스트 데이터를 직접 세밀 접근 CACHE HIT → GPU 메모리 CACHE MISS → UVA 폴백 GPU · 유휴 메모리 = 캐시 예산 B ADJ-CACHE (B_adj) 고빈도 인접 리스트 히트 판정 = j < L 산술 비교 NFEAT-CACHE (B_nfeat) 고빈도 특징 텐서 주소 조회 테이블 Adj-Sampling · Nfeat-Selecting 모두 GPU 커널로 실행 순전파·역전파·가중치 갱신은 DGL이 무수정 처리 기존 접근과의 차이: UVA 계열은 캐시가 없고, 캐시 계열은 Nfeat-Cache만 두며 Adj-Sampling을 CPU에서 수행한다 — DUCATI는 캐싱과 UVA를 결합한다 (Fig 3.10)

⟨Fig 3.9–3.10⟩ DUCATI 개요. Input Inspector가 입력에서 핵심 정보를 추출하면, Dual-Cache Allocator가 현재 워크로드에서 처리량을 최대화하는 메모리 분배를 결정하고, Cache Constructor가 두 캐시를 구축한 뒤 미니배치 학습이 진행된다.

Input Inspector — 오프라인 샘플 실행 기반 정보 추출

두 종류의 정보를 추출한다. 첫째, 접근 빈도 정보 — 모든 항목의 접근 빈도를 추적해 실제 접근 확률을 추정한다. 선행 연구[11]에 따르면 1~2 에폭의 샘플링만으로 정확한 추정이 가능하다. 둘째, 워크로드 프로파일링 정보 — 무작위 항목으로 채운 다양한 크기의 Adj-Cache·Nfeat-Cache 변형을 만들어 대응 실행시간을 측정, (캐시 항목, 실행시간) 데이터 포인트 집합을 얻는다.

Dual-Cache Allocator — 이득 예측과 배낭 최적화

할당기의 목표는 각 항목의 캐싱이 얼마나 유리한지(총 실행시간 감소 기대치)를 평가해 최대 이득의 항목들을 고르는 것이다. 단일 캐시에서는 모든 항목이 동일한 형태·접근 양상을 가져 비교가 쉽지만, 이중 캐시에서는 항목이 이질적이다 — 인접 리스트는 가변 길이에 세밀·분산 접근이고, 노드 특징은 균일 크기에 배치당 1회 회수된다. PCIe 특성(버전·레인 수·링크 활용) 같은 하드웨어 요인과 데이터셋·설정에 따른 동적 워크로드까지 겹쳐, GNN 실행 의미론과 그래프 속성만으로 깔끔한 해석적 정식화를 도출하기 어렵다.

해법은 프로파일링으로 학습하는 이득 예측 모델이다. 핵심 경험적 관찰(Fig 3.11)은 두 가지 — (1) 각 워크로드의 실행시간이 해당 캐시의 히트율에 거의 완벽한 (역)선형 의존을 보이고(PCIe 연결 시스템에서 전송시간이 이동 데이터량에 비례하기 때문[23]), (2) 그 기울기(slope)는 태스크·데이터셋마다 다르다는 것이다. 같은 유형 안에서는 항목의 개별 히트(individual hit)로, 유형 간에는 기울기를 결합해 통일된 이득 척도를 만든다.

F(ei) = slope(type(ei)) · h(ei),   h(ei) = f (ei)Σj∈type(ei) f (ej)DEF 3.1 · EQ 3.6

접근 빈도 f는 Input Inspector가 직접 제공하고, 기울기는 프로파일링 결과를 (캐시 히트, 실행시간) 쌍으로 변환해 선형 회귀로 추출한다 — 히트가 선형으로 늘면 전송량이 선형으로 줄어드는 캐시 동작과 자연스럽게 정합하므로 다항식 등 복잡한 모델 대신 선형 모델을 채택한다. 이 모델은 본질적으로 워크로드 인지형이다 — 입력이 변해 워크로드가 이동하면 개별 히트 분포도 변해, F가 항상 현재 접근 패턴을 반영한다.

총 캐시 예산 B(초기 몇 배치의 피크 GPU 메모리 모니터링으로 추정) 아래에서, 2N개 항목(N개 인접 리스트 + N개 노드 특징)에 대한 이득 F(ei)와 비용 S(ei)(크기)로 할당 문제가 정의된다.

maximize Σi=12N F(ei)xi   s.t.  Σi=12N S(ei)xi ≤ B,  xi ∈ [0, 1]DEF 3.2 · EQ 3.7
ALGORITHM 3 + PROPOSITION 3.3 — 최적 할당

이 문제는 고전 배낭 문제의 분할 가능(divisible) 변형이다. Algorithm 3은 모든 항목을 이득 밀도 F(ei)/S(ei)의 내림차순으로 정렬해 예산이 허용하는 한 순서대로 캐싱하고, 마지막 항목은 부분 캐싱한다. 복잡도는 정렬에 기인한 O(N log N)이며, 각 반복 단계에서 동일 비용의 어떤 선택보다 이득이 작지 않음을 귀납적으로 보여 최적해임이 증명된다(Prop 3.3). 실행 비용은 학습 과정에 상각된다.

Cache Constructor — 두 캐시의 구조

ADJ-CACHE

재정렬 + CSC 프리픽스 슬라이스

인접 리스트는 길이가 가변적이고(별도 관리 구조 필요 소지), Adj-Sampling의 접근이 세밀한 CUDA 커널 연산과 얽혀 있어 캐시 조회가 극도로 가벼워야 한다. 해법은 그래프 재정렬과 짝지은 CSC식 레이아웃 — 캐싱 대상 k개 리스트가 인접 시퀀스의 맨 앞에 오도록 재정렬한 뒤, col_index[0:k+1]·row_index[0:col_index[k]]·values[0:col_index[k]] 프리픽스를 잘라 세 개의 캐시 배열을 만든다(마지막 항목의 부분 캐싱 지원). 예컨대 Fig 2.2의 그래프에서 노드 0·1의 리스트를 캐싱하면 col_index_cached = [0,1,3], row_index_cached = [2,2,4], values_cached = [1,1,1]이다.

원본·캐시 CSC 배열을 모두 샘플링 커널에 넘기면, 원본 배열의 j번째 원소 요청은 j < L(캐시 배열 길이)이면 히트 — 조회가 단순 산술 비교 하나로 끝나고 보조 조회 구조가 전혀 필요 없다. 히트 시 GPU 메모리에서, 미스 시 호스트 CSC에서 UVA로 회수한다.

NFEAT-CACHE

연속 GPU 텐서 + 조회 테이블

선행 연구[9, 11]와 동일한 설계를 채택한다. 캐싱 대상 특징들을 하나의 연속 GPU 텐서로 패킹하고, 모든 노드 특징의 GPU 측 주소 정보를 기록한 조회 테이블을 함께 유지한다. Nfeat-Selecting에서 요청 특징을 테이블에서 확인해 히트면 저장된 주소로 GPU 메모리에서 직접 회수하고, 미스면 UVA로 호스트 메모리에서 가져온다 — 고빈도 특징의 고속 접근과 비캐시 특징의 정확성을 함께 보장한다.

Trainer: DUCATI는 DGL 프로그래밍 인터페이스에 경량 수정만 가한다. 캐시 구축 후 sample·load 두 API를 노출하며(sample은 DGL과 동일 동작), 학습 파이프라인의 나머지 — 순전파·역전파·가중치 갱신 — 는 DGL이 무수정으로 처리한다.

3.3.3실험

DUCATI는 DGL v0.8 + PyTorch v1.9 위에 구현되었고(Python 1.6k줄 + CUDA/C++ 422줄) 소스가 GitHub에 공개되어 있다. 실험 장비는 FOS와 동일(RTX 2080 Ti 11 GB, PCIe 3.0×16, DDR4 256 GB, Xeon Gold 6240)이다. 평가는 인접행렬과 노드 특징이 모두 단일 GPU 메모리를 초과하는 가장 까다로운 미니배치 시나리오에서 수행한다 — 인접행렬이 GPU에 들어간다고 가정하는 선행 연구[11, 24]보다 현실적이고 포괄적인 설정이다.

데이터셋유형노드간선특징 차원인접행렬 크기특징 크기
PA (Ogbn-Papers100M)인용 그래프 (OGB)111M1.6B128/25612.9 GB54/108 GB
UK (UK-2006-05)웹 그래프77.7M3.0B128/25611.3 GB38/75 GB
TW (Twitter)소셜 그래프41.7M1.5B128/25622.7 GB20/40 GB
UU (UK-Union)웹 그래프134M5.5B128/25642.0 GB65/130 GB
PR (Ogbn-Products)공동구매 (풀배치 비교용)2.4M124M1000.94 GB0.91 GB
RD (Reddit)소셜 (풀배치 비교용)232K114M6020.86 GB0.13 GB

⟨Table 3.10⟩ 데이터셋 통계. 특징은 float32, 인접행렬은 CSC의 int64. 원 특징이 없는 UK/UU/TW는 관행에 따라 무작위 특징(128·256차원)을 생성했고, 공식 분할이 없는 데이터셋은 정점의 1%를 학습에 사용(차수 정규화 비례 샘플링).

모델은 DGL 3-레이어 GraphSAGE(은닉 16), 배치 8000이며, Adj-Sampling 워크로드를 좌우하는 fanout {(2,2,2), (15,10,5)} × Nfeat-Selecting을 좌우하는 특징 차원 {128, 256}의 4개 설정으로 적응성을 검증한다. 베이스라인은 5개 부류 — CPU 기반 PyG, UVA만 지원하는 DGL v0.8, 단일 캐시 PaGraph(CPU 샘플링으로 현저히 느림)·GNNLab(인접행렬의 GPU 상주를 요구해 Table 3.10의 어떤 데이터셋도 처리 불가), UVA + 단일 캐시의 Quiver와 합성 시스템 SOTA(DUCATI와 동일 코드베이스에 UVA 기반 Adj-Sampling/Nfeat-Selecting + GNNLab식 Nfeat-Cache를 결합한 가장 강력한 단일 캐시), 그리고 DUCATI다. 총 캐시 크기는 초기 배치들의 피크 GPU 메모리를 모니터링해 잔여 메모리로 동적 결정하며, DUCATI와 SOTA는 항상 동일 예산을 받는다. 1000 배치의 평균 반복시간을 보고한다.

전체 학습 시간 평가 (Table 3.11)

데이터셋 × 설정 (fanout + dim)DGL (ms)SOTA (ms)DUCATI (ms)
PA · 2,2,2 + 128 / 15,10,5 + 25616.05 (1.51×) / 71.79 (3.33×)13.40 (1.26×) / 31.16 (1.44×)10.65 / 21.59
UK · 2,2,2 + 128 / 15,10,5 + 25618.54 (1.60×) / 99.61 (2.15×)15.58 (1.34×) / 61.56 (1.33×)11.62 / 46.37
TW · 2,2,2 + 128 / 15,10,5 + 25617.81 (1.29×) / 119.89 (3.00×)15.63 (1.13×) / 53.43 (1.33×)13.85 / 40.03
UU · 2,2,2 + 128 / 15,10,5 + 25618.47 (1.55×) / 100.00 (2.04×)15.95 (1.34×) / 66.95 (1.36×)11.90 / 49.11
평균 속도 향상 (16개 설정 전체)2.07×1.32×1.00× 기준

⟨Table 3.11 요약⟩ 반복시간(각 데이터셋 4개 설정 중 최소·최대 워크로드 표기; 전체 16개 설정의 원표는 원문 참조). 괄호는 DUCATI 대비 배수.

vs DGL — 고빈도 그래프 데이터를 GPU 메모리에 직접 유지하는 이점이 드러난다. fanout·특징 차원이 작으면 UVA 반복 전송의 부담이 덜해 이득이 완만하지만, 커질수록 DGL은 집약적 데이터 이동으로 크게 저하되는 반면 SOTA·DUCATI의 캐싱이 병목을 완화한다. vs SOTA — 동일한 총 캐시 메모리에서도 DUCATI가 더 높은 처리량을 낸다. Nfeat-Cache 단독으로는 잔여 GPU 메모리를 다 쓰지 못하는 반면, DUCATI의 Adj-Cache가 그 잉여를 계산 부담이 큰 Adj-Sampling 가속에 활용하기 때문이다. 워크로드 확장성 — 입력 규모(fanout·차원)가 커질수록 DUCATI의 상대 우위가 대체로 더 커진다. 즉 워크로드가 성장해도 반복시간이 베이스라인보다 느리게 증가한다.

반복시간 분해·할당기·전처리 평가

BREAKDOWN · FIG 3.13

이득의 출처는 준비 단계

반복시간은 Adj-Sampling, Nfeat-Selecting, Model(순전파·역전파·갱신) 세 성분으로 나뉜다. 동일 설정에서 세 시스템이 동일 미니배치를 생성하므로 Model 비용은 불변 — 차이는 온전히 준비 두 단계에서 나온다. Adj-Sampling은 Adj-Cache 덕분에 SOTA·DGL 대비 크게 빨라지고, Nfeat-Selecting은 Nfeat-Cache가 약간 작아졌음에도 수확 체감 효과로 SOTA와 거의 동일한 효율을 유지한다 — 할당기가 두 캐시에 가장 유익한 항목만 담도록 공간을 의도적으로 분할하기 때문이다.

ALLOCATOR · FIG 3.14

할당기의 선택은 최적 영역에 있다

주어진 총예산에서 가능한 모든 캐시 분할 계획을 열거(0.2 GB 간격)하고 성능을 히트맵으로 측정한 사례 연구에서, 할당기의 선택은 일관되게 최적 영역에 위치한다(특징 텐서가 구조보다 훨씬 커서 예산 다수를 Nfeat-Cache에 배정 — 선택 지점이 히트맵 좌측에 나타남). 전체 예산을 Nfeat-Cache에 몰아주는 단일 캐시 방식(가장 왼쪽)은 일관되게 준최적이다. 최적점 주변이 매끄러워(PA에서 근접 계획 간 차이 < 0.1 ms) 고품질 해를 쉽게 찾으며, 예산을 0.2/0.4 GB로 극단 제한해도 DUCATI 33.39/26.09 ms vs SOTA 40.90/36.72 ms로 여전히 우세하다.

PREPROCESSING · TABLE 3.12

전처리 비용은 상각된다

(15,10,5 + 128) 설정에서 전처리(Inspector + Allocator + Constructor)는 PA 105.2 s / UK 81.0 s / TW 78.3 s / UU 153.2 s, 에폭 시간은 2.77 / 2.68 / 1.24 / 4.88 s — 모든 데이터셋에서 100 에폭 미만 분량이다. 초대형 그래프의 수렴에는 통상 수백~수천 에폭이 필요하고, 리더보드 관행처럼 작은 배치·큰 은닉폭을 쓰면(PA에서 (4000, 512) → 에폭 9 s, (1000, 1024) → 23 s vs 전처리 101/103 s) 에폭 시간만 커져 전처리 비중은 더 미미해진다.

미니배치·풀배치 시스템과의 교차 비교

시스템 (PA · 노드 분류 · 3-레이어 GraphSAGE)정확도에폭 시간(s)
DUCATI0.670 ± 0.00328.9 ± 0.5
SOTA0.671 ± 0.00134.8 ± 0.3
Quiver[12]0.665 ± 0.00258.0 ± 3.1
MariusGNN[22]0.651 ± 0.00292.3 ± 12.4

⟨Table 3.13⟩ 배치 1000, 은닉 256, fanout (10,10,10), 역방향 간선 추가, 3회 실행(각 20 에폭)의 평균±신뢰구간.

MariusGNN은 CPU 메모리 캐싱과 온디스크 배치를 강조하는 디스크 지향 시스템이라 GPU 캐싱을 활용하지 않아 CPU–GPU 전송 오버헤드로 크게 느려지고, 샘플링 오버헤드를 줄이려 표준 이웃 샘플링을 변형한 탓에 무작위성이 약화되어 정확도도 낮다. 대신 결정적 장점이 있다 — CPU 메모리 한계를 넘는 확장이 가능해, 최대 사양 AWS P3 노드(호스트 488 GB, 로컬 16 TB)에서 DUCATI가 처리할 수 없는 1조 간선·8.5 TB의 Facebook15 그래프[30]를 처리한다. SOTA·Quiver는 메모리 기반에 GPU 캐싱을 쓰지만 인접 구조의 지역성을 활용하지 못하고 Nfeat-Cache 수확 체감에 묶여 속도에서 뒤진다. 표준 이웃 샘플링을 쓰는 SOTA·Quiver·DUCATI의 정확도는 서로 비슷하다.

시스템 (GCN)수렴 시간(s)정확도GPU 수
PRRDPRRD
DUCATI (미니배치)173.7 ± 2.395.1 ± 1.20.913 ± .0000.931 ± .0011
Sancus[10] (풀배치 분산)691.6 ± 1.4142.6 ± 0.20.912 ± .0000.935 ± .0008
DGL(SF)[17] (풀배치 단일)OOM30.0 ± 0.9OOM0.938 ± .0011

⟨Table 3.14⟩ 풀배치 시스템 비교(공정성을 위해 에폭 시간이 아닌 수렴 시간 보고; PR/RD에서 Sancus 설정 준수, DUCATI는 fanout (15,15,15)·배치 1000·30 에폭).

십억 규모 4개 그래프에서 Sancus(8-GPU)와 DGL(SF)(1-GPU)는 모두 GPU OOM으로 실패하는 반면, DUCATI·MariusGNN·Quiver는 2080 Ti 한 장으로 문제없이 학습한다 — 풀배치 파이프라인은 전체 그래프와 은닉 표현을 GPU 메모리에 상주시켜야 하기 때문이다. Sancus는 다중 GPU 분산으로 확장성을 높이지만 비싼 GPU 간 통신 탓에 처리량 유지를 위해 신선도 저하(staleness)를 도입하며, 이것이 눈에 띄는 정확도 하락으로 이어진다. 반대로 미니배치 시스템들은 이웃 샘플링으로 정확도를 확장성과 의도적으로 교환한다 — 샘플링이 이웃 정보 일부를 제거해 RD에서 DUCATI의 정확도가 Sancus보다 낮은 이유이자, 샘플된 미니배치만 GPU에 상주하면 되어 메모리 사용이 극적으로 줄어드는 이유다.

3.4

결론

CONCLUSION

이 장은 대규모 그래프 GNN 학습의 확장성과 효율을 높이는 두 축을 제안했다. 특징 지향 샘플링(FOS)은 전통적 위상 지향 샘플링의 확장성을 저해하는 세 가지 근본 문제(무작위 접근, 깊이 결합 배치 증가, L-hop 제한 특징 활용)를 효과적으로 해소하며, 세 대표 아키텍처(GCN, GraphSAGE, GAT)에 적용해 4개 실세계 데이터셋(Reddit, Yelp, Ogbn-Products, Amazon)에서 전통 TOS 대비 동등 정확도로 2.2~7.9배의 학습 가속을 입증했다. DUCATI는 기존 시스템의 세 가지 핵심 결함 — 인접 지역성의 미활용, 가용 GPU 메모리의 저활용, 워크로드 간 낮은 적응성 — 을 Adj-Cache와 워크로드 인지형 Dual-Cache Allocator로 해결하며, 십억 규모 4개 데이터셋(Ogbn-Papers100M, UK-2006-05, Twitter, UK-Union)에서 DGL 대비 최대 3.33×(평균 2.07×), 최신 단일 캐시 대비 최대 1.54×(평균 1.32×)의 학습 시간 단축을 달성했다. 4개 선도 시스템과의 정확도–시간 트레이드오프 벤치마크는, 전체 학습 메모리 풋프린트가 GPU 용량은 초과하되 CPU 한계 내에 머무는 경우 DUCATI가 미니배치 GNN 학습의 가장 효과적인 해법임을 보여준다.

REF

참고문헌

CHAPTER 3 · 30 REFERENCES

  1. [1] Kipf & Welling. 2017. Semi-Supervised Classification with Graph Convolutional Networks (GCN). ICLR.
  2. [2] Hu et al. 2020. Open Graph Benchmark: Datasets for machine learning on graphs. NeurIPS 33.
  3. [3] Zeng et al. 2020. GraphSAINT: Graph sampling based inductive learning method. ICLR.
  4. [4] Zou et al. 2019. Layer-dependent importance sampling for training deep and large GCNs (LADIES). NeurIPS.
  5. [5] Fey & Lenssen. 2019. Fast graph representation learning with PyTorch Geometric. ICLR Workshop.
  6. [6] Ying et al. 2018. Graph convolutional neural networks for web-scale recommender systems (PinSage). KDD.
  7. [7] Chiang et al. 2019. Cluster-GCN: An efficient algorithm for training deep and large GCNs. KDD.
  8. [8] Hamilton et al. 2017. Inductive representation learning on large graphs (GraphSAGE). NeurIPS 30.
  9. [9] Lin et al. 2020. PaGraph: Scaling GNN training on large graphs via computation-aware caching. SoCC.
  10. [10] Peng et al. 2022. SANCUS: Staleness-Aware Communication-Avoiding Full-Graph Decentralized Training in Large-Scale GNNs. VLDB 15(9).
  11. [11] Yang et al. 2022. GNNLab: A factored system for sample-based GNN training over GPUs. EuroSys.
  12. [12] Tan et al. 2023. Quiver: Supporting GPUs for Low-Latency, High-Throughput GNN Serving with Workload Awareness. arXiv:2305.10863.
  13. [13] Min et al. 2021. Large graph convolutional network training with GPU-oriented data communication architecture (PyTorch-Direct). PVLDB 14(11).
  14. [14] Dong et al. 2021. Global Neighbor Sampling for Mixed CPU-GPU Training on Giant Graphs. KDD.
  15. [15] Qiu et al. 2018. DeepInf: Social influence prediction with deep learning. KDD.
  16. [16] Wan et al. 2022. PipeGCN: Efficient full-graph training of GCNs with pipelined feature communication. ICLR.
  17. [17] Wang et al. 2019. Deep Graph Library: A graph-centric, highly-performant package for GNNs. arXiv:1909.01315.
  18. [18] Paszke et al. 2017. Automatic differentiation in PyTorch.
  19. [19] Chen et al. 2018. FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling. ICLR.
  20. [20] Pearson et al. 2019. Evaluating characteristics of CUDA communication primitives on high-bandwidth interconnects. ICPE.
  21. [21] Kingma & Ba. 2015. Adam: A method for stochastic optimization. ICLR.
  22. [22] Waleffe et al. 2023. MariusGNN: Resource-Efficient Out-of-Core Training of Graph Neural Networks. EuroSys.
  23. [23] Li et al. 2020. Evaluating modern GPU interconnect: PCIe, NVLink, NV-SLI, NVSwitch and GPUDirect. IEEE TPDS 31(1).
  24. [24] Jangda et al. 2021. Accelerating graph sampling for graph machine learning using GPUs (NextDoor). EuroSys.
  25. [25] Boldi & Vigna. 2004. The WebGraph framework I: compression techniques. WWW.
  26. [26] Kwak et al. 2010. What is Twitter, a social network or a news media? WWW.
  27. [27] Chen et al. 2017. Stochastic training of graph convolutional networks with variance reduction (VR-GCN). ICML.
  28. [28] Gandhi & Iyer. 2021. P3: Distributed deep graph learning at scale. OSDI.
  29. [29] Wang et al. 2021. GNNAdvisor: An adaptive and efficient runtime system for GNN acceleration on GPUs. OSDI.
  30. [30] Ching et al. 2015. One trillion edges: Graph processing at Facebook-scale (Facebook15). PVLDB 8(12).