GearClue

매칭표는 얼마나 맞나 — 24GB에서 경계를 직접 찾아봤다

2026-08-25 · 실측

이 포스팅은 쿠팡 파트너스 및 네이버 쇼핑 커넥트 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

그래픽카드별 실행 가능표를 만들어 뒀습니다. VRAM 용량별로 어떤 모델이 몇 토큰까지 올라가는지 계산해서 보여주는 표입니다.

계산으로 만든 표입니다. 맞는지 재본 적은 없었습니다.

무엇을 확인할 수 있나

표는 24GB에서 Qwen3 30B-A3B Q4_K_M 의 최대 컨텍스트를 32k라고 답합니다.

이건 반증 가능한 주장입니다. 컨텍스트를 올려가며 어디서 VRAM을 넘치는지 찾으면 됩니다. RTX 3060 12GB 두 장, 합계 24GB에서 쟀습니다.

넘쳤는지는 ollama ps가 알려줍니다. 전부 올라가면 100% GPU, 넘치면 2%/98% CPU/GPU 처럼 나옵니다.

결과

num_ctx VRAM 생성 속도 배치
16,384 19,713 MiB 90.4 tok/s GPU 100%
32,768 21,277 MiB 96.8 tok/s GPU 100%
40,960 22,077 MiB 95.8 tok/s GPU 100%
49,152 22,635 MiB 58.0 tok/s 2% / 98%
65,536 22,315 MiB 49.5 tok/s 10% / 90%
컨텍스트 설정별 생성 속도 — 48k에서 절벽028568311190.416k96.832k95.840k5848k49.564knum_ctxtok/s
컨텍스트 설정별 생성 속도 — 48k에서 절벽

시험한 지점 중에서는 40,960이 마지막으로 전부 올라갔고 49,152에서 처음 넘쳤습니다. 그 사이는 재지 않았으므로 실제 경계가 어디인지는 모릅니다.

예측은 1.3~1.7% 안에 들었다

전부 GPU에 올라간 구간만 비교하면 이렇습니다.

num_ctx 표의 예측 실측 오차
16,384 19.58 GiB 19.25 GiB +1.7%
32,768 21.08 GiB 20.78 GiB +1.5%
40,960 21.83 GiB 21.56 GiB +1.3%

세 조건 모두 표가 실제보다 조금 크게 잡습니다. 예측이 부족한 방향으로 틀리면 “된다”고 해놓고 안 되는 일이 생기는데, 그 방향은 아니었습니다.

49,152부터는 이 비교를 하지 않았습니다. 일부가 CPU로 내려가면 예측값은 전체 필요량인데 실측값은 GPU 에 남은 양이라 서로 다른 것을 비교하게 됩니다. 65,536에서 겉보기 오차가 10.5%로 뛰는 것도 같은 이유이며, 이 숫자는 예측 정확도를 뜻하지 않습니다.

10% 여유 규칙이 거의 정확히 맞았다

표는 예상 사용량 × 1.1 ≤ VRAM 일 때만 “들어간다”고 판정합니다. 10%를 여유로 둔 겁니다.

이 규칙을 뒤집으면 임계값이 나옵니다.

24 GiB ÷ 1.1 = 21.818 GiB

예상 사용량이 21.818 GiB를 넘으면 표는 안 된다고 답합니다.

실측 경계는 이랬습니다.

임계값 21.818은 시험한 지점 중 마지막으로 성공한 40,960의 예측값 21.83과 0.055% 차이입니다.

다만 이걸 “규칙이 정확했다”로 읽으면 안 됩니다. 오히려 반대입니다. 40,960은 임계값을 0.012 GiB 넘겨서 표가 “안 된다”고 판정하는데 실제로는 올라갔습니다. 규칙이 이 한 칸을 틀리게 분류한 것입니다.

말할 수 있는 건 여기까지입니다. 임의로 잡은 10%가 이 구성에서 실측 경계 근처에 떨어졌습니다. 그리고 경계에서 안전한 쪽으로 틀렸습니다.

경계점 하나가 가깝다는 것만으로 규칙 자체가 맞다고 하기엔 표본이 부족합니다.

그래서 표는 32k라고 답한다

이 한 칸 때문에 표는 시험에서 확인된 것보다 한 단계 아래를 말합니다. 40,960이 되는 걸 확인했는데 32k라고 합니다.

고칠까 고민했는데, 두지 않기로 했습니다. 틀리는 비용이 양쪽에서 다르기 때문입니다.

40,960에서 49,152로 넘어갈 때 ollama ps 의 CPU 비율이 **2%**로 바뀌었습니다. 같은 구간에서 생성 속도는 95.8에서 58.0 tok/s로 39% 떨어졌습니다.

이전 글에서 본 절벽과 모양이 같습니다. 다만 2%라는 수치가 39% 하락의 원인임을 이번 측정으로 분리하지는 못했습니다. 컨텍스트 길이 자체도 함께 늘었고, 조건당 1회라 변동폭도 모릅니다. 두 가지가 같이 관측됐다는 것까지가 사실입니다.

“안 되는데 된다”고 하면 39%를 잃습니다. “되는데 안 된다”고 하면 한 단계 짧은 컨텍스트를 쓰게 됩니다. 후자가 훨씬 쌉니다.

대신 다른 걸 고쳤다

표의 진짜 문제는 규칙이 아니라 눈금이었습니다.

컨텍스트 후보가 4k, 8k, 16k, 32k, 64k, 128k 여섯 개뿐이었습니다. 2배씩 뛰니까 그 사이 값을 아예 못 냅니다. 40,960이 된다는 걸 알아도 표에는 나올 자리가 없었습니다.

6k, 12k, 24k, 40k, 48k, 96k를 추가했습니다. 결과가 이렇게 달라집니다.

모델 VRAM 기존 개선
Gemma 2 9B 24GB 32k 48k
Gemma 2 27B 24GB 8k 12k
Qwen2.5 14B 16GB 16k 24k
Llama 3.2 3B 16GB 64k 96k
Llama 3.1 8B 12GB 32k 40k
Mistral 7B 12GB 32k 48k

전부 기존 표가 실제보다 짧게 답하던 칸입니다. 계산이 틀린 게 아니라 답할 수 있는 값이 없어서 한 단계 내려 적고 있었습니다.

정리

이 글로 계산기 4개가 모두 실측 검증을 거쳤습니다. 각각의 측정 과정과 오차는 따로 적어 뒀습니다.

이 측정에 쓴 장비

측정 방법

한계

#로컬LLM#VRAM#RTX3060#컨텍스트#CPU오프로드