← AI 용어집

AI 용어집 · 심화 · 효율·인프라

모델 병렬화 Tensor·Pipeline Parallelism

모델 병렬화는 GPU 한 장에 다 들어가지 않는 큰 모델을 여러 GPU에 쪼개 싣고 함께 계산하게 하는 방법이다. 층 안의 계산을 나누는 텐서 병렬화(TP)와 층을 순서대로 나누는 파이프라인 병렬화(PP)가 대표적이다.

용어 정보
난이도
심화 · 구조·원리까지 알아야 하는 전문 용어
추가
2026-10-12
쉽게 말하면 텐서 병렬화는 큰 벽화 하나를 여러 사람이 구역을 나눠 동시에 칠하는 것이고, 파이프라인 병렬화는 공장 조립 라인처럼 앞 공정을 마친 부품을 다음 사람에게 넘기는 것이다.

어떻게 작동하나

텐서 병렬화는 한 층 안의 큰 행렬 계산을 여러 GPU가 조각씩 나눠 맡고 결과를 합친다. 층마다 GPU끼리 결과를 주고받아야 해서 통신이 아주 잦다. 파이프라인 병렬화는 앞쪽 층들은 GPU 하나, 뒤쪽 층들은 다른 GPU에 두고 데이터를 차례로 넘긴다. 앞 GPU가 일하는 동안 뒤 GPU가 놀지 않도록 입력을 작은 묶음(마이크로배치)으로 쪼개 흘려보낸다. MoE 모델에서는 전문가(expert)들을 GPU마다 나눠 두는 전문가 병렬화도 쓴다.

텐서 병렬화 vs 파이프라인 병렬화

텐서 병렬화(TP)층 안의 계산을 나눔

  • 모든 GPU가 모든 층에 참여
  • 통신이 아주 잦음
  • 빠른 연결의 서버 한 대 안에 적합

파이프라인 병렬화(PP)층을 순서대로 나눔

  • GPU마다 맡은 층 묶음만 계산
  • 통신은 단계 경계에서만
  • GPU가 노는 버블이 생김

공통 둘 다 한 GPU에 안 들어가는 모델을 여러 GPU에 나눠 싣는 방법이다

무엇을 기준으로 모델을 쪼개느냐의 차이다. 큰 모델은 둘을 함께 쓰기도 한다.

어디서 보게 되나

가장 자주 만나는 곳은 추론 엔진 설정이다. vLLM 같은 엔진의 tensor-parallel-size, pipeline-parallel-size 옵션이 GPU 몇 장에 어떻게 쪼갤지 정한다. 학습 쪽에서는 Megatron-LM, DeepSpeed 같은 프레임워크 설정에 TP·PP라는 약어로 나온다. 큰 오픈웨이트 모델의 모델 카드나 서빙 안내에 'GPU 몇 장, TP 몇' 같은 권장 구성이 적혀 있기도 하다.

감 잡는 법

먼저 '파라미터 수 × 숫자 하나의 바이트 수 ≈ 가중치 메모리'로 계산한다. 예시로 700억(70B) 파라미터 모델을 BF16(숫자 하나에 2바이트)으로 올리면 가중치만 약 140GB라서 GPU 한 장에는 들어가지 않는다. 여기에 KV 캐시 자리까지 더해 GPU가 몇 장 필요한지 정한다. 흔한 원칙은 텐서 병렬화는 NVLink로 빠르게 이어진 서버 한 대 안에서, 파이프라인 병렬화는 서버 여러 대에 걸칠 때 쓰는 것이다.

알아 둘 점

쪼갤수록 GPU끼리 통신하는 비용이 생기므로, 모델이 한 장에 들어간다면 쪼개지 않는 편이 대개 효율적이다. 텐서 병렬화를 느린 네트워크로 이어진 서버들 사이에 걸면 통신을 기다리느라 오히려 느려질 수 있다. 파이프라인 병렬화는 단계 사이에 GPU가 노는 시간(버블)이 생기기 쉽다. 양자화로 모델을 줄여 필요한 GPU 수 자체를 줄이는 것이 더 싼 해답일 때도 많다.

예시

사내에서 70B급 오픈웨이트 모델을 서빙하려는 팀이 있다고 하자. BF16 기준 가중치만 약 140GB라서, 메모리 80GB GPU 4장이 NVLink로 이어진 서버 한 대(예시)를 고르고 vLLM을 tensor-parallel-size 4로 띄운다. GPU 2장만 쓸 수 있다면 4비트 양자화 버전으로 바꿔 메모리를 줄이는 방법을 함께 검토한다.

함께 보면 좋은 용어