토폴로지 인식 병렬화
topology-aware parallelization
AI 칩들이 실제로 어떻게 연결돼 있는지를 고려해 대규모 모델 학습 작업을 효율적으로 나누는 방법
쉽게 말하면
토폴로지 인식 병렬화란, 거대한 AI 모델을 학습시킬 때 수백 수천 개의 칩에 작업을 나눠 맡기면서, 그 칩들이 서로 얼마나 가깝게 혹은 멀게 연결돼 있는지를 미리 살펴보고 일을 배분하는 전략이다.
큰 공장에서 부품을 조립할 때를 떠올려보자. 컨베이어 벨트로 바로 이어진 작업대끼리는 서로 자주 부품을 주고받아도 문제없지만, 건물 반대편에 있는 작업대와는 자주 왔다갔다 하면 시간이 낭비된다. AI 칩도 마찬가지다. 서로 케이블로 촘촘히 연결된 칩끼리는 정보를 자주 주고받아도 빠르지만, 멀리 떨어진 칩끼리 정보를 자주 주고받으면 속도가 크게 느려진다. 토폴로지 인식 병렬화는 이런 연결 구조(토폴로지)를 미리 파악해서, 자주 대화해야 하는 작업은 가까운 칩들끼리 묶고 덜 대화해도 되는 작업은 먼 칩들에 나눠 맡기는 방식이다.
특히 파라미터 수가 아주 많은 모델, 그중에서도 여러 개의 작은 전문가 모델이 모여 하나처럼 작동하는 구조(이 개념은 전문가 혼합 항목 참고)를 학습시킬 때 이런 배치 전략이 성능에 큰 영향을 준다. 칩 수가 늘어날수록 연결 구조를 잘못 고려하면 통신 지연이 눈덩이처럼 커지기 때문이다.
