SSD Nodes Learn Hosting plans →
가이드 Matt Connor작성자 Matt Connor · 업데이트됨 2026-10-23

GPU VPS와 API 토큰 비용 손익분기점 계산하기

GPU VPS 임대 비용과 API 종량제 과금을 비교하여 더 경제적인 선택을 내리는 방법을 설명합니다. 월간 토큰 생성량에 따른 손익분기점 계산 공식과 실제 모델별 교차점 데이터를 확인하고, 본인의 사용 환경에 맞는 최적의 비용 효율을 산출해 보시기 바랍니다.

손익분기점의 실제 위치

GPU VPS는 특정 시점에 토큰당 API 과금 방식보다 경제적입니다. 월 고정 임대료를 해당 월에 실제로 생성한 출력 토큰 수로 나눈 값이, 동일한 토큰 수에 대해 API가 청구하는 비용보다 낮아지는 시점입니다. 임대료는 고정되어 있지만, API 요금은 요청마다 변동합니다. 따라서 정답은 항상 월간 사용량에 따라 결정되며, 단순히 '예' 또는 '아니오'로 답할 수 없습니다.

시간당 $0.50인 중급형 GPU VPS(730시간 기준 월 $365)를 기준으로 계산해 봅니다. 최첨단 모델 API와 비교할 때 손익분기점은 월간 출력 토큰 24.3백만 개입니다. 소형 상용 모델과 비교하면 73백만 개입니다. 동일한 크기의 호스팅된 오픈 웨이트 모델과 비교하면 손익분기점에 도달할 수 없습니다. 카드 한 장이 한 달 동안 생성할 수 있는 토큰 양이 교차점에 도달하기에 부족하기 때문입니다.

공개된 손익분기점 연구들은 이 질문에 대한 답을 제시하지 못합니다. 2026년 7월의 한 벤더 분석에 따르면, 시간당 $2.00인 전용 H100을 서버리스 추론과 비교했을 때 50% 가동률 부근에서 교차점이 발생합니다. 이와 유사한 연구들은 전용 데이터 센터용 카드와 서버리스 제품을 비교하며, 가속기 가격을 여기에서 사용한 시간당 요금보다 몇 배 높게 책정합니다. 산술 방식은 동일합니다. 이어지는 내용은 카드 한 장, 7B에서 30B 범위의 오픈 모델 하나, 그리고 일반적인 종량제 API 과금을 기준으로 다시 계산한 것입니다.

아래의 모든 숫자는 결과값이 아닌 입력값입니다. 각자의 상황에 맞춰 수정하십시오.

자신만의 수치를 대입할 수 있는 공식

cost_per_million = (hourly_rate * 1000000) / (tokens_per_second * 3600 * duty_cycle)

breakeven_millions_per_month = (hourly_rate * hours_per_month) / api_price_per_million

capacity_millions_per_month = (tokens_per_second * 3600 * hours_per_month) / 1000000

required_duty_cycle = breakeven_millions_per_month / capacity_millions_per_month

네 가지 입력값이 필요하며, 이 값들은 모두 측정하거나 조회할 수 있습니다.

  • hourly_rate는 GPU VPS의 시간당 비용이며, 유휴 상태인 시간도 포함합니다. 월 단위로 결제한다면 월 요금을 730으로 나눕니다.
  • tokens_per_second은 실제 동시성 환경에서 서버가 유지하는 총 출력 속도입니다. 벤더 차트에 명시된 단일 스트림 수치가 아닙니다.
  • duty_cycle은 한 달 중 GPU가 토큰을 생성하는 데 사용되는 시간의 비율입니다. 한 달 내내 대여한 서버를 하루에 2시간씩 사용한다면 8.3%가 됩니다.
  • api_price_per_million는 비교 대상이 되는 출력 토큰의 계량 가격입니다.

이 예시는 양쪽 모두 출력 토큰을 기준으로 가격을 산정합니다. 챗봇이나 에이전트 작업에서는 출력 비용이 청구서의 대부분을 차지하기 때문입니다. 프롬프트가 길다면 입력 토큰 비용을 양쪽에 추가하십시오. API 측면에서는 청구서에 별도의 항목으로 표시됩니다. 직접 운영하는 서버의 경우, 프리필(prefill) 과정에서 GPU 시간을 소비하므로 이미 더 낮은 측정 tokens_per_second으로 나타납니다.

