vLLM 공식 문서 — PagedAttention과 처리량 최적화
같은 70B 모델을 한 달 돌렸을 때 클라우드 API 요금이 150만 원 나왔다면, "GPU 사서 로컬로 돌리면 전기료만 내니까 훨씬 싸지 않을까?" 하는 질문이 생깁니다. 답하려면 GPU 구매비·전기료·인건비를 모두 넣은 총소유비용을 계산해야 해요. 제 모델에선 월 요청량이 일정 수준 이하면 오히려 API가 쌉니다. 손익분기점과 가정 변화 시 결론 역전을 보여드릴게요.
로컬 전환 비용을 어떻게 계산했나요?
제 모델은 3년 감가상각 기준입니다. GPU 구매비를 36개월로 나눠 월 고정비로 환산하고, 전기료·냉방비·유지보수 인건비를 더해요. 클라우드 API는 요청량에 비례하는 변동비만 내지만, 로컬은 요청이 없어도 감가상각분과 최소 전기료가 나갑니다. 이 고정비를 월 요청량으로 나눈 단위당 원가가 API 단가보다 낮아지는 지점이 손익분기예요.
비교 기준은 세 가지. 하드웨어 초기비와 감가상각, 운영비(전기·냉방·대역폭), 장애 대응 인건비. API는 초기비와 인건비가 0이지만 단가가 높고, 로컬은 초기비와 인건비가 크지만 가동률이 높으면 단가가 급격히 낮아집니다.
70B 모델 기준 손익분기 계산을 따라가보면
Ollama 공식 문서에 따르면 70B 모델은 최소 80GB VRAM을 요구합니다(출처: Ollama FAQ). A100 80GB 카드를 대당 1200만 원, 서버 구성비를 800만 원으로 두면 초기 투자는 2000만 원. 월 고정비 구성은 다음과 같아요.
- 감가상각: 월 56만 원 (A100 80GB 1200만 원 + 서버 800만 원, 3년 상각)
- 전기·냉방: 월 13만 원 (600W 시스템, 산업용 단가 kWh당 150원)
- 인건비: 월 30만 원 (장애 대응·모델 업데이트)
- 합계: 월 99만 원
클라우드 API는 변동비만 냅니다. 평균 단가를 100만 토큰당 5,000원으로 두면 요청량에 따른 비용 비교는 다음과 같아요.
| 월 요청량 | 클라우드 API | 로컬 TCO | 유리한 쪽 |
|---|---|---|---|
| 2억 토큰 | 100만 원 | 99만 원 | 거의 동일 |
| 3억 토큰 | 150만 원 | 99만 원 | 로컬 |
| 5억 토큰 | 250만 원 | 99만 원 | 로컬 |
| 10억 토큰 | 500만 원 | 99만 원 | 로컬 |
핵심 변수는 GPU 단가와 월 가동률. 중고 GPU를 600만 원에 구해도 서버 800만 원은 그대로라, 월 감가상각은 56만 원에서 39만 원으로 30%가량만 내려갑니다. 반대로 인건비가 월 100만 원으로 오르면 고정비가 169만 원이 되어 손익분기 요청량이 약 1.7배로 뛰어올라요.
로컬 추론 서버의 가장 큰 함정은 고정비예요. 만약 월 예상 요청량의 30%만 실제로 들어온다면 단위당 원가는 세 배 이상 뛰어오르죠. 클라우드 API는 쓴 만큼만 내지만, 로컬은 고정비가 버티고 있어 단가가 급등해요. 제 모델에서 월 10억 토큰 기준으로 설계했는데 실제 트래픽이 3억 토큰에 그쳤다면, API 요금은 150만 원으로 줄지만 로컬 고정비는 99만 원 그대로입니다. 장애 대응 인력을 추가로 투입하면 실질 고정비는 130만 원을 넘어가고, 이때부터 API와 TCO가 역전돼요.
운영 장애는 왜 구조적으로 발생하나요?
로컬 추론 서버에서 가장 자주 터지는 장애는 OOM(Out of Memory)입니다. vLLM은 PagedAttention으로 처리량을 올리지만, 컨텍스트 길이가 설정값을 넘어서면 VRAM 요구량이 급증하면서 OOM이 발생합니다(출처: vLLM 공식 문서). 최대 컨텍스트를 4096 토큰으로 설정했는데 사용자 요청이 8192 토큰을 담고 있으면 시스템은 메모리 부족으로 요청을 거부하거나 크래시해요.
동시 요청 큐잉도 문제. vLLM은 여러 요청을 묶어 처리하는데, 요청이 한꺼번에 몰리면 큐가 밀려 응답 지연이 수십 초에서 수 분으로 늘어납니다. 클라우드 API는 벤더가 스케일아웃으로 처리하지만, 로컬은 GPU 카드 수가 고정되어 피크 트래픽 대응이 구조적으로 약해요. 카드를 추가하면 초기비가 다시 뛰어오르고, 평소엔 그 카드가 놀아 가동률이 떨어집니다.
모델 업데이트도 운영 부담이에요. 새 버전 모델이 나오면 가중치를 다운로드하고 재시작해야 하며, 이 시간 동안 서비스가 중단됩니다. API는 벤더가 무중단 배포를 알아서 처리하지만, 로컬은 업데이트 스크립트·헬스체크·롤백 로직을 직접 구현해야 하죠.
어느 규모부터 로컬 전환을 고려해야 할까요?
순수 손익분기는 약 2억 토큰입니다(99만 원 고정비 ÷ 5,000원/100만토큰). 하지만 손익분기를 간신히 넘는 수준에선 트래픽 변동에 취약하고 운영 리스크 대비 이득이 얇아요. 안전마진을 고려하면 월 요청량이 5억 토큰을 안정적으로 넘고, 트래픽 변동성이 ±20% 이내로 예측 가능하며, 인프라 운영 인력이 확보된 환경에서 로컬 전환을 권합니다. 반대로 월 1억 토큰 미만이거나, 트래픽이 10배씩 요동치거나, 개발자가 인프라에 시간 쓸 여유가 없다면 API를 유지하는 게 총비용이 낮아요.
중고 GPU 시장을 활용하면 초기비를 절반 이하로 줄일 수 있지만, 고장률과 A/S 리스크가 커집니다. 감가상각 기간을 짧게 잡아야 하므로 월 고정비와 손익분기점이 함께 변동하죠. 클라우드 GPU 인스턴스(AWS p4d, GCP A100 등)는 시간당 과금이라 로컬과 API의 중간 지점에 있지만, 인스턴스 관리 부담은 로컬과 비슷합니다.
"로컬이 싸다"는 판단은 요청량·가동률·인건비를 모두 넣은 뒤에야 성립해요. 초기비만 보고 뛰어들면 운영 6개월 차에 API로 돌아가는 경우가 많습니다. 반대로 대규모 트래픽이 확정된 서비스라면 로컬 전환이 연간 수천만 원을 절감하는 정답이 됩니다. 가정을 명시하고, 민감도를 점검하고, 그다음에 결정하세요.
자주 묻는 질문
Q. GPU 구매비를 2년 감가상각하면 손익분기점이 어떻게 바뀌나요? A. 감가상각이 월 56만 원에서 83만 원으로 오르고, 고정비 합계는 99만 원에서 126만 원이 됩니다. 손익분기는 약 2억 토큰에서 2.5억 토큰으로 올라가요.
Q. 중고 GPU를 600만 원에 구하면 얼마나 유리한가요? A. 중고 GPU 600만 원 + 서버 800만 원으로 초기비가 1400만 원이 됩니다. 3년 상각하면 월 39만 원, 고정비 합계 82만 원으로 손익분기가 약 1.6억 토큰까지 내려가요. 하지만 고장률을 감안해 1.5년으로 짧게 잡으면 월 78만 원, 고정비 121만 원으로 손익분기가 2.4억 토큰이 됩니다. 상각 기간을 얼마나 길게 가져가느냐에 따라 이점이 결정돼요.
Q. vLLM 대신 Ollama를 쓰면 운영 부담이 줄어드나요? A. Ollama는 설치·실행이 간단하지만 대규모 동시 요청 처리에선 vLLM의 PagedAttention보다 처리량이 낮습니다. 월 1억 토큰 미만이라면 Ollama로 인건비를 아끼고, 그 이상은 vLLM이 단위당 원가를 낮춰요.