사이징 가이드 · 10분 분량

# GPU 1장이 실제로 제공 가능한 인원수입니다.

모델을 담을 수 있는 머신이라고 해서 사용자에게 서비스를 제공할 수 있는 머신인 것은 아닙니다. 가중치는 한 번만 지불하는 통행료이며, 그것을 제외하고 남는 부분이 인원에게 서비스를 제공하기 위해 가진 전체 예산입니다. 그 남는 부분 — 카드의 크기가 아니라 — 이 용량을 결정하며, 메모리 자체보다 훨씬 빠르게 움직입니다.

짧은 답

- **용량은 카드가 아니라 남는 메모리:** 4비트 기준으로 **Llama 3.3 70B** 모델은 누구에게도 서비스를 제공하기 전에 이미 **40 GB**를 차지합니다. 그 이후로는 동시 요청 1건마다 **2.9 GB**씩 더 필요합니다.
- **메모리가 2번 대가를 치르는 이유:** 동일한 카드 1장에서 48 GB에서 240 GB로 늘리면 메모리는 5.0×배, 좌석 수는 **35×**배가 됩니다. 가중치는 이미 지불이 끝난 상태입니다.
- **후보 목록 중 최악의 선택:** [NVIDIA L40S](https://gpuserver.io/ko/gpu/l40s) 머신은 월 **$714**에 동시 요청 2건을 수용합니다 — 좌석당 **$357.00**입니다.
- **더 저렴하면서 가장 나은 선택:** [4 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) 머신은 **$564**에 좌석 19개를 수용합니다 — 더 저렴한 청구서로 좌석당 **$29.68**입니다.

## 요약

모델이 *들어가는지* 알려주는 모든 가이드는 요청 1건에 관한 질문에 답할 뿐입니다. 제품은 요청 1건이 아닙니다. 2명이 동시에 엔드포인트를 사용하는 순간, 머신은 대화의 2번째 사본을 메모리에 올려야 합니다 — 3번째도, 40번째도 마찬가지입니다 — 반면 가중치 자체는 정확히 한 번만 저장됩니다.

그러므로 서비스를 제공할 수 있는 인원 수를 결정하는 것은 카드의 크기가 아닙니다. 카드의 크기에서 모델을 *뺀* 값을, 대화 1건의 비용으로 나눈 값입니다. 이 두 값은 무엇이든 주문하기 전에 이미 알 수 있으며, 그래서 용량은 머신러닝에서 몇 안 되게 종이 위에서 미리 계산해 정확히 맞힐 수 있는 것 중 하나입니다.

**가중치는 통행료입니다.** 트래픽과 무관하게 진입 시 한 번만 지불합니다. 사용자가 늘어도 커지지 않고, 돌려받지도 않습니다.

**키/값 캐시가 사용료입니다.** 동시 요청마다 지불하며, 그 요청이 열려 있는 동안 계속 지불하고, 대화가 길어질수록 커집니다.

**용량은 남는 부분을 사용료로 나눈 값입니다.** 그래서 메모리가 2배인 머신은 흔히 2배가 아니라 10배 많은 인원에게 서비스를 제공합니다.

**그리고 딱 맞는 가장 저렴한 머신이 보통 최악의 선택인 이유.** 그 머신이 들어가는 것은 남는 부분이 거의 없기 때문이고, 실제로 돈을 내고 사는 것은 바로 그 남는 부분뿐입니다.

아래 내용은 모두 같은 카탈로그를 대상으로, 4비트에 컨텍스트 8k 기준으로 [구성 도구](https://gpuserver.io/ko/configure)와 동일한 계산을 수행합니다. 메모리 계산식 자체가 생소하다면 [별도의 가이드](https://gpuserver.io/ko/guides/vram-sizing)가 있습니다 — 이 페이지는 그 계산식에 2명 이상이 나타나면 무슨 일이 벌어지는지를 다룹니다.

## 가중치를 제외하고 남는 것

이 사이트의 기준 모델을 가져와 같은 카드로 만든 모든 크기의 노드에 올려 보십시오. 같은 실리콘, 같은 카드당 가격, 그 외 모든 것이 같습니다 — 오직 메모리 양만 다릅니다. 마지막 열 2개가 완전히 다른 속도로 움직이는 것을 지켜보십시오.

**동일 카드로 만든 모든 노드에서 Llama 3.3 70B(4비트)·8k 컨텍스트 기준 동시 요청 수**

| 노드 | 메모리 | 가중치 제외 후 남는 부분 | 동시 요청 | 월 요금 |
|---|---|---|---|---|
| [NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) | 24 GB | — | 담지 못함 | $125 |
| [2 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) | 48 GB | 8 GB | 2 | $285 |
| [4 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) | 96 GB | 56 GB | 19 | $564 |
| [8 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) | 192 GB | 152 GB | 52 | $1,106 |
| [10 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) | 240 GB | 200 GB | 69 | $1,371 |

첫 번째 행이 이 페이지의 교훈 전부입니다: 가중치조차 담지 못하는 카드는 아무에게도 서비스를 제공하지 못하며, 그것도 근소한 차이가 아닙니다. 그 뒤의 행들은 메모리는 균등한 폭으로 늘지만 좌석은 갈수록 가파르게 늘어나는데, 40 GB의 통행료를 첫 행에서 이미 다 지불했고 다시는 지불하지 않기 때문입니다.

**계산식을 한 줄로.** `seats = (memory − weights) ÷ cache_per_request`. Llama 3.3 70B의 경우 4비트 기준으로 40 GB의 통행료와, 열려 있는 대화 1건당 2.9 GB의 사용료가 발생합니다. 나누기 전에 빼십시오 — 순서를 거꾸로 하면 데모에서는 괜찮아 보였던 머신이 프로덕션에서야 문제를 드러냅니다.

## 사용자 1명에게 실제로 드는 비용

이번에는 같은 모델들을 구매자가 실제로 정렬하는 방식대로, 즉 저렴한 순서로 정렬했습니다. 마지막 열은 월 가격을 머신이 한 번에 수용할 수 있는 인원 수로 나눈 값입니다 — 데모 이상의 무언가를 구축하는 경우, 머신 2대를 정직하게 비교할 수 있는 유일한 열입니다.

전제 하나를 모든 숫자에 영향을 주기 때문에 미리 밝혀 둡니다: 각 좌석 수는 노드 전체에 걸쳐 있는 모델 인스턴스 *1개*를 기준으로 하며, 이는 `--tensor-parallel-size` 플래그가 제공하는 설정입니다. 가중치는 한 번만 저장되고, 카드마다 남는 메모리를 같은 대화 풀에 보탭니다. 대신 같은 노드에서 별도의 사본 2개를 실행하면 통행료를 2번 지불하는 셈이 되어, 전체 좌석 수는 오히려 줄어듭니다.

**Llama 3.3 70B 모델을 담는 가장 저렴한 노드 10개와, 각 노드의 동시 사용자당 비용**

| 노드 | 메모리 | 월 요금 | 동시 요청 | 사용자당 |
|---|---|---|---|---|
| [2 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) 카드 2장 · 개당 24 GB | 48 GB | $285 | 2 | $142.50 |
| [NVIDIA RTX A6000](https://gpuserver.io/ko/gpu/rtx-a6000) 카드 1장 · 48 GB | 48 GB | $286 | 2 | $143.00 |
| [2 × NVIDIA RTX 4090](https://gpuserver.io/ko/gpu/rtx-4090) 카드 2장 · 개당 24 GB | 48 GB | $416 | 2 | $208.00 |
| [4 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4) 카드 4장 · 개당 24 GB | 96 GB | $564 | 19 | $29.68 |
| [2 × NVIDIA RTX A6000](https://gpuserver.io/ko/gpu/rtx-a6000) 카드 2장 · 개당 48 GB | 96 GB | $597 | 19 | $31.42 |
| [2 × NVIDIA RTX 5090](https://gpuserver.io/ko/gpu/rtx-5090) 카드 2장 · 개당 32 GB | 64 GB | $692 | 8 | $86.50 |
| [NVIDIA L40S](https://gpuserver.io/ko/gpu/l40s) 카드 1장 · 48 GB | 48 GB | $714 | 2 | $357.00 |
| [2 × NVIDIA A100 PCIe](https://gpuserver.io/ko/gpu/a100-40gb) 카드 2장 · 개당 40 GB | 80 GB | $802 | 13 | $61.69 |
| [4 × NVIDIA RTX 4090](https://gpuserver.io/ko/gpu/rtx-4090) 카드 4장 · 개당 24 GB | 96 GB | $814 | 19 | $42.84 |
| [NVIDIA A100 PCIe](https://gpuserver.io/ko/gpu/a100-80gb) 카드 1장 · 80 GB | 80 GB | $1,091 | 13 | $83.92 |

색칠된 2칸을 각자의 가격 열과 비교해 보십시오. NVIDIA L40S 머신은 월 $714에 좌석 2개를 수용하고, 4 × NVIDIA L4 머신은 $564 — *더 적은 비용*으로 — 좌석 19개를 수용합니다. 청구서는 0.79×인데 좌석은 10×인 셈이며, 더 비싼 쪽이 대부분의 후보 목록에 남는 이유는 바로 그 머신에서 모델이 카드 1장에 들어가기 때문입니다.

**이것은 단일 카드 머신을 반대하는 주장이 아닙니다.** 카드 1장에 들어가는 모델은 샤딩도, 인터커넥트도, 텐서 병렬 플래그도 필요하지 않으며, 같은 모델을 카드 4장에 분산했을 때보다 사용자 1명에게 더 빠르게 응답합니다. 워크로드가 한 번에 요청 1건씩이라면 — 배치 작업, 내부 도구, 데모 — 그 머신이 올바른 선택이며 사용자당 열은 무의미합니다. 그 열은 사람들이 동시에 몰려들 때부터 비로소 의미를 가지며, 그 시점부터는 그 의미가 매우 커집니다.

처음 10개 행이 아니라 카탈로그 전체를 놓고 보면, 이 모델의 좌석당 최저가는 월 $2,239의 [8 × NVIDIA RTX A6000](https://gpuserver.io/ko/gpu/rtx-a6000)입니다: 동시 요청 119건, 건당 $18.82. 위 후보 목록의 그 무엇보다 훨씬 큰 청구서지만, 그래도 사용자 1명을 수용하는 가장 저렴한 방법입니다 — 바로 이 문장이 제품 규모를 산정하는 것인지 프로토타입 규모를 산정하는 것인지를 가릅니다.

## 또 하나의 배수, 컨텍스트 길이

지금까지는 모두 컨텍스트 8k를 전제했습니다. 이 전제가 머신 선택보다 더 큰 영향을 미칩니다. 캐시는 사용자당뿐 아니라 토큰당으로도 지불하므로, 대화를 얼마나 길게 허용하느냐에 따라 같은 노드가 수용하는 인원 수가 완전히 달라집니다.

머신 1대, 모델 4개, 컨텍스트 길이 4가지. 노드는 월 $1,106의 [8 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4)입니다 — 모델 4개를 동시에 모두 담는, 당사 카탈로그에서 가장 저렴한 노드이며, 그 덕분에 아래 모든 수치가 동일한 메모리를 기준으로 측정됩니다.

**노드 1개 기준 동시 요청 수 (모델별·컨텍스트 길이별, 4비트)**

| 모델 | 토큰당 캐시 | 4k | 8k | 32k | 128k |
|---|---|---|---|---|---|
| Llama 3.1 8B 4 GB의 가중치 | 128 KiB | 325 | 162 | 40 | 10 |
| Qwen 3 32B 16 GB의 가중치 | 256 KiB | 150 | 75 | 18 | 4 |
| Llama 3.3 70B 35 GB의 가중치 | 320 KiB | 105 | 52 | 13 | 3 |
| Qwen 3 235B-A22B (MoE) 118 GB의 가중치 | 188 KiB | 67 | 33 | 8 | 2 |

동일한 머신 1대에서, Llama 3.3 70B 모델은 동시 사용자 105명에서 3명으로 늘어납니다 — 35×배 차이입니다 — 순전히 커맨드라인에서 설정하는 숫자 하나 때문입니다. 하드웨어는 전혀 바뀌지 않았습니다.

여기서 2가지가 따라 나옵니다. 첫째, 눈여겨봐야 할 컨텍스트 열은 모델 카드가 광고하는 값이 아니라 실제로 서비스를 제공하는 값입니다 — 128k를 *지원하는* 모델이라고 해서 그만큼을 반드시 예약해야 하는 것은 아닙니다. 둘째, 토큰당 캐시는 크기가 비슷한 모델 사이에서도 크게 달라지는데, 이는 파라미터 수가 아니라 어텐션 설계로 정해지기 때문입니다. [그 표에서 가장 큰 모델들이 오히려 가장 작은 캐시를 가진 경우](https://gpuserver.io/ko/guides/mixture-of-experts)도 있는데, 이는 이 분야 전체에서 가장 의외인 사실입니다.

## 용량을 되찾는 4가지 방법

얻는 효과는 크고 드는 비용은 적은 순서로 나열했습니다. 첫 번째는 거의 무료나 다름없는데도 거의 항상 활용되지 않은 채 남아 있습니다.

선언한 컨텍스트 길이에 상한 두기 무료이면서 가장 큰 효과 서빙 스택은 실제로 사용하는 길이가 아니라 선언한 최대 길이만큼 캐시를 예약해 둡니다. 128k를 선언하고 8k만 서빙하면 필요한 메모리의 16배를 낭비하는 셈입니다 — 그 메모리가 바로 전체 좌석 용량이었습니다. 처음부터 `--max-model-len` 값을 실제 상한으로 설정하십시오.

캐시를 8비트로 양자화 좌석이 약 2배로 증가 *가중치*를 4비트로 양자화해도 캐시에는 아무 변화가 없습니다: 별도로 지정하지 않는 한 대부분의 일반적인 스택에서 캐시는 16비트로 유지됩니다. 지정은 플래그 하나면 충분하고, 품질 저하는 채팅 워크로드에서는 대개 눈에 띄지 않으며, 아래 표가 그 결과를 보여줍니다.

가중치를 추가로 양자화 효과는 한 번뿐 가중치를 절반으로 줄이면 그 차액이 그대로 캐시로 넘어가므로, 꽉 찬 머신에서 좌석을 추가로 확보할 수 있습니다. 하지만 이는 고정된 통행료에 맞선 일회성 이득이며, 품질을 희생합니다 — [어떤 포맷이 얼마만큼의 대가를 치르는지](https://gpuserver.io/ko/guides/awq-vs-gptq-vs-fp8)는 별도의 결정 사항입니다.

임대 대상은 카드가 아니라 남는 메모리 구조적 해법 위의 모든 수단은 한계적으로만 작동합니다. 메모리가 가중치보다 훨씬 여유 있는 노드로 옮기는 것은 문제의 성격 자체를 바꾸며, 4가지 중에서 성장할수록 계속 이득을 주는 유일한 방법입니다.

**동일 노드 기준, 컨텍스트 8k에서 16비트 캐시와 8비트 캐시의 동시 요청 수**

| 모델 | 16비트 캐시 | 8비트 캐시 | 좌석 증가 |
|---|---|---|---|
| Llama 3.1 8B | 162 | 325 | +163 |
| Qwen 3 32B | 75 | 150 | +75 |
| Llama 3.3 70B | 52 | 105 | +53 |
| Qwen 3 235B-A22B (MoE) | 33 | 67 | +34 |

같은 노드, 같은 가중치, 같은 비용. 유일한 차이는 캐시를 저장하는 정밀도뿐이며, 이것이 팀 하나에 서비스를 제공하는 머신과 제품 하나에 서비스를 제공하는 머신의 차이를 만듭니다.

## 좌석과 서비스는 별개

위 숫자를 바탕으로 무언가의 규모를 정하기 전에 짚고 넘어가야 할 점이 하나 있으며, 이 페이지가 정직할 수 있는 것은 바로 이 점 덕분입니다. 여기 나오는 모든 수치는 머신이 *열어 둘 수* 있는 대화 수를 셀 뿐입니다. 그 대화 전부가 빠르게 응답되고 있다는 보장은 아닙니다.

메모리와 대역폭은 서로 다른 2가지 상한입니다. [8 × NVIDIA L4](https://gpuserver.io/ko/gpu/nvidia-l4)에서 Llama 3.3 70B 머신은 동시 대화 52건을 수용할 여유가 있는 반면, 그 머신에 혼자 접속한 사용자 1명은 초당 약 17 토큰을 봅니다. 좌석 52개를 모두 채운다고 해서 각자에게 초당 17 토큰이 보장되는 것은 아닙니다 — 생성은 동일한 메모리 대역폭을 공유하므로 배칭이 늘수록 전체 처리량은 늘어나지만 사용자별 속도는 떨어집니다. 대역폭 상한은 메모리 상한보다 훨씬 먼저 도달합니다.

**좌석 수는 목표가 아니라 상한으로 삼으십시오.** 마지막 좌석까지 가득 찬 머신은 모두가 대기하는 머신입니다. 좌석 수를 보면 어떤 하드웨어가 필요한 동시성을 감당할 수 있는지 알 수 있습니다 — 감당하지 못하는 머신을 걸러내는 것으로, 후보 목록 대부분이 여기서 제외됩니다 — 그런 다음 사용자당 실제로 원하는 속도를 측정하고 상한에서 여유를 두십시오. 상한에 맞춰 규모를 정하는 것은 잘못된 머신을 사는 원인 중 2번째로 흔하며, 1번째는 캐시를 아예 무시하는 것입니다.

다행히 이 2가지 상한은 함께 움직입니다: 가중치를 제외하고 메모리가 많이 남는 머신은, 예외를 빼면 대역폭도 더 넓은 머신인 경우가 대부분입니다. 여유 용량을 기준으로 고른다고 해서 속도를 희생하는 경우는 드뭅니다. 최종적으로 고른 머신에서 [서빙 스택을 구성하는 것](https://gpuserver.io/ko/guides/serve-llama-70b)은 별도의 가이드에서 다루며, 거기서 이 숫자들이 실제 플래그로 바뀝니다.

## 보유한 사용자 수에 맞춰 고르기

순서대로 나열했습니다. 워크로드를 설명하는 첫 줄에서 멈추십시오.

1. **한 번에 요청 1건.** 배치 작업, 내부 도구, 개발자 1명. 모델을 카드 1장에 담을 수 있는 가장 저렴한 머신을 사고 여기서 읽기를 멈추십시오 — 이 페이지의 모든 열은 지금 필요하지 않은 질문에 답하고 있습니다.
2. **가끔, 소수 인원.** 팀용 도구, 초기 단계 제품입니다. 사용자 수가 아니라 피크 동시 요청 수를 계산하십시오: 등록 사용자가 100명이어도 동시 접속자는 소수를 넘는 경우가 드뭅니다. 그렇다면 좌석 수가 그 피크치를 넉넉히 웃도는 가장 저렴한 머신을 고르십시오.
3. **실제 트래픽이 있는 실제 제품.** 카탈로그를 가격이 아니라 좌석당 가격으로 정렬하고, 컨텍스트 길이는 실제로 제공하는 만큼으로 상한을 두고, 캐시를 8비트로 낮추십시오. 그러면 우승자는 월 가격만으로는 후보 목록에 올리지 않았을 머신일 것입니다.
4. **긴 문서 또는 긴 대화.** 컨텍스트 표를 먼저 읽고 머신 표를 그다음에 읽으십시오. 32k 이상에서는 캐시가 워낙 압도적이어서, 모델 선택보다 그 뒤에 있는 어텐션 설계가 더 중요합니다.
5. **변동이 크고 예측할 수 없는 트래픽.** 절대 실패해서는 안 되는 피크치를 기준으로 규모를 정하십시오. 캐시는 바닥나면 빌려올 수 없기 때문입니다 — 대화를 놓을 곳이 없는 요청은 대기열에서 기다립니다. 피크가 드물고 아주 크다면, 한 달에 2번뿐인 스파이크에 맞춘 머신보다 [초과분을 위한 토큰당 과금 API](https://gpuserver.io/ko/guides/api-vs-self-hosting)가 더 저렴합니다.

어느 줄에서 멈췄든, 다른 무엇보다 먼저 뺄셈을 하십시오: 머신의 메모리에서, 제공할 정밀도 기준으로 모델의 가중치를 뺀 다음, 남는 부분을 보십시오. 그 나머지가 바로 고객이 임대하는 대상입니다. [구성 도구](https://gpuserver.io/ko/configure)는 당사가 운영하는 모든 노드에 걸쳐 동일한 계산을 수행하며, [한 달치 비용이 얼마인지](https://gpuserver.io/ko/guides/monthly-vs-hourly)는 별도로 계산합니다.

## 머신의 규모는 모델이 아니라 사용자 수를 기준으로 산정하십시오.

구성 도구는 당사가 임대하는 모든 노드 정보를 담고 있으며, 이 페이지와 동일한 메모리 계산을 수행하고, 모델을 적재한 후 남는 부분을 보여줍니다 — 아직 아무 비용도 지불하기 전에 말입니다.

[구성 도구 열기](https://gpuserver.io/ko/configure) [가이드 둘러보기](https://gpuserver.io/ko/guides)

## 다른 가이드

- [비용 · 6분 월 단위 임대가 시간 단위보다 유리한 경우 실제 숫자로 계산한 손익분기점, 시간 단위 가격이 청구서 전까지 감추는 비용 3가지, 그리고 추정치를 3배로 부풀리는 유휴 시간의 함정. 가이드 읽기](https://gpuserver.io/ko/guides/monthly-vs-hourly)
- [비용 · 9분 자체 호스팅 대 토큰당 과금 API 토큰당 과금 API와 GPU 임대 사이의 손익분기점을 당사의 실제 가격과 처리량으로 계산했습니다 — 그리고 그 계산이 빠뜨리는 4가지. 가이드 읽기](https://gpuserver.io/ko/guides/api-vs-self-hosting)
- [실전 · 11분 노드 1개로 Llama 3.3 70B 서빙 제공받은 머신에서 OpenAI 호환 엔드포인트까지, 중요한 플래그와 처리량을 조용히 절반으로 떨어뜨리는 두 가지 플래그. 가이드 읽기](https://gpuserver.io/ko/guides/serve-llama-70b)

---

출처: https://gpuserver.io/ko/guides/concurrent-users/. 이 파일은 웹사이트와 동일한 데이터에서 생성됩니다. 여기의 수치가 페이지와 다르다면 페이지가 정본이고 이 파일이 오래된 것입니다 — 정식 출처는 https://gpuserver.io/입니다.