산술 연산을 신뢰하기 전 초당 토큰 수 측정하는 방법

위의 모든 내용은 하나의 측정값에 기반합니다. 이 값을 3배 틀리게 측정하면 결과도 3배 틀려집니다. 실제 사용할 모델과 양자화 방식을 적용하여, 임대한 카드에서 직접 측정하십시오.

Ollama는 다음 명령 하나로 단일 스트림 수치를 제공합니다.

ollama run qwen3:8b --verbose "Write 400 words about disk latency."

--verbose는 답변이 끝난 뒤 타이밍 블록을 출력합니다. 여기서 중요한 줄은 eval rate이며, 이는 생성 속도만을 초당 토큰 수로 나타낸 것입니다. prompt eval rate은 프리필(prefill) 속도로, 일반적으로 훨씬 높게 나타납니다. 실제 측정값은 다음 예시와 다를 수 있습니다.

eval count:       412 token(s)
eval duration:    9.612s
eval rate:        42.86 tokens/s

단일 스트림 수치는 비용 모델을 산출할 때 적합하지 않습니다. 여러 요청을 동시에 처리할 수 있는 카드에서 단일 요청만 측정하기 때문입니다. 전체 처리량을 확인하려면 vLLM으로 모델을 서빙하고 서버가 자체적으로 보고하는 처리량을 확인하십시오.

pip install vllm
vllm serve Qwen/Qwen3-8B --max-model-len 8192

요청이 처리되는 동안 서버는 보고 주기마다 상태 줄을 로그에 남깁니다. 정확한 필드명은 vLLM 릴리스마다 변경될 수 있으므로, 제 로그가 아닌 사용 중인 버전의 로그를 확인하십시오.

Avg prompt throughput: 812.4 tokens/s, Avg generation throughput: 396.1 tokens/s, Running: 16 reqs, Waiting: 0 reqs, GPU KV cache usage: 21.7%

Avg generation throughput이 공식에 필요한 수치입니다. 동시 요청을 추가할수록 이 수치는 상승하다가 KV 캐시(vLLM이 VRAM에 유지하는 요청별 어텐션 상태)가 가득 차면 더 이상 오르지 않습니다. 이 한계를 넘어서면 요청이 더 빨리 처리되지 않고 대기열에 쌓이며, 이는 Waiting 수치가 상승하는 것으로 확인할 수 있습니다. vLLM은 부하 생성 도구인 vllm bench serve도 함께 제공합니다. 이 도구의 플래그는 버전에 따라 변경되므로, 블로그 게시물의 명령어를 그대로 복사하지 말고 설치된 버전에서 vllm bench serve --help을 실행하십시오.

테스트가 진행되는 동안 카드의 상태를 모니터링하십시오.

nvidia-smi --query-gpu=utilization.gpu,memory.used,power.draw --format=csv -l 5

생성 중에 utilization.gpu이 100%에 가깝다면 처리량 제한에 걸린 것이며, 측정된 수치가 실제 한계치입니다. 만약 수치가 낮게 유지된다면 다른 요소가 병목 현상을 일으키는 것입니다. 동시 요청 수가 너무 적거나, 클라이언트가 느리거나, 모델이 VRAM에 다 들어가지 못해 시스템 RAM으로 일부 오프로드되고 있을 가능성이 있습니다. Ollama와 vLLM은 여기서 매우 다른 트레이드오프를 선택합니다. 동일한 카드에서도 두 도구 간의 성능 격차는 손익분기점을 몇 배나 바꿀 정도로 큽니다.

한 달간의 청구 내역 예시

이 예시는 24 GB GPU VPS를 시간당 $0.50에 임대하여 vLLM으로 8B 오픈 모델을 서비스하는 경우를 가정합니다. 16개의 동시 요청을 처리하며 초당 400개의 출력 토큰을 생성하는 성능을 기준으로 합니다. 임대료는 카드 사용 여부와 관계없이 고정됩니다. 해당 속도로 한 달 동안 카드를 멈추지 않고 가동할 경우 총 1,051백만 개의 출력 토큰을 처리할 수 있습니다.

