AI 관련 커뮤니티를 돌아다니다 보면 꼭 나오는 질문이 있습니다. “GPU 하나로 부족한데, 두 개 꽂으면 두 배로 빨라지나요?” 솔직히 말하면, 맞을 때도 있고 아닐 때도 있습니다. 게임에서의 SLI 시대를 기억하는 분이라면 “그거 결국 망했잖아"라고 생각하실 수도 있는데, AI 쪽에서는 상황이 좀 다릅니다.

GPU 하나로는 부족해지는 순간

VRAM이 뭔지 아시는 분이라면 감이 오실 텐데, AI 모델을 돌리려면 모델 전체를 GPU 메모리에 올려야 합니다. 문제는 모델이 점점 커진다는 거예요.

7B 파라미터 모델은 16GB VRAM이면 대충 돌아갑니다. 근데 13B? 30B? 70B? 이쯤 되면 VRAM 24GB짜리 RTX 4090 한 장으로도 감당이 안 됩니다. 모델을 양자화해서 줄이는 방법도 있긴 한데, 그러면 성능이 떨어지거든요. 이때 GPU를 여러 장 쓰면 VRAM을 합쳐서 쓸 수 있습니다.

그리고 학습(파인튜닝) 얘기로 가면 상황이 더 심각해집니다. 추론은 모델만 올리면 되지만, 학습할 때는 그래디언트, 옵티마이저 상태까지 메모리에 올려야 해서 VRAM을 2~3배는 더 먹거든요. 이때 멀티 GPU는 선택이 아니라 거의 필수가 됩니다.

멀티 GPU가 실제로 작동하는 방식

게임에서의 SLI나 CrossFire랑은 근본적으로 다릅니다. 그건 화면을 반씩 나눠 그리는 방식이었지만, AI에서 멀티 GPU는 크게 두 가지 방식으로 씁니다.

데이터 병렬화 (Data Parallelism)

같은 모델을 GPU마다 복사해두고, 학습 데이터를 나눠서 처리합니다. GPU 4개면 배치를 4등분해서 각각 처리하고 결과를 모으는 식이에요. 학습 속도는 거의 선형으로 빨라집니다. 다만 모델 자체가 GPU 하나에 들어갈 수 있어야 한다는 조건이 있죠.

모델 병렬화 (Model Parallelism)

모델이 GPU 하나에 안 들어갈 때 쓰는 방법입니다. 모델을 레이어 단위로 쪼개서 GPU마다 나눠 올립니다. GPU 2개에 70B 모델을 반씩 올리는 식이죠. 로컬 LLM 돌리기에서 언급한 것처럼 vLLM이나 llama.cpp 같은 도구가 이걸 자동으로 해줍니다.

개인적으로 느끼는 건, 추론용으로 모델 병렬화 쓰는 건 설정이 꽤 간단한 편인데, 학습용으로 데이터 병렬화를 제대로 쓰려면 좀 공부가 필요합니다.

여기서 많은 분들이 놓치는 게 있습니다. GPU를 여러 개 꽂는다고 끝이 아니라, GPU끼리 데이터를 얼마나 빨리 주고받느냐가 핵심이에요.

일반적인 메인보드에 GPU 2개를 꽂으면 둘 사이의 통신은 PCIe를 통해 이뤄집니다. PCIe 4.0 x16 기준으로 약 32GB/s인데, AI 학습 중에 GPU끼리 그래디언트를 주고받아야 하거든요. 모델이 크면 이 대역폭이 병목이 됩니다.

NVIDIA의 NVLink는 GPU끼리 직접 연결하는 방식입니다. RTX 4090에서는 NVLink가 빠졌지만, RTX 5090에서 다시 돌아왔어요. 대역폭이 PCIe의 몇 배라 학습 효율이 확 달라집니다. 다만 NVLink를 쓰려면 해당 브릿지도 필요하고, 메인보드도 지원해야 합니다.

