핵심 요약
단일 GPU 메모리 한계를 극복하고 학습 속도를 높이기 위해서는 데이터, 텐서, 파이프라인 병렬화 전략을 하드웨어 특성에 맞춰 적절히 조합해야 합니다. 특히 통신 병목 현상을 줄이기 위한 Collective Operations의 이해와 하드웨어 토폴로지 최적화가 핵심입니다.
배경
Stanford 대학교의 CS336 'Language Modeling from Scratch' 과정의 일곱 번째 강의로, 모델 규모가 커짐에 따라 필수적인 분산 학습 기술을 다룹니다.
대상 독자
대규모 모델 학습을 위한 인프라 최적화와 분산 시스템 구현에 관심 있는 AI 엔지니어 및 연구자
의미 / 영향
이 강의는 단순한 라이브러리 사용법을 넘어 분산 학습의 로우 레벨 통신 원리를 명확히 제시한다. 엔지니어는 이를 통해 모델 규모와 가용 하드웨어 자원에 최적화된 하이브리드 병렬 처리 전략을 설계할 수 있는 능력을 갖추게 된다. 특히 통신 병목을 수치적으로 계산하고 최적화하는 방법론은 실제 대규모 클러스터 운영 비용 절감으로 이어진다.
챕터별 상세
병렬 처리의 필요성과 계층 구조
HBM(High Bandwidth Memory)은 GPU 내부의 고속 메모리이며, NVLink는 GPU 간의 고속 연결 인터페이스이다.
Collective Operations: 분산 프로그래밍의 기초
Rank는 각 GPU 장치의 고유 식별 번호이며, World Size는 전체 참여 장치의 개수를 의미한다.
하드웨어 토폴로지와 통신 대역폭
RDMA는 네트워크를 통해 한 컴퓨터의 메모리에서 다른 컴퓨터의 메모리로 CPU 개입 없이 데이터를 직접 전송하는 기술이다.
데이터 병렬 처리 (Data Parallelism)
DDP(Distributed Data Parallel)는 PyTorch에서 제공하는 대표적인 데이터 병렬 처리 라이브러리이다.
텐서 병렬 처리 (Tensor Parallelism)
Megatron-LM 아키텍처에서 제안된 방식이 현대 LLM 학습의 표준 텐서 병렬화 기법으로 쓰인다.
파이프라인 병렬 처리 (Pipeline Parallelism)
파이프라인 버블은 앞 단계의 연산이 끝나기를 기다리는 대기 시간을 의미한다.
실무 Takeaway
- 모델 파라미터가 GPU 메모리를 초과할 때는 Tensor Parallelism을, 학습 속도를 높이고 싶을 때는 Data Parallelism을 우선적으로 고려해야 한다.
- All-reduce 연산은 Reduce-scatter와 All-gather의 조합으로 분해될 수 있으며, 이를 통해 ZeRO나 FSDP 같은 메모리 효율적 최적화가 가능해진다.
- 통신 오버헤드를 줄이기 위해 연산(Computation)과 통신(Communication)을 오버랩(Overlap)시키는 비동기 처리가 대규모 분산 학습의 성능을 좌우한다.
- 하드웨어 인터커넥트 성능에 따라 병렬화 전략이 달라져야 하며, NVLink 도메인 내에서는 텐서 병렬화가, 노드 간에는 데이터 또는 파이프라인 병렬화가 유리하다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.