차트Monthly cost by output volume: one GPU VPS at $0.50 per hour against metered APIs (USD)
이 차트의 데이터
[
  {
    "output_tokens_millions": 5,
    "gpu_vps_usd": 365,
    "open_api_usd": 1,
    "small_api_usd": 25,
    "frontier_api_usd": 75
  },
  {
    "output_tokens_millions": 10,
    "gpu_vps_usd": 365,
    "open_api_usd": 2,
    "small_api_usd": 50,
    "frontier_api_usd": 150
  },
  {
    "output_tokens_millions": 25,
    "gpu_vps_usd": 365,
    "open_api_usd": 5,
    "small_api_usd": 125,
    "frontier_api_usd": 375
  },
  {
    "output_tokens_millions": 50,
    "gpu_vps_usd": 365,
    "open_api_usd": 10,
    "small_api_usd": 250,
    "frontier_api_usd": 750
  },
  {
    "output_tokens_millions": 100,
    "gpu_vps_usd": 365,
    "open_api_usd": 20,
    "small_api_usd": 500,
    "frontier_api_usd": 1500
  },
  {
    "output_tokens_millions": 250,
    "gpu_vps_usd": 365,
    "open_api_usd": 50,
    "small_api_usd": 1250,
    "frontier_api_usd": 3750
  },
  {
    "output_tokens_millions": 500,
    "gpu_vps_usd": 365,
    "open_api_usd": 100,
    "small_api_usd": 2500,
    "frontier_api_usd": 7500
  },
  {
    "output_tokens_millions": 1000,
    "gpu_vps_usd": 365,
    "open_api_usd": 200,
    "small_api_usd": 5000,
    "frontier_api_usd": 15000
  }
]

GPU 비용은 365 달러로 평탄하게 유지되는데, 이는 임대료가 카드 사용량에 영향을 받지 않기 때문입니다. 반면 모든 API 비용은 0에서 시작하는 직선 형태를 띱니다. 각 비용 곡선은 정확히 한 번 교차합니다.

월 25백만 개의 출력 토큰을 처리할 때 frontier API의 비용은 375 달러로, 두 방식의 비용 차이는 10달러 이내입니다. 50백만 개의 경우 소형 상용 모델의 비용은 250 달러로 여전히 더 저렴한 선택지입니다. 카드를 한 달의 95% 동안 가동해야 하는 1000백만 개의 출력 토큰 처리 시, 호스팅된 오픈 웨이트 API의 비용은 200 달러가 되어 동일한 임대료와 비교됩니다. 카드가 가장 높은 부하로 작동하는 지점에서도 오히려 비용이 거의 두 배 가까이 높게 나타납니다.

이 마지막 결과는 많은 이들에게 놀라움을 주지만, 이는 우연이 아닙니다. 호스팅된 오픈 웨이트 엔드포인트는 높은 가동률로 운영되는 GPU 클러스터이므로, 그 가격은 포화 상태인 카드 한 장의 비용과 비슷하게 책정됩니다. 카드 한 장을 빌려 최대 부하 미만으로 운영하는 방식으로는 포화 상태의 클러스터 효율을 이길 수 없습니다. 우리가 이길 수 있는 것은 실리콘 가동 시간이 아닌 모델의 성능에 따라 가격이 책정되는 frontier API의 가격 체계뿐입니다.

듀티 사이클별 백만 출력 토큰당 비용

볼륨과 듀티 사이클은 동일한 사실을 다른 관점에서 본 것입니다. 임대료는 시간을 구매하는 비용입니다. 유휴 시간은 아무런 생산물을 내지 못하면서도 비용을 발생시킵니다.

차트Cost per million output tokens at each duty cycle (USD, list prices August 2026)
이 차트의 데이터
[
  {
    "label": "100% duty",
    "self_host_usd_per_million": "0.35",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "50% duty",
    "self_host_usd_per_million": "0.69",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "25% duty",
    "self_host_usd_per_million": "1.39",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "10% duty",
    "self_host_usd_per_million": "3.47",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "5% duty",
    "self_host_usd_per_million": "6.94",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "2% duty",
    "self_host_usd_per_million": "17.36",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  }
]