추론 용도로만 쓸 거라면 PCIe 연결로도 충분합니다. 추론은 GPU끼리 통신할 일이 상대적으로 적거든요. 학습을 본격적으로 하겠다면 NVLink 지원 여부를 꼭 따져보세요.

현실적인 문제들

솔직한 얘기를 해보겠습니다. 개인이 멀티 GPU 구성을 하려면 생각보다 걸림돌이 많아요.

전력 문제 — RTX 4090 한 장이 450W를 먹습니다. 두 장이면 GPU만 900W예요. 전원 공급 장치는 최소 1200W 이상이 필요하고, 1600W가 안전합니다. 가정용 콘센트 하나로 감당이 되나 확인도 해봐야 합니다.

발열 문제 — GPU 2개가 좁은 케이스 안에서 풀로드로 돌아가면 쿨링 구성이 일반적인 수준으로는 안 됩니다. 공기 흐름이 충분한 풀타워 케이스가 사실상 필수이고, GPU 사이 간격도 신경 써야 합니다. 슬롯 하나 차이로 꽂으면 위쪽 GPU가 질식해요.

메인보드와 PCIe 레인 — GPU 2개를 x16/x16으로 쓸 수 있는 메인보드가 많지 않습니다. 대부분 x16/x8이나 x16/x4로 나뉘는데, AI 학습에서는 이게 성능 차이로 이어집니다. CPU 선택도 PCIe 레인 수를 고려해야 하고요.

소프트웨어 호환성NVIDIA의 CUDA 생태계가 멀티 GPU를 잘 지원하긴 하지만, 모든 프레임워크가 멀티 GPU를 자동으로 활용하는 건 아닙니다. PyTorch에서 DistributedDataParallel을 쓰려면 코드 수정이 필요하고, 디버깅도 까다로워집니다.

추론 vs 학습 — 용도에 따라 답이 다르다

추론(로컬 LLM 돌리기) 용도라면 — 멀티 GPU가 꽤 효과적입니다. 큰 모델의 VRAM을 나눠 쓸 수 있고, 설정도 간단합니다. llama.cpp에서 --gpu-layers를 GPU별로 나눠 지정하면 되거든요. 70B 모델을 24GB GPU 2장으로 돌리는 게 현실적으로 가능해집니다.

학습(파인튜닝) 용도라면 — 효과는 확실하지만 진입 장벽이 높습니다. 데이터 병렬화를 제대로 쓰면 학습 시간이 GPU 수에 비례해서 줄어드는데, 설정이 복잡하고 통신 오버헤드도 있습니다. 리눅스 환경이 거의 필수이기도 하고요.

그래서, GPU 2개를 사야 할까?

개인적인 결론을 말씀드리면, 대부분의 개인 사용자에게는 GPU 1개 + 클라우드가 더 현실적입니다. 이전에 워크스테이션 vs 게이밍 PC를 비교했을 때도 비슷한 결론이었는데요.

RTX 4090이나 5090 한 장으로 일상적인 추론과 소규모 파인튜닝을 처리하고, 정말 큰 모델이 필요할 때만 클라우드 GPU를 빌려 쓰는 게 비용 면에서 훨씬 합리적이거든요.

다만 이런 분들은 멀티 GPU를 진지하게 고려해볼 만합니다.

  • 로컬에서 30B 이상 모델을 자주 돌리는 분
  • 프라이버시 때문에 클라우드를 못 쓰는 환경
  • 반복적으로 파인튜닝을 하는데 클라우드 비용이 부담되는 분

이 중 하나라도 해당되면, GPU 2장 구성이 장기적으로 충분히 가치가 있습니다. 다만 전력, 냉각, 메인보드까지 한꺼번에 업그레이드할 각오는 하셔야 합니다. 부분적으로만 바꾸면 어딘가에서 병목이 걸리거든요.

멀티 GPU의 세계는 투자 대비 효과가 확실한 영역이지만, 그만큼 준비할 것도 많은 영역입니다. 자기 용도를 정확히 파악하고 들어가는 게 돈을 아끼는 길이에요.