새 16GB GPU만 놓고 보면 GeForce RTX 5070 Ti가 로컬 LLM 코딩의 균형점이다. NVIDIA가 공개한 사양은 16GB GDDR7, 256-bit, 896 GB/s, TGP 300W다. RTX 5080의 960 GB/s에 근접하면서도 전력 등급은 360W보다 낮다.
하지만 “가장 좋은 카드”는 세 갈래다. 예산과 발열이 먼저라면 RTX 5060 Ti 16GB, 같은 16GB에서 기다림을 줄이는 게 중요하면 RTX 5070 Ti, 이미 workload가 전부 들어가고 1분의 가치가 아주 크면 RTX 5080이다. 모델과 필요한 컨텍스트가 16GB에 안 들어가면 이 셋 모두 오답이며 24GB 또는 hosted coding을 봐야 한다.
16GB 후보를 한 문장으로 거르는 법
구매 전에 다음 문장을 실제 숫자로 완성한다.
“이 GPU는 같은 모델·quantization·runtime에서 내 작업 컨텍스트를 전부 GPU에 올리고, 기록한 평균 시간과 Wh 안에 저장소 검사를 통과하는 patch를 만든다.
빈칸을 채울 수 없다면 게임 benchmark나 AI TOPS만으로는 로컬 코딩용 구매를 결정할 수 없다.
NVIDIA의 현재 GeForce 사양표에서 확인되는 경계는 다음과 같다.
| 카드 | 공개된 메모리 경로 | Reference power | 의미 |
|---|---|---|---|
| RTX 5060 Ti 16GB | 128-bit, 448 GB/s | 180W TGP | 낮은 전력과 비용이 중요한 1인 환경 |
| RTX 5070 Ti 16GB | 256-bit, 896 GB/s | 300W TGP | 인터랙티브 코딩의 기본 performance 후보 |
| RTX 5080 16GB | 256-bit, 960 GB/s | 360W TGP | 용량은 충분하고 대기 시간만 줄일 때 |
| RTX 4070 Ti SUPER | 256-bit, 16GB GDDR6X | 285W TGP | 할인/중고 가격이 좋고 상태 확인이 될 때 |
| RTX 4080 계열 | 256-bit, 16GB GDDR6X | 320W TGP | 새 세대 인접 카드보다 충분히 저렴할 때 |
5060 Ti에서 5070 Ti로 가면 공개 bandwidth가 크게 늘지만 VRAM은 그대로다. 5070 Ti에서 5080으로 가도 16GB다. 따라서 추가 비용은 “더 큰 모델”이 아니라 prompt 처리와 generation의 시간 절약에 지불한다.

Model file 크기는 VRAM 요구량이 아니다
실행 중 VRAM에는 weights만 있는 게 아니다. KV cache, compute buffer, runtime overhead, display와 다른 process도 같은 공간을 쓴다. Quantization은 weights를 줄이고, model architecture와 context length는 KV cache를 바꾸며, batch와 parallel request는 allocation을 다시 키운다.
Ollama의 현재 컨텍스트 문서는 24 GiB 미만 VRAM에서 기본 context를 4K로 두며, context를 늘리면 memory가 더 필요하다고 설명한다. 코딩 session이 실제로 동작할 때 아래를 확인한다.
bashollama ps
PROCESSOR와 CONTEXT가 핵심이다. 짧은 chat에서 100% GPU라고 표시되어도 여러 파일, tool output, test log를 넣은 session에서는 CPU offload가 생길 수 있다. 후자가 구매 판단에 사용할 상태다.
Context는 세 단계로 올린다.
- 대상 함수와 인접 test만 포함한 최소 task
- 평소의 multi-file change와 repository rule을 포함한 task
- 긴 log와 dependency를 추적하는 실제 stress task
각 단계에서 peak VRAM, offload/OOM, 첫 유효 출력 시간, 전체 완료 시간, test 통과 여부를 기록한다. 16K에서 32K로 늘려도 acceptance가 오르지 않고 latency만 커지면 32K는 낭비다. 16K에서 필요한 caller를 놓치고 32K에서만 test를 통과한다면 그때 context 증가가 실무 가치다.
Ollama FAQ는 병렬 요청 수가 context allocation을 키운다는 점도 명시한다. 개인 editor용 단일 session 결과로 팀 server의 VRAM을 계산하면 안 된다.
먼저 hardware baseline을 고정한다
llama.cpp의 llama-bench는 prompt processing과 text generation을 나눠 반복 측정할 수 있다.
bashllama-bench -m model.gguf -p 2048 -n 256 -r 5 -o json
비교할 때는 model file과 checksum, quantization, llama.cpp build, context, GPU offload, batch, sampling, concurrency를 고정한다. 평균뿐 아니라 분산도 남긴다. 이 도구는 tokenization과 sampling 시간을 포함하지 않으므로 end-to-end coding 성공률이 아니라 hardware baseline으로만 쓴다.
한 카드에서만 다른 quantization을 쓰거나 context를 줄이면 카드가 아니라 stack을 비교한 것이다.
Accepted work는 모델이 아니라 repository가 결정한다
모델에게 task를 주기 전에 acceptance를 쓴다. 예를 들면 “고정 commit에서 parser의 failing case 하나를 수정하고, parser module과 해당 test만 변경하며, 지정 unit test와 lint를 통과한다”처럼 범위를 닫는다.
다음 조건을 모두 만족해야 accepted로 센다.
- 요청한 behavior가 재현 가능하게 수정됨
- 지정 test와 static check의 exit code가 0
- 허용 file 밖으로 diff가 확장되지 않음
- 설명되지 않은 dependency, generated file, broad rewrite가 없음
- 사람이 핵심 solution을 다시 작성할 필요가 없음
작은 edit, multi-file change, debugging task를 같은 commit에서 모든 후보에 준다. 실패 attempt와 재시도 시간도 포함한다.
textacceptance rate = accepted tasks / attempted tasks accepted tasks per hour = accepted tasks / total elapsed hours
Tok/s가 높아도 context를 잃어 patch를 두 번 버리면 하루 생산성은 낮다. Accepted tasks/hour는 model quality, context fit, hardware latency를 한 작업 단위에서 만난다.