세 개의 API 열은 2026년 8월 기준의 일반적인 공개 정가입니다. 호스팅된 8B 오픈 웨이트 모델은 백만 출력 토큰당 0.20 달러, 소형 상용 모델은 5.00 달러, 프론티어 모델은 15.00 달러입니다. 이는 예시일 뿐입니다. 결정을 내리기 전에 오늘의 가격 페이지를 확인하십시오. 만약 토큰 단위 종량제가 아닌 월 정액 요금제와 비교한다면, 구독 비용 산정 방식은 달라지며 손익분기점도 이동합니다.

GPU를 100% 가동할 경우 백만 출력 토큰당 비용은 0.35 달러로, 이는 매우 저렴한 수준입니다. 10% 듀티 사이클에서는 동일한 백만 토큰당 3.47 달러가 소요됩니다. 2% 듀티 사이클에서는 17.36 달러가 소요되는데, 이는 호스팅된 오픈 모델이 동일한 출력에 대해 청구하는 0.20 달러와 비교할 때 경쟁력이 없습니다.

호스팅된 오픈 웨이트 모델과 비교하면, 차트에 나타난 모든 듀티 사이클에서 GPU 임대는 더 비싼 선택입니다. 10% 가동률에서 귀하는 0.20 달러에 판매되는 출력물에 대해 3.47 달러를 지불하는 셈입니다. 이 차액으로 구매하는 것은 데이터 프라이버시와 변동 없는 청구서입니다. 이는 충분히 가치 있는 비용일 수 있으나, 가격 경쟁력 측면에서 이득이라고 보기는 어렵습니다. 상용 모델 등급과 비교하면 상황은 반전됩니다. 10% 듀티 사이클에서 GPU는 소형 상용 모델과 프론티어 모델 가격보다 저렴하며, 듀티 사이클이 약 2.3% 수준으로 떨어지기 전까지는 프론티어 등급보다 저렴한 상태를 유지합니다.

각 API 티어별 손익분기점 물량

차트Break-even output volume per month, and the duty cycle it requires
이 차트의 데이터
[
  {
    "label": "Hosted open 8B API",
    "breakeven_tokens_millions": 1825,
    "required_duty_pct": 174
  },
  {
    "label": "Small commercial model",
    "breakeven_tokens_millions": 73,
    "required_duty_pct": 6.9
  },
  {
    "label": "Frontier model",
    "breakeven_tokens_millions": 24.3,
    "required_duty_pct": 2.3
  }
]

frontier 티어와 비교할 때 매달 24.3백만 개의 출력 토큰이 필요하며, 이는 해당 카드가 처리할 수 있는 용량의 2.3%에 불과합니다. 이는 매우 낮은 기준입니다. 근무 시간 동안 코딩 에이전트를 실행하는 소규모 팀이라면 충분히 달성할 수 있는 수치입니다.

small commercial 티어와 비교할 때는 매달 73백만 개의 토큰, 즉 6.9%의 듀티 사이클이 필요합니다. hosted open-weight 티어의 경우 필요한 듀티 사이클은 174%입니다. 100%를 초과하는 수치는 정의상 도달할 수 없습니다. 이는 한 달에 포함된 시간보다 더 많은 시간을 카드가 가동되어야 함을 의미하기 때문입니다. 해당 시간당 요금으로 미드레인지 카드 한 장이 이 비교에서 우위를 점할 수는 없으므로, 결과를 바꿀 수 있는 유일한 방법은 더 저렴한 카드, 더 빠른 카드, 또는 가격 이외의 다른 이유를 찾는 것뿐입니다.

공식에 숨겨진 비용

공식은 GPU 시간과 토큰 비용만을 계산합니다. 실제로는 그 외에도 여러 비용이 발생합니다.

