AI 모델 개발: 구조/방법 – GShard
ㅁ 구조/방법
1. GShard
ㅇ 정의:
대규모 신경망 학습을 위해 Google이 개발한 분산 학습 프레임워크로, 혼합전문가(MoE) 구조를 효율적으로 구현하여 수천억 개 이상의 파라미터를 다루는 모델 학습을 가능하게 함.
ㅇ 특징:
– 모델 파라미터를 여러 장비에 샤딩(sharding)하여 메모리 한계를 극복
– 전문가 네트워크 중 일부만 활성화하여 계산 효율성 향상
– TPU Pod와 같은 대규모 분산 환경에 최적화
– 자동 라우팅 메커니즘을 통해 입력별로 전문가를 선택
ㅇ 적합한 경우:
– 초대규모 언어 모델, 기계 번역, 멀티모달 학습 등 파라미터 수가 방대하고 데이터셋 규모가 큰 경우
– 분산 인프라를 활용할 수 있는 환경
ㅇ 시험 함정:
– 모든 전문가가 동시에 활성화되는 구조가 아님 → 일부만 활성화
– GShard는 하드웨어 종류와 무관하다고 착각하기 쉬움 → TPU 최적화가 핵심
– 샤딩은 데이터 샤딩이 아니라 파라미터 샤딩 중심
ㅇ 시험 대비 “패턴 보기” 예시:
O: GShard는 파라미터를 여러 장비에 분산 저장하여 메모리 한계를 극복한다.
X: GShard는 모든 전문가를 동시에 활성화하여 병렬 처리 속도를 높인다.
O: GShard는 TPU Pod 환경에서 대규모 MoE 모델 학습을 지원한다.
X: GShard는 CPU 기반 단일 서버 환경에서만 동작한다.
ㅁ 추가 학습 내용
GShard는 Switch Transformer와 같은 MoE(Mixture of Experts) 변형 모델 구현에도 사용되며, 데이터 병렬화와 모델 병렬화를 혼합하여 성능을 최적화한다.
라우팅 방식으로는 Top-1 gating과 Top-2 gating이 있으며, 부하 균형(load balancing)을 위한 기법이 함께 사용된다.
통신 오버헤드를 줄이기 위해 All-to-All 통신 최적화 기법이 적용된다.
TPU 환경뿐만 아니라 GPU 환경에서도 적용 가능하지만, GPU에서는 하드웨어 특성상 성능과 효율성에 제한이 있을 수 있다.
Megatron-LM, DeepSpeed와 비교했을 때 GShard는 대규모 MoE 모델 지원과 라우팅·부하 균형 최적화에 강점이 있으며, 다른 프레임워크와는 병렬화 방식과 통신 최적화 전략에서 차이가 있다.