Power는 test가 끝날 때까지 잰다
TGP는 PSU와 cooling을 고르는 reference이지 시스템 전체 wall power가 아니다. CPU offload는 GPU power를 낮게 보이게 하면서 전체 task를 오래 끌 수 있다.
NVIDIA에서는 task 실행 중 다음 telemetry를 1초 간격으로 남길 수 있다.
bashnvidia-smi \ --query-gpu=timestamp,memory.used,memory.total,power.draw,utilization.gpu \ --format=csv -l 1
전기요금, 방열, PSU 부하가 중요하면 wall meter를 더한다. Request 직전부터 repository test 종료까지 측정하고 긴 idle은 제외한다.
textenergy_kWh = average wall watts × elapsed hours / 1000 accepted tasks per kWh = accepted tasks / energy_kWh
같은 task를 끝낸 에너지로 비교해야 한다. 순간 peak power만 비교하면 빠르게 끝나는 카드와 오래 도는 저전력 카드를 공정하게 볼 수 없다.
AMD 16GB는 OS와 runtime이 먼저다
AMD의 Radeon RX 9060 XT 16GB 공개 사양은 16GB GDDR6, 320 GB/s, typical board power 160W다. Capacity와 power 관점에서는 매력적이지만, 이 숫자는 CUDA와 같은 application path를 보장하지 않는다.
Ollama의 현재 GPU 지원 페이지는 Linux ROCm 목록에 RX 9060 XT를 포함하지만 native Windows 목록과 driver 조건은 다르다. AMD Radeon ROCm matrix도 Linux와 WSL, framework version을 구분한다. 구매 전 exact OS, driver, runtime build, model format, context, editor integration으로 smoke task를 통과시킨다. CPU fallback이 필요한 구성은 낮은 GPU 가격으로 보상되지 않을 수 있다.
24GB로 넘어갈 때를 미리 정한다
NVIDIA 사양상 RTX 3090은 24GB GDDR6X, graphics-card power 350W다. 중고 매물이 빠른 16GB 카드와 비슷한 가격이면 capacity 대안이지만, memory 상태, cooling, PSU, 보증 위험을 함께 본다.
- 5060 Ti 16GB에서 workload가 전부 들어가고 시간 목표를 만족하면 더 싼 route를 산다.
- Fit은 되지만 반복 대기가 업무를 막으면 5070 Ti의 실제 accepted-work 향상을 가격 차이와 비교한다.
- Fit이 확실하고 시간 가치가 매우 높을 때만 5080을 speed upgrade로 본다.
- 필요한 context에서 모든 16GB가 offload/OOM이면 24GB 또는 hosted route로 이동한다.
하드웨어 class를 정한 뒤 model과 quantization을 선택한다. 그 다음 단계는 16GB VRAM 로컬 코딩 LLM 선택 가이드가 맡는다. GPU capacity와 model quality를 분리해야 “더 빠른 16GB”를 memory 부족의 해결책으로 사는 실수를 피할 수 있다.