콜드 스타트(Cold starts). 16-bit 가중치를 사용하는 8B 모델은 약 16 GB 크기이며, 로컬 디스크에서 VRAM으로 로드하는 데 수십 초가 걸립니다. 사용하지 않을 때 서버를 중지하면 대여료는 아낄 수 있지만, 첫 요청마다 대기 시간이 발생합니다. 대기 시간을 피하려고 서버를 계속 켜두면 가동률이 떨어져 토큰당 비용이 상승합니다. 이 상충 관계가 바로 서버리스 추론이 존재하는 이유입니다.

스토리지 및 다운로드. 가중치 파일은 매우 큽니다. 16-bit 8B 모델은 약 16 GB, 4-bit 양자화된 30B 모델은 약 18 GB이며, 16-bit 30B 모델은 24 GB 카드에 아예 올라가지도 않습니다. 상위 모델로 갈수록 한계는 명확해집니다. Kimi K3와 같은 1조 파라미터 규모의 오픈 모델을 실행하려면 가중치만으로도 시간 단위로 대여 가능한 어떤 단일 카드보다 용량이 커집니다. 매달 디스크 비용을 지불해야 하며, 재구축할 때마다 시간도 소모됩니다. 일주일간 실험한 뒤에는 du -sh ~/.cache/huggingface/hub를 실행하십시오. 한 번 시도했던 모든 양자화 파일이 그대로 남아 있어 예상보다 빠르게 용량이 증가합니다.

사용자의 시간. 드라이버와 CUDA 버전 문제, 어제는 잘 작동하던 컨텍스트 길이에서 발생하는 out-of-memory 오류, 챗 템플릿을 변경하는 모델 업데이트 등이 있습니다. 이 모든 것은 토큰당 비용 수치에 나타나지 않으며, 오롯이 사용자의 저녁 시간을 할애해야 해결할 수 있습니다. 이런 서버를 처음 구성한다면, GPU VPS가 실제로 제공하는 것을 미리 읽어보고 한 달 대여를 결정하는 것이 좋습니다.

품질 격차. 이는 가장 큰 숨겨진 비용이자 가격을 매기기 가장 어려운 부분입니다. 8B 오픈 모델은 최첨단(frontier) 모델이 아닙니다. 최첨단 모델이 한 번에 끝낼 작업을 세 번 시도해야 한다면, 유용한 답변 하나당 실제 가격은 차트 수치의 세 배가 되며, 결국 작업에 실패할 수도 있습니다. 가격을 비교하기 전에 직접 프롬프트를 입력해 성능을 비교하십시오. 에이전트 워크로드의 경우, 난이도에 따라 라우팅하고 대량 작업에는 저렴한 로컬 토큰을 사용하는 것이 일반적인 해결책입니다. 이것이 VPS에서 에이전트 비용을 제어하는 방법의 핵심입니다.

잊고 있는 청구 항목. 중지한 시간 단위 GPU 인스턴스라도 연결된 스토리지와 예약된 IP 주소에 대한 요금은 계속 청구될 수 있습니다. 가격 페이지가 아닌 실제 청구서를 확인하십시오.

가격 외의 요소로 셀프 호스팅이 유리한 경우

비용 산출이 결정적인 요인이 아닌 4가지 사례입니다.

  • 데이터가 통제 범위를 벗어날 수 없는 경우. 규정 준수 규칙에 따라 제3자에게 텍스트를 전송할 수 없다면, 토큰당 가격은 고려 대상이 아닙니다.
  • 일정에 따른 꾸준한 대량 작업. 매일 밤 6시간씩 실행되는 배치 분류 작업은 구조적으로 25%의 가동률을 유지하며, 예상치 못한 청구서가 발생하지 않습니다.
  • 속도 제한. 본인의 카드는 하나의 대기열을 가지며 온전히 본인 소유입니다.
  • API로 제공되지 않는 모델. 특정 파인튜닝이 필요한 경우, 비교할 대상 자체가 존재하지 않습니다.

저렴한 버전을 먼저 테스트하고 싶다면, VPS에서 Ollama로 작은 모델 실행하기는 오후 한나절이면 충분하며, 임대할 카드에 맞춰 오픈 모델 규모 산정하기를 통해 실제로 필요한 GPU 사양을 파악할 수 있습니다. GPU 한 달 임대를 계약하기 전에 먼저 측정해 보십시오.

