Model parallelism모델 병렬 처리
Model Parallelism
쉽게 이해하기
대형 언어 모델처럼 파라미터가 수십억 개를 넘기 시작하면, 한 장의 GPU 메모리에 모델 전체가 들어가지 않는 문제가 생깁니다. 배치 크기를 줄이는 데이터 병렬만으로는 해결이 안 되고, 결국 모델 자체를 쪼개야 합니다. 이때 쓰는 방식이 바로 모델 병렬 처리입니다.
비유하자면, 무거운 짐 하나를 한 사람이 들 수 없을 때 여러 사람이 구간을 나눠 바통처럼 전달하는 릴레이입니다. 각 사람이 맡은 구간을 빠르게 끝내고 다음 사람에게 넘기듯, 각 GPU는 모델의 일부만 계산하고 중간 결과를 다음 GPU로 전달합니다. 이렇게 하면 한 사람이 드는 하중(=GPU당 메모리)이 줄어듭니다.
구체적으로는 두 가지 흐름이 대표적입니다. 계층 단위로 모델 블록을 나눠 순차로 흘리는 방식(파이프라인 병렬)과, 한 층의 큰 행렬 연산을 다수 GPU로 쪼개 동시 계산하는 방식(텐서 병렬)입니다. 활성화와 가중치 조각이 GPU 사이를 오가므로, 최종 성능은 GPU 간 링크의 대역폭과 지연에 크게 의존합니다.
비유와 예시
- 사내 LLM 8B를 4GPU에 분할 배포: 32개 층을 8개씩 나눠 각 GPU에 올리고, 요청이 GPU1→GPU2→GPU3→GPU4 순으로 흘러가며 추론합니다. 포인트 투 포인트로 활성화를 넘기기 때문에 링크 품질이 응답 시간에 영향을 줍니다.
- 10B+ 파라미터 모델 훈련: FP16 기준 대략 10억 단위를 넘기면 단일 GPU 메모리가 빠듯해집니다. 모델 병렬을 적용해 파라미터와 활성화를 분할하여 훈련을 지속합니다.
- MoE(전문가) 모델의 전문가 병렬: 여러 전문가가 서로 다른 GPU에 있고, 토큰은 활성 전문가로 라우팅됩니다. 처리 후 원래 순서를 재조립해야 해 GPU 간 통신이 많아집니다.
한눈에 비교
| 모델 병렬 | 데이터 병렬 | 파이프라인 병렬 | |
|---|---|---|---|
| 핵심 아이디어 | 모델을 분할 | 모델을 복제 | 계층을 구간화 |
| 메모리 효과 | GPU당 파라미터 감소 | 변화 없음 | GPU당 일부만 보유 |
| 통신 패턴 | 활성화/그라드 교환 | 그라드 집계 | 구간 경계 활성화 전달 |
| 활용 시점 | 단일 GPU에 안 맞을 때 | 더 많은 데이터로 학습 | 모델 크고 유휴시간 줄일 때 |
모델 병렬은 메모리 한계를 넘을 때 선택하고, 유휴 시간을 줄이려면 파이프라인 병렬을 조합하며, 데이터 병렬은 성능 확장에 유리하지만 메모리 문제는 해결하지 못한다.
어디서 왜 중요한가
- 단일 GPU 용량을 초과하는 LLM 훈련·서빙: 모델 일부만 각 GPU에 올려 실행 경로를 이어붙이며 배포 가능 범위를 넓혔다.
- 네트워크 대역폭·토폴로지 의존성 부각: GPU 간 통신이 잦아지며 링크 속도가 지연과 처리량을 좌우하는 실무 제약이 되었다.
- 혼합 병렬 전략의 표준화: 텐서·파이프라인·시퀀스·전문가 병렬을 조합해 LLM 성능을 끌어올리는 설계가 확산됐다.
- 추론 데이터 플레인 최적화의 중요성 증가: 가중치·텐서·KV 캐시 이동과 모델 로드 시간이 병목이 되며, 전용 가속·스트리밍이 관리 포인트가 됐다.
- 관측과 검증 루프의 상시화: 배포 후 지연/처리량/오류율을 지속 모니터링하고 벤치마크 드리프트를 점검하는 운영 관행이 자리잡았다.
자주 하는 오해
- ❌ 오해: 모델 병렬만 쓰면 항상 더 빠르다 → ✅ 실제: 메모리는 절약하지만 GPU 간 통신으로 지연이 늘 수 있어, 네트워크가 느리면 성능이 악화된다.
- ❌ 오해: 데이터 병렬과는 대체 관계다 → ✅ 실제: 서로 보완적이며, 메모리 한계는 모델 병렬로, 처리량 확장은 데이터 병렬로 함께 쓴다.
- ❌ 오해: 한 가지 방식만 선택하면 된다 → ✅ 실제: 텐서·파이프라인·전문가·시퀀스 병렬을 워크로드에 맞게 혼합해야 효율이 나온다.
대화에서는 이렇게
- "현재 8B 모델을 4-way 파이프라인 병렬로 쪼개면 VRAM은 맞는데 latency가 올라갑니다. 링크 튜닝이 필요해요."
- "텐서 병렬 2-way를 섞으면 한 층의 matmul이 빨라지지만 통신 오버헤드가 커집니다. 벤치로 비교해보죠."
- "MoE는 전문가 병렬이라 토큰 라우팅 후 재조립 비용이 커요. 배치가 커질수록 네트워크가 관건입니다."
- "추론 쪽 병목이 KV 캐시 이동이라, 모델 스트리밍이랑 모델 로드 시간을 같이 줄여야 합니다."
- "모니터링 대시보드에 처리량/지연/에러율을 분리해서 봅시다. 혼합 병렬 조합 바꿀 때 드리프트 체크 필수예요."
함께 읽으면 좋은 용어
참고 자료
- Parallelisms Guide — Megatron Bridge
모델·텐서·파이프라인·전문가 병렬 개요와 설정
- NVIDIA Inference Reference Architecture
추론 스택과 모델 데이터 플레인 병목 지점
- Model Deployment and Orchestration
배포·관측·확장 관점의 운영 체크포인트
- What is Inference Parallelism and How it Works
GPU 분할 시나리오와 통신 병목 설명
- The Complete Guide to Multi-GPU Training
모델 vs 파이프라인 병렬의 차이와 트레이드오프