- 최근 다양한 도메인(소셜 네트워크, 생명과학 등)에서 사용되는 그래프의 크기는 급격하게 증가하고 있습니다. 하지만, 그래프를 처리하는 GPU 메모리(VRAM) 용량은 그래프의 크기의 증가에 비해 많이 증가하지 않았습니다. 그렇기 때문에 그래프를 여러 개의 작은 그래프로 파티셔닝하는 것과 이를 병렬적으로 처리하는 것은 최근 그래프 처리 연구에 있어 매우 중요합니다.
대규모 그래프 데이터 분산 처리를 위한 그래프 파티셔닝 기법 개발

- 최근 Social Network, Protein Network 등 다양한 도메인에서 그래프가 사용되고 있으며 각 도메인의 기술이 발달함에 따라 그래프의 크기는 빠르게 증가하고 있습니다. 이러한 그래프는 전통적으로 단일 머신에서 처리하도록 설계되어 왔으나, 점점 커지는 그래프를 단일 머신의 메모리 안에 다 적재하기에는 물리적인 한계가 있습니다. 그렇기 때문에, 대규모 그래프를 처리하기 위해 그래프 파티셔닝이 중요한 기술로 떠오르고 있습니다.
- 그래프 파티셔닝은 큰 그래프를 다수의 작은 그래프로 분할하는 과정으로 나누어진 서브그래프간의 연결정도(Edge-cut의 개수)와 각 서브그래프 크기의 Balance를 지표로 하는 파티셔닝의 품질(Quality)와 파티셔닝 기법의 실행 시간(Execution Time)을 바탕으로 품질이 높고 빠른 기법을 설계하고자 하는 것이 핵심 목표입니다.
Mini-batch 기반 대규모 그래프 데이터 병렬 처리 기법 개발

- 딥러닝 기반의 그래프 신경망(GNN: Graph Neural Network)은 전체 그래프를 한 번에 학습하는 full-batch 방식에서 벗어나, 메모리 효율성과 확장성을 고려한 mini-batch 학습 방식으로 발전해 왔습니다. 이는 GPU 메모리에 모두 적재하기 어려운 대규모 그래프를 처리하기 위한 핵심 기법입니다. 구체적으로, mini-batch 학습에서는 전체 그래프에서 일부 노드만을 샘플링하여 이웃 노드 정보를 함께 가져와 학습을 진행합니다. 이 때 이웃 노드 샘플링, 피처 압축, 메모리 정렬 등의 다양한 최적화가 성능에 큰 영향을 미칩니다.
- 본 프로젝트는 이러한 mini-batch 학습 기법을 GPU 환경에 최적화하여, 메모리 사용량 최소화, 데이터 로딩 지연 완화, 계산 효율 극대화를 달성하는 것을 목표로 합니다.
무엇을 배울 수 있나요?
- 대규모 그래프를 처리하기 위한 그래프 파티셔닝 기법과 GPU 환경에서 분산 병렬 처리 방법에 대해 학습할 수 있습니다.
- 기술적 논의, 시스템 설계, 실험 프로토콜, 결과 해석 및 논문 작성 등 연구 전반에 참여합니다.
다음과 같은 학생을 선호합니다.
- 인턴십 기간 동안 프로젝트에 전념할 수 있는 학생.
- 머신러닝 및 딥러닝, 운영체제 기초가 탄탄한 학생.