FAQ

GPU VPS 비용이 API 가격보다 유리해지는 월간 토큰 처리량은 어느 정도입니까?

GPU의 월간 대여 비용을 API의 백만 출력 토큰당 가격으로 나눕니다. 월 365달러인 GPU를 15.00달러인 최상위 모델 API와 비교하면, 월간 24.3백만 출력 토큰에서 손익분기점에 도달합니다. 5.00달러인 소형 상용 모델과 비교하면 73백만 토큰입니다. 0.20달러인 호스팅 오픈 웨이트 모델의 경우, 중급형 카드 한 대로는 한 달 동안 손익분기점에 도달할 만큼의 토큰을 생성할 수 없습니다.

호스팅 오픈 웨이트 API가 직접 운영하는 GPU보다 저렴한 이유는 무엇입니까?

API 가격은 GPU를 완전히 가동했을 때의 비용에 가깝게 책정되지만, 사용자의 카드는 항상 완전히 가동되지 않기 때문입니다. 수천 건의 동시 요청을 처리하는 제공업체는 서버 가동률을 포화 상태로 유지하므로, 토큰 생성의 한계 비용에 가까운 가격으로 판매할 수 있습니다. 반면 사용자의 카드는 하루 중 대부분 유휴 상태이며, 사용자는 그 유휴 시간까지 비용을 지불합니다. 가동률이 10%일 때 사용자의 비용은 백만 출력 토큰당 3.47달러인 반면, 제공업체는 0.20달러입니다.

입력 토큰도 출력 토큰과 함께 계산해야 합니까?

프롬프트가 길다면 계산에 포함하십시오. 이 비교는 챗봇이나 에이전트 작업에서 지배적인 비용 요소인 출력 토큰만을 기준으로 합니다. 입력 토큰을 추가하면 양쪽 모두의 계산이 바뀝니다. API 측에서는 청구서에 별도의 낮은 가격 항목으로 표시됩니다. 직접 운영하는 카드의 경우, 프리필(prefill) 과정에서 GPU 시간을 소비하므로 비용은 이미 측정된 초당 총 토큰 수에 포함되어 있습니다. 실제 프롬프트 길이로 측정하면 양쪽을 비교할 수 있습니다.

공식에 필요한 초당 토큰 수를 어떻게 측정합니까?

실제 사용할 방식대로 모델을 서비스한 다음, 실제 동시성 환경에서 총 생성 속도를 확인하십시오. Ollama의 경우 ollama run <model> --verbose은 eval rate를 초당 토큰 수로 출력하지만, 이는 단일 스트림 기준이므로 배치 처리를 수행하는 서버의 성능을 과소평가하게 됩니다. vLLM의 경우, 실행 중인 서버 로그에 Avg generation throughput가 표시되며 이 수치를 사용해야 합니다. 동시에 nvidia-smi를 모니터링하십시오. 생성 중에 GPU 사용률이 100%에 가깝지 않다면 아직 최대 성능에 도달하지 못한 것입니다.

사용률이 10% 미만일 때도 GPU VPS를 대여할 가치가 있습니까?

이는 어떤 API를 대신 사용할지에 따라 다릅니다. 가동률 10%일 때 백만 출력 토큰당 비용은 3.47달러로, 소형 상용 모델과 최상위 모델 티어보다는 낮지만 호스팅 오픈 웨이트 티어보다는 훨씬 높습니다. 가동률이 2%라면 비용은 17.36달러가 되며, 이는 비교 대상인 모든 종량제 API(최상위 티어 포함)보다 비쌉니다. 가격만을 기준으로 할 때, 소형 상용 티어 대비 손익분기점은 약 6.9% 가동률이며, 최상위 티어 대비로는 약 2.3%입니다. 호스팅 오픈 웨이트 모델을 상대로는 가격 경쟁력이 없습니다. 해당 기준치 미만으로 대여하는 경우는 오직 개인정보 보호나 API로 제공되지 않는 특정 모델을 사용해야 할 때뿐입니다.

이 글이 도움이 되었나요?