로컬 LLM 속도 읽는 법 — 초당 토큰, 생성과 프롬프트 처리, 몇이면 쓸 만한가
CanRun · 2026년 10월 16일 업데이트
로컬 LLM이 답을 쓰는 속도는 주로 메모리 대역폭과, 모델이 VRAM에 다 들어가는지로 정해집니다. 8GB인 RTX 4060에는 Llama 3.1 8B가 다 들어가 쾌적하게 돌아가고, 공개 벤치마크 결과도 있습니다. Qwen3 14B는 다 들어가지 않아 일부를 시스템 RAM에 두어야 해서 겨우 돌아갑니다(보정된 추정). 입력을 읽는 속도는 따로 있는데, 이쪽은 GPU 연산 성능에 달려 있습니다.
초당 몇 토큰이면 쓸 만한가 — CanRun 판정 기준
로컬 런타임은 속도를 두 가지로 보여 줍니다. 생성 속도는 답이 화면에 나오는 속도입니다. Ollama의 eval rate, llama-bench의 tg가 이 값입니다. 프롬프트 처리 속도는 보낸 내용을 모델이 읽는 속도입니다. Ollama의 prompt eval rate, llama-bench의 pp가 이 값입니다. 첫 글자가 나올 때까지 기다리는 시간은 이 속도가 정합니다. CanRun 판정은 8k 컨텍스트에서 추정한 생성 속도로 매깁니다. 프롬프트 처리 속도는 아래에서 따로 다룹니다.
판정마다 넘어야 할 속도는 아래 범례에 있습니다. CanRun은 가장 위 기준선을 사람이 글을 읽는 보통 속도보다 높게 잡았습니다. 이 선을 넘으면 읽는 속도보다 글이 빨리 나옵니다. 두 번째 선만 넘어도 따라 읽을 수는 있지만, 긴 답이나 코드는 시간이 걸립니다. 맨 아래 선보다 느리면 몇 문단짜리 답에도 몇 분이 걸립니다. 그래서 CanRun은 이 경우를 돌릴 수 없다고 판정합니다.
판정 읽는 법
- 쾌적
- GPU에 전부 올라가고 20 tok/s 이상
- 원활
- GPU에 전부 올라가고 8~20 tok/s, MoE 전문가를 시스템 RAM에 두고 20 tok/s 이상, 또는 GPU에 90% 이상 올라가고 8 tok/s 이상
- 겨우 가능
- 2~8 tok/s, CPU 전용, GPU에 90% 미만, 또는 MoE 전문가를 RAM에 두고 20 tok/s 미만
- 불가
- 메모리에 안 들어가거나 2 tok/s 미만
속도만 보는 것은 아닙니다. 가장 좋은 판정은 모델이 GPU에 전부 올라갈 때만 줍니다. 일부를 시스템 RAM에 두거나 CPU만 쓰는 구성의 상한은 범례에 나와 있습니다.
생각(thinking) 모드가 있는 모델은 기준선이 1.5배 높습니다. 답하기 전에 추론 과정을 먼저 쓰기 때문에, 답 하나에 기다리는 토큰이 훨씬 많습니다. gpt-oss처럼 늘 생각하는 모델과, 생각 모드를 켜고 끌 수 있는 모델이 모두 해당합니다. Qwen3 14B는 켜고 끌 수 있고, 기본으로 켜져 있습니다. RTX 3060 12GB에서 Qwen3 14B는 원활하게 돌아갑니다. 생각 모드가 없는 14B 모델 Phi-4는 예상 속도가 비슷한데도 쾌적하게 돌아갑니다. 생각 모드를 끄는 법과 켜 둘 때 드는 비용은 ‘생각 모드(리즈닝) 모델의 속도 비용 — 켜고 끄는 법’ 가이드에서 다룹니다.
토큰은 단어를 잘게 나눈 조각입니다. 토큰 하나에 담기는 글자 수는 모델의 토크나이저와 언어에 따라 다릅니다. 그래서 tok/s가 같아도 한국어 답이 화면에 나오는 속도는 모델마다 다를 수 있습니다.
생성 속도를 정하는 것 — 메모리 대역폭과 토큰당 읽는 양
토큰 하나를 쓰려면 GPU가 그 토큰에 쓰는 가중치를 모두 한 번 읽습니다. 지금까지의 대화를 담은 KV 캐시도 함께 읽습니다. 메모리 대역폭은 그래픽카드가 VRAM에서 1초에 읽을 수 있는 양입니다. 이 값이 클수록 토큰을 빨리 만들 수 있습니다.
CanRun은 대역폭에 효율 계수를 곱하고, 토큰 하나에 읽는 바이트로 나눠 생성 속도를 추정합니다. NVIDIA 카드에 dense 모델을 전부 올리면 표기 대역폭의 10분의 7 정도를 실제로 쓴다고 봅니다. 이 계수는 하드웨어 종류마다 다르고, 공개 벤치마크에 맞춰 정했습니다.
그래서 이렇게 어림할 수 있습니다. 대역폭이 두 배면 예상 속도도 대략 두 배가 됩니다. 토큰당 읽는 양이 두 배면 속도는 절반이 됩니다. 대역폭은 카드마다 차이가 큽니다. RTX 4060은 272 GB/s, RTX 5090은 1,792 GB/s입니다.
dense 모델은 토큰마다 GPU에 올라간 가중치를 거의 전부 읽습니다. 아래 표는 이 글의 비교표에 나오는 네 모델을 기본 양자화로 받았을 때 그래픽카드에 필요한 메모리입니다.
| 모델 | 파라미터 | 기본 양자화 · 그래픽카드에 올라가는 가중치 | 8k KV 캐시 | 8k 합계 |
|---|---|---|---|---|
| Llama 3.1 8B | 8.03B | Q4_K_M · 4.6GB | 1.1GB | 6.3GB |
| Qwen3 14B | 14.8B | Q4_K_M · 8.6GB | 1.3GB | 10.5GB |
| Gemma 3 27B | 27.4B | Q4_K_M · 16.5GB | 0.7GB | 17.8GB |
| Qwen3 30B-A3B (2507) | 30.5B (활성 3.3B) | Q4_K_M · 18.4GB | 0.8GB | 19.8GB |
그래픽카드에서는 OS가 VRAM 일부를 따로 씁니다(Windows에서 화면 출력을 맡은 GPU라면 약 0.6GB). llama.cpp는 입력 임베딩 표를 시스템 RAM에 두고 MTP 블록이 있어도 기본 설정에서는 불러오지 않아서, 표의 가중치는 파일보다 조금 작습니다. 맥은 파일 전체로 계산합니다.
파라미터 열을 보면 Qwen3 30B-A3B (2507)만 다릅니다. 이 모델은 MoE(전문가 혼합) 모델입니다. 라우터가 토큰마다 전문가 몇 개만 골라 쓰므로, 토큰 하나에 쓰는 파라미터는 전체의 10분의 1 정도입니다(표의 전체·활성 파라미터 참고). 그래서 파일 크기에 비해 토큰당 읽는 양이 훨씬 적습니다. 다만 라우터가 어느 전문가를 고를지 모르니, 파일 전체가 메모리에 들어가야 합니다.
양자화도 같은 원리입니다. Qwen3 14B는 Q8_0 파일이 15.7GB, Q4_K_M 파일이 9.0GB입니다. 둘 다 들어가는 24GB 카드에서 CanRun은 Q8_0의 속도를 Q4_K_M의 5분의 3 정도로 추정합니다. 작은 양자화는 메모리를 덜 쓰고 더 빠르지만, 품질은 그만큼 떨어집니다. 단계별 비교는 ‘GGUF 양자화 등급 정리 — Q4_K_M·IQ4_XS·Q8_0 무엇을 받을까’ 가이드에 있습니다.
대화가 길어지면 느려지는 이유
새 토큰을 만들 때마다 KV 캐시 전체도 읽습니다. KV 캐시는 대화가 길어질수록 커집니다. CanRun의 속도는 컨텍스트가 표에 적힌 길이만큼 찼다고 보고 계산한 값이고, 판정은 8k 기준입니다. 이 계산대로라면 막 시작한 대화는 8k 추정보다 빠르고, 긴 대화는 더 느립니다. 아래 표는 GeForce RTX 3090에서 Qwen3 30B-A3B (2507)을 돌릴 때의 결과입니다. MoE 모델이라 이 효과가 더 크게 나타납니다.
| 컨텍스트 | KV f16 | KV q8_0 | KV q4_0 |
|---|---|---|---|
| 4k | 19.3GB쾌적 추정 153.9 tok/s123.1–184.7보정된 추정 ±20% | 19.1GB쾌적 추정 161.0 tok/s128.8–193.2보정된 추정 ±20% | 19.0GB쾌적 추정 165.1 tok/s132.1–198.1보정된 추정 ±20% |
| 8k | 19.8GB쾌적 추정 140.6 tok/s112.5–168.7보정된 추정 ±20% | 19.4GB쾌적 추정 152.9 tok/s122.3–183.5보정된 추정 ±20% | 19.2GB쾌적 추정 160.4 tok/s128.4–192.5보정된 추정 ±20% |
| 16k | 20.6GB쾌적 추정 119.9 tok/s95.9–143.9보정된 추정 ±20% | 19.9GB쾌적 추정 138.9 tok/s111.1–166.7보정된 추정 ±20% | 19.5GB쾌적 추정 151.9 tok/s121.5–182.3보정된 추정 ±20% |
| 32k | 22.4GB쾌적 추정 92.6 tok/s74.1–111.1보정된 추정 ±20% | 20.9GB쾌적 추정 117.5 tok/s94.0–141.0보정된 추정 ±20% | 20.1GB쾌적 추정 137.3 tok/s109.8–164.8보정된 추정 ±20% |
| 64k | 25.9GB원활 추정 51.2 tok/s35.9–66.6이론 추정 ±30% | 22.9GB쾌적 추정 89.7 tok/s71.8–107.7보정된 추정 ±20% | 21.3GB쾌적 추정 115.1 tok/s92.1–138.2보정된 추정 ±20% |
| 128k | 33.0GB원활 추정 25.7 tok/s18.0–33.5이론 추정 ±30% | 27.0GB원활 추정 46.2 tok/s32.4–60.1이론 추정 ±30% | 23.7GB원활 추정 80.4 tok/s56.3–104.5이론 추정 ±30% |
| 256k | 47.0GB미탑재 | 35.1GB원활 추정 23.5 tok/s16.4–30.5이론 추정 ±30% | 28.6GB원활 추정 40.5 tok/s28.3–52.6이론 추정 ±30% |
S = 쾌적 · A = 원활 · B = 겨우 가능 · F = 불가
f16 KV 캐시로 32k를 쓰면 예상 속도가 8k의 절반을 조금 넘습니다. 이 모델은 토큰마다 가중치의 10분의 1 정도만 읽습니다. 그래서 읽는 양 가운데 KV 캐시가 차지하는 몫이 큽니다. Llama 3.1 8B 같은 dense 모델은 8k에서는 읽는 양 대부분이 가중치라 같은 구간에서 덜 떨어집니다. CanRun 계산으로는 3분의 1 정도 느려집니다. 32k에서는 22.4GB가 필요해, 이 카드의 사용 가능 메모리 23.4GB 안에 아직 들어갑니다. 64k에서는 25.9GB가 필요합니다. CanRun 계산으로는 전문가 일부가 시스템 RAM으로 가서 더 느려집니다(이론 추정).
q8_0·q4_0 열이 더 빠르게 나오는 것은 줄어든 KV 캐시만큼 읽는 양을 줄여 계산했기 때문입니다. 이 부분은 공개 벤치마크로 확인하지 못했습니다. 그래서 두 열은 주로 메모리를 볼 때 쓰는 편이 좋습니다. 얼마나 줄어드는지는 ‘KV 캐시와 컨텍스트 길이 — 컨텍스트를 늘리면 VRAM이 얼마나 더 필요할까’ 가이드에서 설명합니다.
같은 모델, 다른 카드
아래 표는 모델 네 개를 하드웨어 여덟 가지에서 비교합니다. 위에서부터 메모리 대역폭이 작은 순서입니다. 맨 위는 그래픽카드 없이 CPU만 쓰는 PC(DDR5-5600 듀얼채널)입니다. 그 아래로 NVIDIA 카드 일곱 장이 이어집니다. 모든 칸은 8k 컨텍스트와 f16 KV 캐시 기준입니다. 그래픽카드 행은 시스템 RAM 32GB(DDR5)를 가정합니다. ‘실측’ 라벨이 붙은 칸은 첫 숫자가 공개 벤치마크 결과이고, 그 아래 줄이 CanRun 추정입니다.
| 하드웨어 | Llama 3.1 8B | Qwen3 14B | Gemma 3 27B | Qwen3 30B-A3B (2507) |
|---|---|---|---|---|
| DDR5-5600 듀얼채널 CPU16/32/64/96GB | 겨우 가능 추정 7.5 tok/s6.0–9.0보정된 추정 ±20% 16GB 구성 | 겨우 가능 추정 4.3 tok/s3.5–5.2보정된 추정 ±20% 16GB 구성 | 겨우 가능 추정 2.6 tok/s2.1–3.1보정된 추정 ±20% 32GB 구성 | 겨우 가능 추정 13.7 tok/s11.0–16.4보정된 추정 ±20% 32GB 구성 |
| GeForce RTX 40608GB | 쾌적 38.1 tok/s8k 추정 31.8 tok/s (28.0–35.6, 보정된 추정 ±12%)실측 1건 (4k 컨텍스트) GeForce RTX 4060에서 Llama 3.1 8B 판정 보기 | 겨우 가능 추정 3.6 tok/s2.9–4.4보정된 추정 ±20% | ||
| GeForce RTX 4060 Ti 16GB16GB | 쾌적 추정 33.6 tok/s29.6–37.7보정된 추정 ±12% | 원활 추정 19.5 tok/s17.2–21.8보정된 추정 ±12% | 겨우 가능 추정 7.8 tok/s6.2–9.3보정된 추정 ±20% | 원활 추정 46.3 tok/s32.4–60.1이론 추정 ±30% |
| GeForce RTX 3060 12GB12GB | 쾌적 51.6 tok/s8k 추정 42.0 tok/s (37.0–47.1, 보정된 추정 ±12%)실측 1건 (4k 컨텍스트) GeForce RTX 3060 12GB에서 Llama 3.1 8B 판정 보기 | 겨우 가능 추정 5.2 tok/s4.2–6.3보정된 추정 ±20% | ||
| GeForce RTX 5060 Ti 16GB16GB | 겨우 가능 추정 9.7 tok/s7.8–11.7보정된 추정 ±20% | |||
| GeForce RTX 507012GB | 겨우 가능 추정 5.8 tok/s4.7–7.0보정된 추정 ±20% | |||
| GeForce RTX 309024GB | 쾌적 추정 38.0 tok/s33.5–42.6보정된 추정 ±12% | |||
| GeForce RTX 509032GB | 쾌적 추정 72.8 tok/s64.1–81.6보정된 추정 ±12% |
이론 추정(±30%)은 MoE 전문가를 시스템 RAM에 두는 경우처럼 실제 속도의 편차가 큰 구성에 붙습니다. 이때는 VRAM에 들어가는 만큼 전문가를 GPU에 두고 나머지만 RAM에 둔다고 보고 계산합니다.
다 들어가면 대역폭 순서대로
Llama 3.1 8B는 표의 모든 그래픽카드에 다 들어가고, 어느 카드에서나 쾌적하게 돌아갑니다. CanRun 추정은 아래 행으로 갈수록, 즉 대역폭이 클수록 높아집니다. RTX 4060 행의 첫 숫자가 RTX 4060 Ti 16GB 행보다 높은 것은 그 칸에 공개 벤치마크 결과가 있어서입니다. 이 결과는 4k 컨텍스트에서 잰 값이라 8k 추정보다 높게 나옵니다. RTX 4060 칸 아래 줄의 CanRun 추정은 RTX 4060 Ti 16GB보다 낮습니다.
모델이 이미 다 들어간다면 메모리 용량은 속도를 바꾸지 않습니다. GeForce RTX 4060 Ti 16GB와 GeForce RTX 5060 Ti 16GB는 둘 다 16GB입니다. 하지만 대역폭은 새 카드가 448 GB/s, 이전 카드가 288 GB/s입니다. Qwen3 14B는 이전 카드에서 원활하게 돌아갑니다. 새 카드에서는 쾌적하게 돌아갑니다.
오래된 RTX 3060 12GB는 RTX 4060 Ti 16GB보다 메모리가 작지만, 대역폭은 더 큽니다(360 GB/s). 그래서 CanRun은 Llama 3.1 8B와 Qwen3 14B를 RTX 3060 12GB에서 더 빠르게 추정합니다. 그래도 메모리가 더 필요한 모델에서는 16GB가 유리합니다. gpt-oss-20b는 RTX 4060 Ti 16GB에서 GPU에 전부 올라가 쾌적하게 돌아갑니다. RTX 3060 12GB에서는 전문가 일부를 시스템 RAM에 두고 원활하게 돌아갑니다(이론 추정).
다 안 들어가면 대역폭이 순서를 정하지 못한다
Gemma 3 27B는 8k에서 17.8GB가 필요합니다. 16GB 카드가 쓸 수 있는 메모리보다 많습니다. 표에서 16GB 이하인 카드 다섯 장에서는 일부를 시스템 RAM에 두어야 해서 겨우 돌아갑니다. 이때는 속도 순서가 대역폭을 따르지 않습니다. RTX 5070은 대역폭이 두 16GB 카드보다 큽니다(672 GB/s). 그런데도 예상 속도는 두 카드보다 낮습니다. 메모리가 12GB라서 GPU에 올리는 몫이 더 작기 때문입니다. RTX 3090에서는 모델이 다 들어가 쾌적하게 돌아갑니다.
MoE 모델인 Qwen3 30B-A3B는 사정이 다릅니다. 16GB 이하 카드에서는 들어가지 않는 전문가를 시스템 RAM에 둔다고 보고 계산합니다. 토큰마다 RAM에서는 필요한 전문가 몇 개만 읽습니다. 그래서 이 다섯 카드에서 모두 원활하게 돌아갑니다(모두 이론 추정). RTX 3090에서는 GPU에 다 들어가 쾌적하게 돌아갑니다. 파일은 Qwen3 14B의 두 배쯤이지만, CanRun은 이 카드에서 Qwen3 14B보다 빠르다고 추정합니다. 다만 읽는 양의 차이만큼 빨라지지는 않습니다. 토큰마다 층 하나에서 전문가 하나를 돌릴 때 드는 고정 시간이 더해지기 때문이고, CanRun은 이 시간을 공개 벤치마크에 맞춰 정합니다. RTX 5090 같은 최상위 카드에서는 토큰 시간 가운데 이 고정 시간의 몫이 커서, 추정 속도가 대역폭만큼 오르지 않습니다.
CPU 행에서 Llama 3.1 8B는 예상 속도가 두 번째 기준선에 못 미쳐 겨우 돌아갑니다. 그래픽카드 없이 CPU만 쓰는 구성은 속도가 빨라도 판정에 상한이 있습니다. Qwen3 30B-A3B는 예상 속도가 그 선을 넘는데도 겨우 돌아가는 것으로 나옵니다(보정된 추정). VRAM 용량별로 어떤 모델이 들어가는지는 ‘로컬 LLM 사양 — VRAM 8~32GB로 돌릴 수 있는 모델 (2026)’ 가이드에 정리했습니다.
일부만 RAM으로 가도 크게 느려지는 이유
모델이 다 들어가지 않으면 런타임은 남는 층을 시스템 RAM에 둡니다. 토큰마다 이 층들도 거쳐야 합니다. CanRun이 가정하는 DDR5-5600 듀얼채널 RAM의 대역폭은 90 GB/s입니다. RTX 4060의 272 GB/s에 비하면 3분의 1 정도입니다. 게다가 CanRun은 이 부분에서 RAM 대역폭의 절반 정도만 쓴다고 봅니다. 그래픽카드는 10분의 7 정도로 봅니다. RAM 쪽에 걸리는 시간이 GPU 쪽 시간에 더해지므로, 느린 쪽이 전체 속도를 정합니다.
Qwen3 14B는 RTX 4060 Ti 16GB에 다 들어가 원활하게 돌아갑니다. 대역폭이 거의 같은 8GB RTX 4060에서는 10.5GB가 필요한데, 사용 가능 메모리는 7.4GB입니다. 그래서 가중치의 5분의 2 정도가 시스템 RAM으로 갑니다. 이 카드에서는 겨우 돌아갑니다(보정된 추정). CanRun 계산으로는 이 RAM 몫이 토큰 하나에 드는 시간의 4분의 3 정도를 차지합니다. 아래 표는 GeForce RTX 4060에서 Qwen3 14B를 양자화별로 돌렸을 때의 결과입니다. RAM에 남는 양에 따라 속도가 달라집니다.
| 양자화 | 품질 등급 | 판정 | 속도 | 메모리 |
|---|---|---|---|---|
| Q8_0 | 준무손실 | 겨우 가능 | 추정 3.6 tok/s2.9–4.3보정된 추정 ±20% | 8.0 / 8.0GB + RAM 10.2GB |
| Q4_K_M | 균형 | 겨우 가능 | 추정 8.1 tok/s6.5–9.7보정된 추정 ±20% | 8.0 / 8.0GB + RAM 3.5GB |
| IQ4_XS | 균형 | 겨우 가능 | 추정 9.7 tok/s7.8–11.7보정된 추정 ±20% | 8.0 / 8.0GB + RAM 2.7GB |
| Q2_K | 손실 큼 | 원활 | 추정 23.3 tok/s18.7–28.0보정된 추정 ±20% | 8.0 / 8.0GB + RAM 0.3GB |
Q8_0은 RAM에 남는 양이 가장 많아 가장 느립니다. IQ4_XS는 GPU에 조금 더 올라가지만 여전히 겨우 돌아갑니다. Q2_K는 거의 다 들어가서, 네 단계 가운데 Q2_K만 원활하게 돌아갑니다. 하지만 Q2_K는 품질 등급이 ‘손실 큼’입니다. CanRun은 dense 모델의 가중치가 GPU에 10분의 9도 안 올라가면, 예상 속도가 높아도 겨우 돌아가는 것으로 판정합니다.
MoE 모델은 덜 느려집니다. 토큰마다 시스템 RAM에서 고른 전문가만 읽기 때문입니다. 그래서 Qwen3 30B-A3B는 RTX 4060에서도 원활하게 돌아갑니다(이론 추정). 이 구성은 ‘그래픽카드보다 큰 MoE 모델 돌리기 — gpt-oss-120b와 시스템 RAM’ 가이드에서 다룹니다. 런타임이 모델을 어디에 올렸는지 확인하는 법과 무엇부터 줄일지는 ‘Ollama·LM Studio가 GPU를 안 쓸 때 — 100% GPU 확인과 오프로드 설정’ 가이드에 있습니다.
프롬프트 처리 속도 — 첫 글자가 늦게 나오는 이유
모델은 답을 쓰기 전에 프롬프트 전체를 읽습니다. 시스템 프롬프트와 이전 대화, 새 메시지가 모두 들어갑니다. 모델은 이 토큰들을 여러 개씩 묶어 한꺼번에 처리합니다. 그래서 이 단계의 속도는 메모리 대역폭보다 GPU 연산 성능이 정합니다. 답을 쓸 때는 토큰을 하나씩 만들기 때문에 메모리 대역폭이 속도를 정합니다.
llama.cpp의 NVIDIA 카드 공개 성능 모음을 보면 이 차이가 드러납니다. 이 모음은 llama-bench로 Llama 2 7B Q4_0을 잰 결과입니다. RTX 4090은 RTX 3090보다 대역폭이 조금 클 뿐입니다(1,008 GB/s, 936 GB/s). 이 모음에서 두 카드의 생성 속도 차이는 5분의 1이 안 됩니다. 반면 프롬프트 처리는 RTX 4090이 두 배 넘게 빠릅니다. RTX 3060(12GB)은 RTX 4060 Ti(8GB)보다 생성이 5분의 1 가까이 빠릅니다. 프롬프트 처리는 반대로 RTX 4060 Ti가 1.5배 정도 빠릅니다.
첫 글자까지 기다리는 시간은 대략 새로 읽을 토큰 수를 프롬프트 처리 속도로 나눈 값입니다. 모델이 아직 메모리에 없으면 불러오는 시간도 더해집니다. 채팅에서는 이 시간이 짧습니다. 런타임이 이미 처리한 앞부분을 다시 쓰기 때문입니다. Ollama는 다시 쓴 토큰 수를 prompt eval cached로 보여 줍니다. llama-server에서는 cache_n입니다. 긴 문서를 붙여 넣거나 에이전트를 쓰면 이 시간이 길어집니다. 에이전트는 지시문과 도구 설명만으로도 프롬프트가 깁니다. 이 경우는 ‘OpenClaw·OpenCode를 로컬 모델로 — 에이전트에 필요한 컨텍스트와 VRAM’ 가이드에서 다룹니다.
CanRun 조합 페이지에는 프롬프트 처리 속도도 대략적 추정(±40%)으로 나옵니다. 모델이 GPU에 다 올라갈 때만 보여 줍니다. 카드의 연산 성능(FP16)으로 7B 모델의 속도를 잡고, 이를 모델 크기로 나눕니다. 프롬프트를 읽을 때는 토큰마다 파라미터 하나당 연산이 두 번쯤 들기 때문입니다. 그래서 같은 카드에서 32B 모델은 7B 모델의 5분의 1쯤 되는 속도로 읽습니다. 1B 모델은 크기가 작은 만큼 빨라지지는 않습니다. 토큰마다 모델 크기와 상관없이 드는 시간이 있고, 빠른 카드일수록 그 몫이 크기 때문입니다. MoE 모델은 활성 파라미터보다 큰 모델처럼 계산합니다. 한 번에 읽는 프롬프트 토큰이 전문가마다 나뉘어 각 전문가가 맡는 양이 적기 때문입니다. 이 추정은 짧은 프롬프트 기준입니다. 컨텍스트가 길어지면 어텐션 계산이 늘어 프롬프트 처리 속도가 떨어집니다.
내 PC에서 속도 재는 법
Ollama
--verbose를 붙여 실행합니다. PowerShell, macOS, Linux 모두 명령이 같습니다.
ollama run llama3.1:8b --verbose
이미 실행 중인 대화에서는 /set verbose를 입력하면 같은 정보가 나옵니다. 답이 끝날 때마다 Ollama가 시간 정보를 보여 줍니다.
eval rate는 생성 속도입니다. CanRun 표와 비교할 값이 이것입니다.prompt eval rate는 프롬프트 처리 속도입니다. 실제로 새로 처리한 토큰만 셉니다. 다시 쓴 토큰 수는prompt eval cached에 나옵니다.load duration은 모델을 불러오는 데 걸린 시간입니다.total duration에는 들어가지만, 두 속도에는 들어가지 않습니다.
답이 아주 짧으면 값이 들쭉날쭉하니, 몇 문단짜리 답을 요청해서 잽니다. 모델이 올라가 있는 동안 다른 창에서 ollama ps를 실행해 PROCESSOR 열도 봅니다. CanRun이 GPU에 전부 올라간다고 한 모델이면 PROCESSOR가 100% GPU여야 합니다. 이때 CPU/GPU 비율이 나오면 속도가 낮은 원인은 대개 그 분할입니다. 전문가를 RAM에 두는 MoE 모델이라면 분할이 정상입니다. 위 컨텍스트 표에서 본 것처럼, 대화가 길어질수록 값은 조금씩 내려갑니다.
llama.cpp — llama-bench와 llama-server
llama-bench는 llama.cpp에 들어 있는 성능 측정 도구입니다. 기본 설정에서는 프롬프트 512토큰을 읽고(pp512) 128토큰을 생성합니다(tg128). 각각 다섯 번 재서 평균을 냅니다. 이 기본 테스트는 빈 컨텍스트에서 시작합니다. 그래서 대부분의 모델에서 tg128이 CanRun의 8k 추정보다 높게 나옵니다. -d 옵션을 쓰면 KV 캐시를 먼저 채운 뒤 잽니다. -d 0,8192로 실행하면 빈 컨텍스트 결과와 함께 @ d8192가 붙은 행이 나옵니다. CanRun 기준에 가장 가까운 것은 이 행입니다. Windows에서는 llama.cpp 폴더에서 PowerShell로 실행합니다.
.\llama-bench.exe -hf bartowski/Meta-Llama-3.1-8B-Instruct-GGUF:Q4_K_M -d 0,8192
macOS·Linux에서는 .\와 .exe를 빼고 실행합니다. 내려받아 둔 GGUF 파일을 쓰려면 -hf 대신 -m에 파일 경로를 줍니다. llama-bench는 기본으로 모든 층을 GPU에 올립니다. VRAM보다 큰 모델은 -ngl로 층 수를 줄이거나 -fitt에 MiB 단위 여유를 줘서 맞추게 하고, MoE 모델은 -ncmoe를 씁니다. llama-bench는 토큰화와 샘플링 시간을 빼고 잽니다. 그래서 실제로 쓸 때는 조금 더 느릴 수 있습니다.
llama-server는 응답마다 timings 항목을 붙여 줍니다. predicted_per_second가 생성 속도이고, prompt_per_second가 프롬프트 처리 속도입니다. cache_n은 캐시에서 다시 쓴 프롬프트 토큰 수입니다.
LM Studio
LM Studio의 REST API(POST /api/v1/chat)는 응답에 stats 항목을 붙입니다. tokens_per_second는 생성 속도입니다. time_to_first_token_seconds는 첫 토큰까지 걸린 시간입니다. 요청을 처리하면서 모델을 새로 불러왔다면 model_load_time_seconds도 나옵니다.
CanRun 숫자와 비교할 때
비교하기 전에 조건부터 맞춥니다. 먼저 양자화가 같아야 합니다. Q4_K_XL은 Q4_K_M과 크기가 달라 속도도 다릅니다. 컨텍스트 깊이도 맞춥니다. CanRun 판정은 8k 기준입니다. 백엔드(CUDA, ROCm, Vulkan, Metal)도 같아야 하고, 그래픽카드에 다른 모델이 올라가 있지 않아야 합니다. 노트북 GPU는 이름이 같은 데스크톱 카드와 다른 칩인 경우가 많고, 메모리와 대역폭도 작습니다. 예를 들어 GeForce RTX 4090 Laptop의 대역폭은 576 GB/s입니다. 그러니 노트북용(Laptop) 항목과 비교하세요. 전력과 발열 제한 때문에 더 느려질 수도 있습니다. 내가 잰 값이 CanRun 표의 범위보다 한참 낮다면 ollama ps로 CPU/GPU 분할부터 확인합니다. 속도를 가장 많이 깎는 원인이 이것이기 때문입니다.
이 숫자는 얼마나 확실한가
CanRun의 속도는 모두 오차 범위와 신뢰 라벨을 붙인 추정치입니다. ‘실측’ 라벨은 같은 카드·모델·양자화의 공개 벤치마크 결과가 있다는 뜻입니다. 이때는 그 결과를 먼저 보여 주고, CanRun 추정을 옆에 붙입니다. 보정된 추정의 오차 범위는 NVIDIA·AMD 카드에서 dense 모델을 GPU에만 올릴 때 ±12%입니다. MoE 모델, 부분 오프로드, 그 밖의 하드웨어에서는 ±20%입니다. 이론 추정은 ±30%이고, MoE 전문가를 시스템 RAM에 두는 경우처럼 실제 속도의 편차가 큰 구성에 붙습니다. 기준 벤치마크 12개와 비교하면, 속도 공식의 평균 오차는 4.2%이고 최대 오차는 10.5%입니다. GPU에 다 올린 MoE 모델은 2026년 llama.cpp 빌드의 공개 결과 49건과 비교해 평균 8.3%, 최대 19.9%입니다. 이 12건 밖의 공개 결과는 더 크게 빗나가기도 합니다. 아래 RTX 4090 결과는 CanRun 범위보다 낮습니다.
CanRun은 하드웨어 종류마다 효율 계수를 하나씩만 씁니다. 실제보다 단순하게 본 것입니다. CanRun이 계수를 맞출 때 쓴 공개 결과를 보면, 느린 카드일수록 표기 대역폭에 더 가깝게 나왔습니다. LocalScore가 공개한 Llama 3.1 8B 결과 두 건이 이를 보여 줍니다. 둘 다 4k 컨텍스트에서 잰 값입니다. RTX 4090의 대역폭은 RTX 4060의 네 배 가까이 되지만, 결과는 2.5배가 안 됩니다. RTX 4090 결과는 컨텍스트가 짧은 점을 감안해도 CanRun 범위보다 낮습니다. 어느 쪽이든 Llama 3.1 8B는 두 카드에서 모두 쾌적하게 돌아갑니다.
두 결과는 LocalScore가 자체 방식으로 잰 공개 결과 한 건씩이고, CanRun이 직접 잰 것은 아닙니다. 그래서 CanRun 추정이든 벤치마크든, 숫자 하나는 범위 안의 한 점으로 보는 편이 맞습니다. 이 구성의 실행 명령은 GeForce RTX 4090에서 Llama 3.1 8B 페이지에 있습니다.
모든 추정은 다음 조건을 가정합니다. Windows에서 그 카드로 화면을 출력하고, 시스템 RAM은 DDR5-5600 듀얼채널 32GB입니다. 컨텍스트는 8k까지 차 있고, KV 캐시는 f16입니다. 모델은 하나만 올리고, 요청은 한 번에 하나씩 처리합니다. 런타임은 llama.cpp 계열입니다. 본문에서 말하는 판정은 이 8k 기준이고, 다른 컨텍스트의 결과는 표에서 확인합니다. 판정 기준선은 글 앞쪽 범례에 있습니다.
자주 묻는 질문
로컬 LLM은 초당 몇 토큰이면 쓸 만한가요?
채팅이라면 CanRun의 가장 위 기준선을 넘을 때 글이 읽는 속도보다 빨리 나옵니다. 기준선 숫자는 첫 절의 범례에 있습니다. 그보다 느려도 두 번째 선만 넘으면 따라 읽으며 쓸 만합니다. 생각 모드가 있는 모델은 추론을 먼저 쓰므로 기준선이 1.5배 높습니다. 에이전트나 긴 문서 작업에서는 프롬프트 처리 속도도 생성 속도만큼 중요합니다. 8GB인 RTX 4060에서 Llama 3.1 8B는 가장 위 선을 넘어 쾌적하게 돌아갑니다.
인터넷에서 본 벤치마크보다 내 PC가 느린 이유는 무엇인가요?
대부분 조건이 다르기 때문입니다. llama-bench의 기본 tg128을 비롯해 많은 공개 결과는 빈 컨텍스트에서 잽니다. 대화가 길어지면 토큰마다 더 큰 KV 캐시를 읽어야 합니다. 양자화나 백엔드가 다를 수도 있고, 노트북 GPU라면 이름이 같은 데스크톱 카드보다 작은 칩일 수 있습니다. 가장 크게 깎는 원인은 모델 일부가 시스템 RAM으로 넘친 경우입니다. 먼저 ollama ps의 PROCESSOR 열을 봅니다. 그다음 ollama run --verbose의 eval rate를 CanRun 표의 범위와 비교해 보세요.
VRAM이 크면 모델이 더 빨리 돌아가나요?
시스템 RAM으로 넘치던 모델이 VRAM에 다 들어가게 될 때만 빨라집니다. 이미 다 들어가는 모델은 대역폭이 속도를 정합니다. Qwen3 14B는 RTX 4060 Ti 16GB에서 원활하게, RTX 5060 Ti 16GB에서는 쾌적하게 돌아갑니다. 두 카드는 둘 다 16GB지만 대역폭이 다릅니다.
답이 나오기 시작할 때까지 왜 오래 걸리나요?
모델이 답을 쓰기 전에 새 프롬프트를 전부 읽어야 하고, 이 단계는 GPU 연산 성능에 달려 있기 때문입니다. 긴 문서를 붙여 넣었거나 에이전트 지시문이 길면 가장 오래 걸립니다. 모델을 불러오는 시간도 더해지는데, Ollama의 verbose 출력에서는 load duration으로 보입니다. 채팅에서는 런타임이 앞서 처리한 부분을 다시 쓰므로 다음 차례부터 빨라집니다. 다만 프롬프트 앞쪽이 바뀌면 그 뒤를 다시 읽습니다.
Qwen3 30B-A3B 같은 MoE 모델이 더 작은 dense 모델보다 빠른 이유는 무엇인가요?
토큰마다 라우터가 고른 전문가만 읽기 때문입니다. Qwen3 30B-A3B는 가중치의 10분의 1 정도만 읽으므로, 토큰당 읽는 양이 적습니다. 그래도 파일 전체는 메모리에 들어가야 합니다. 24GB인 RTX 3090에는 다 들어가 쾌적하게 돌아갑니다. CanRun은 이 카드에서 dense 모델인 Qwen3 14B보다 빠르게 추정합니다.
출처
- Ollama 소스: api/types.go: verbose 요약의
eval rate(생성 토큰 수 ÷ 생성 시간),prompt eval rate(캐시되지 않은 프롬프트 토큰 ÷ 처리 시간),prompt eval cached,load duration - Ollama 소스: cmd/cmd.go와 cmd/interactive.go:
ollama run의--verbose옵션과/set verbose명령 - llama.cpp: llama-bench README: 기본
pp512·tg128, 반복 다섯 번, KV 캐시를 미리 채우는-d,-hf·-m,-ngl(기본은 모든 층)·-fitt(기본 꺼짐)·-ncmoe, 토큰화·샘플링 시간 제외 - llama.cpp: server README: 응답의
timings항목(predicted_per_second,prompt_per_second,cache_n) - llama.cpp 토론 #15013: NVIDIA CUDA 성능: RTX 4090·3090·3060·4060 Ti에서 Llama 2 7B Q4_0의
pp512·tg128결과 - LM Studio 문서: 모델과 대화하기:
POST /api/v1/chat응답의stats항목 - LocalScore: RTX 4060·LocalScore: RTX 4090: 본문 벤치마크 상자에 나온 Llama 3.1 8B 공개 결과
- Qwen3-30B-A3B-Instruct-2507 모델 카드: 전체·활성 파라미터, 전문가 128개 중 8개 활성, 생각 모드 없음
- Qwen3-14B 모델 카드: 생각 모드 기본 켜짐, 끄는 방법
- Phi-4 모델 카드: 생각 모드가 없는 14B 모델의 예
이 페이지의 속도는 오차 범위와 신뢰 라벨을 붙인 추정치이거나, 출처를 밝힌 공개 벤치마크 결과입니다. 판정은 표마다 적어 둔 구성을 기준으로 합니다.