WIKI
NVLink
NVLink
GPU 간 고속 연결이 모델 추론과 메모리 운용에 어떤 영향을 주는가.
Scope
핵심 질문
NVLink는 GPU 간 통신을 어떻게 빠르게 하며, LLM 추론에서 언제 실제 성능 차이를 만드는가?
포함 범위
- GPU interconnect
- PCIe와의 개념적 차이
- peer-to-peer 전송
- Tensor Parallelism과의 관계
- VRAM 통합에 대한 오해
제외 범위
- 세대별 정확한 링크 대역폭 표
- 특정 GPU 구매 추천
Research
핵심 근거
- NVLink는 NVIDIA가 제공하는 GPU 간 고속 interconnect 기술이다.
- 여러 GPU가 연결돼도 각 GPU의 VRAM은 기본적으로 독립적이며 소프트웨어가 분산 메모리를 관리한다.
- Tensor Parallelism처럼 매 레이어에서 collective communication이 발생하는 워크로드는 interconnect 성능의 영향을 크게 받는다.
- 단순 layer split은 통신 패턴이 달라 NVLink의 이득이 workload에 따라 달라진다.
참고 자료
- NVIDIA NVLink documentation: https://docs.nvidia.com/
- Megatron-LM: https://arxiv.org/abs/1909.08053
Draft
NVLink는 NVIDIA GPU 사이에 데이터를 빠르게 전달하기 위한 고속 interconnect 기술이다.
여러 GPU를 이용하는 LLM 추론에서는 모델을 어떻게 나누느냐에 따라 GPU 간 데이터 이동이 자주 발생한다. 이때 PCIe보다 빠른 GPU 간 연결은 통신 병목을 줄일 수 있다.
NVLink가 VRAM을 하나로 합치는가
사용자 입장에서 가장 흔한 오해다.
NVLink로 두 GPU를 연결해도 일반적으로 두 GPU가 자동으로 하나의 거대한 VRAM 공간이 되는 것은 아니다. 각 GPU는 여전히 자신의 로컬 메모리를 가지고 있다.
모델 병렬 런타임이 각 GPU에 가중치와 KV Cache를 나누고 필요할 때 데이터를 전송한다.
따라서 24GB GPU 두 장이 있다고 해서 모든 프로그램이 자동으로 48GB GPU 한 장처럼 인식하지 않는다.
어디서 성능 차이가 생기는가
Tensor Parallelism에서는 하나의 레이어 계산을 여러 GPU가 나눠 수행한다.
각 GPU가 부분 결과를 계산한 뒤 all-reduce나 all-gather 같은 collective communication으로 결과를 결합해야 하므로 레이어마다 통신이 반복된다.
이런 워크로드에서는 GPU 간 통신속도가 낮으면 계산장치가 서로 기다리게 된다. NVLink 같은 고속 interconnect가 효과를 내기 쉬운 이유다.
레이어 분할에서는 양상이 다르다
모델 레이어를 GPU별로 나누는 방식에서는 activation이 한 GPU에서 다음 GPU로 이동한다.
통신은 필요하지만 Tensor Parallelism처럼 같은 레이어 안에서 반복적으로 collective operation이 발생하는 구조와는 다르다.
따라서 단순한 GPU split에서는 NVLink가 있어도 기대만큼 큰 차이가 나지 않을 수 있다.
PCIe도 항상 느린 것은 아니다
작은 모델이나 batch가 작고 GPU 간 데이터 이동량이 적다면 PCIe만으로 충분할 수 있다.
반대로 대규모 모델을 높은 batch로 처리하거나 여러 GPU가 지속적으로 데이터를 교환한다면 interconnect 대역폭과 latency가 중요한 병목이 된다.
LLM에서 확인할 것
NVLink의 유무만 보는 것보다 다음을 함께 봐야 한다.
- 어떤 병렬화 방식을 사용하는가
- GPU 간 통신량이 얼마나 되는가
- 계산 대비 통신 비중이 얼마나 큰가
- batch와 sequence length가 어떤가
- 런타임이 실제 peer-to-peer 통신을 잘 사용하는가
핵심
NVLink는 여러 GPU를 하나의 GPU로 만드는 기술이 아니라 GPU 사이 통신비용을 줄이는 기술이다. LLM에서는 통신이 잦은 Tensor Parallelism과 대규모 multi-GPU serving에서 가치가 크고, 단순히 모델을 여러 VRAM에 나눠 싣는 용도에서는 이득이 제한적일 수 있다.