내 컴퓨터로 AI 돌리기: 그래픽카드와 VRAM 기준
로컬 AI 모델이 내 그래픽카드에 들어갈지, 모델 크기·양자화·VRAM으로 미리 가늠하는 법을 알려 드립니다.
한국어English

기준: Google·Ollama·llama.cpp·NVIDIA 공식 문서. 2026년 9월에 확인했습니다. 모델 크기와 지원 GPU 목록은 자주 바뀝니다.
Ollama 같은 프로그램을 쓰면 AI 언어 모델을 인터넷 없이 내 컴퓨터에서 돌릴 수 있습니다. 그런데 막상 모델을 고르려고 하면 "4B", "12B", "Q4", "fp16" 같은 낯선 표시가 나오고, 어떤 모델은 잘 돌고 어떤 모델은 거북이처럼 느립니다. 로컬 AI가 빠르게 돌지는 대부분 모델 파일이 그래픽카드 메모리(VRAM)에 통째로 들어가느냐로 갈립니다.
이 글에서는 모델 크기 표시를 읽는 법, 양자화가 무엇인지, 모델 말고도 메모리를 차지하는 것, 모델이 다 안 들어갈 때 생기는 일, 내 그래픽카드가 지원되는지 확인하는 법, 그리고 내 컴퓨터에 맞는 모델을 고르는 순서를 설명합니다.
로컬 AI와 클라우드 AI의 장단점 비교는 로컬 AI와 클라우드 AI, 무엇이 다를까 글에, VRAM이라는 메모리 자체의 설명은 VRAM의 뜻 글에 있습니다.
그래픽카드가 중요한 이유
언어 모델이 답을 만들 때는 아주 많은 숫자에 같은 곱셈과 덧셈을 되풀이합니다. 이런 일은 수천 개의 계산을 한꺼번에 처리하는 GPU가 잘합니다. 두 칩의 차이는 CPU와 GPU의 차이 글에서 자세히 다룹니다.
그 글에서는 식당에 비유해 CPU를 주문을 받고 순서를 정하는 주방장, GPU를 채소 수백 개를 한꺼번에 써는 대규모 손질 팀이라고 했습니다. 이 비유를 이어 가겠습니다. GPU가 계산을 하려면 모델의 숫자들이 GPU 바로 옆 메모리인 VRAM에 올라와 있어야 합니다. VRAM은 손질 팀 바로 앞의 조리대입니다. 재료(모델)가 조리대에 다 올라가면 손질 팀이 쉬지 않고 한꺼번에 손질합니다. 조리대에 다 올리지 못하면 어떻게 되는지는 아래 "다 안 들어갈 때" 부분에서 다룹니다. 그래서 로컬 AI에서는 GPU 칩의 속도보다 VRAM 용량이 먼저 따져 볼 조건이 되는 경우가 많습니다.
모델 크기 표시 읽는 법: "B"는 10억
모델 이름 뒤의 4B, 12B, 31B는 모델 안에 든 매개변수(parameter)의 개수입니다. B는 billion, 곧 10억을 뜻합니다. 12B라면 숫자가 120억 개 들어 있다는 말입니다.
매개변수는 모델이 학습하면서 조정한 조절 손잡이입니다. 손잡이가 많을수록 대체로 더 복잡한 것을 다룰 수 있지만, 그만큼 파일이 커지고 메모리도 많이 먹습니다.
크기를 대략 가늠하는 산수는 간단합니다. 숫자 하나를 얼마나 정밀하게 저장하느냐에 따라 자리 크기가 정해집니다.
- 16비트(BF16·fp16): 숫자 하나에 2바이트 → 10억 개(1B)당 약 2GB
- 8비트: 1바이트 → 1B당 약 1GB
- 4비트: 0.5바이트 → 1B당 약 0.5GB
예를 들어 12B 모델을 16비트로 두면 120억 × 2바이트 = 약 24GB, 4비트로 줄이면 약 6GB입니다. 이것은 단순 계산이라 실제로는 조금 더 필요합니다. 실제 값은 아래 공식 표로 확인해 보겠습니다.
양자화: 같은 옷을 압축팩에 담기
양자화(quantization)는 모델 안의 숫자를 덜 정밀하게, 더 작은 자리에 저장하는 방법입니다. 이름에 붙은 Q4, Q8, q4_K_M 같은 표시가 양자화 수준입니다. Q 뒤의 숫자는 숫자 하나를 담는 대략의 비트 수이고, 작을수록 더 많이 줄인 것입니다. 뒤에 붙는 K_M 같은 글자는 줄이는 방법의 종류입니다.
여행 가방으로 비유하면, 같은 옷을 그냥 넣으면 큰 가방이 필요하지만 압축팩에 넣으면 작은 가방에도 들어갑니다. 대신 너무 세게 누르면 옷에 주름이 조금 생깁니다. 양자화도 크기를 크게 줄여 주는 대신, 많이 줄일수록 답의 품질이 조금 떨어질 수 있습니다.
내 컴퓨터에서 언어 모델을 돌리는 오픈소스 엔진인 llama.cpp는 1.5비트부터 8비트까지 여러 단계의 정수 양자화를 지원합니다. 추론을 빠르게 하고 메모리 사용을 줄이기 위한 것입니다. 여기서 추론은 모델이 질문을 받아 답을 계산하는 과정을 말합니다.
실제 파일 크기로 보면 차이가 확실합니다. Ollama 공식 모델 목록에서 같은 Gemma 3 4B 모델을 비교하면 q4_K_M(기본값) 3.3GB, q8_0 5.0GB, fp16 8.6GB입니다. 같은 모델인데 가장 큰 버전과 가장 작은 버전이 두 배 넘게 차이 납니다. Ollama 목록에서 gemma3의 경우, 태그 없이 받는 기본 버전(latest)이 4비트 계열인 q4_K_M으로 표시되어 있습니다. 다른 모델의 기본값은 모델 페이지에서 따로 확인하세요.
공식 표로 보는 "필요한 메모리"
먼저 한 가지를 짚고 가겠습니다. 앞의 Ollama 숫자는 Gemma 3, 아래 표는 새 세대인 Gemma 4입니다. 이름에 똑같이 "4B"가 들어가도 세대와 구조가 다른 모델이라, 앞의 숫자와 아래 표의 숫자를 직접 비교하면 안 됩니다.
Google은 Gemma 4 모델 문서에 모델 크기와 양자화 수준별로 불러오는 데 필요한 대략의 GPU 메모리 표를 공개하고 있습니다. 그 값 가운데 일부를 옮기면 이렇습니다.
| 모델 | 16비트 (BF16) | 8비트 (SFP8) | 4비트 (Q4_0) |
|---|---|---|---|
| Gemma 4 E4B | 17.9GB | 8.9GB | 4.5GB |
| Gemma 4 12B | 26.7GB | 13.4GB | 6.7GB |
| Gemma 4 31B | 69.9GB | 34.9GB | 17.5GB |
이 표를 읽을 때 두 가지를 같이 봅니다.
- Google은 이 값이 매개변수 수와 양자화 수준에 추가로 불러오는 것들을 위한 20% 여유를 더한 대략의 값이며, 추론 도구와 환경에 따라 달라질 수 있다고 적습니다.
- 이 표는 모델 가중치(학습된 숫자)만 계산한 것입니다. 프로그램 자체와 대화 내용을 담는 공간은 들어 있지 않습니다.
이름의 숫자와 실제 메모리가 다른 모델
표를 앞의 단순 산수와 맞춰 보면 결과가 둘로 갈립니다.
- 12B·31B는 산수와 비슷합니다. 12B를 16비트로 두면 산수로 약 24GB이고, 표의 26.7GB는 여기에 여유분이 붙은 정도입니다.
- E4B는 크게 다릅니다. 산수로는 4B × 2바이트 = 약 8GB인데, 표에는 17.9GB로 두 배가 넘습니다.
이름만 보고 메모리를 짐작하면 틀리기 쉬운 경우가 두 가지 있고, 둘 다 Google 문서에 이유가 나와 있습니다.
- 이름에 "E"가 붙은 모델(E2B·E4B): E는 "유효(effective) 매개변수"라는 뜻입니다. 층마다 따로 붙은 큰 찾아보기 표 때문에, 계산에 쓰는 부분은 4B 규모지만 실제로 올릴 메모리는 이름보다 훨씬 큽니다. 실제로 읽는 책은 얇은데 옆에 두꺼운 사전 여러 권을 같이 펼쳐 둬야 하는 것과 같습니다.
- 이름에 "A4B"처럼 적힌 모델(26B A4B): 전문가 혼합, 곧 MoE 방식입니다. 모델 안을 여러 '전문가' 묶음으로 나누고 그때그때 일부만 골라 쓰는 구조입니다. 답을 만들 때 토큰마다 40억 개만 골라 계산하지만, 빠르게 골라 쓰려면 260억 개 전부를 메모리에 올려야 합니다. 이 모델의 기본 메모리 요구는 4B보다 26B 모델에 훨씬 가깝습니다.
정리하면 구조가 평범한 모델은 산수가 잘 맞고, E 모델이나 MoE 모델처럼 구조가 특이한 모델은 크게 다를 수 있습니다. 그래서 실제로 고를 때는 이름의 숫자보다 모델 제작사 문서나 도구가 보여 주는 크기를 기준으로 삼는 것이 안전합니다.
공식 숫자로 해 보는 계산 예시
전용 VRAM이 8GB인 그래픽카드를 예로 들어 위 표로 따져 보겠습니다. 표의 값은 모델 가중치만의 대략값이라, 남는 공간에서 대화 기억과 프로그램 몫을 해결해야 합니다.
| 고른 모델 (4비트 Q4_0) | 표의 메모리 | 8GB에서 남는 공간 | 판단 |
|---|---|---|---|
| Gemma 4 E4B | 4.5GB | 약 3.5GB | 대화 공간까지 여유가 있음 |
| Gemma 4 12B | 6.7GB | 약 1.3GB | 가중치는 들어가지만 대화 공간이 빠듯함 |
| Gemma 4 12B (8비트) | 13.4GB | 모자람 | 일부가 넘쳐 CPU와 나눠 실행 |
같은 8GB 카드라도 E4B 4비트는 편안하고, 12B 4비트는 긴 대화나 긴 문서를 넣으면 넘칠 수 있는 경계선이라는 뜻입니다. 12B 8비트처럼 표의 값이 VRAM보다 크면 아래에서 설명할 "나눠 싣기"가 일어납니다.
같은 방법으로 내 VRAM 숫자를 넣어 보세요. 표의 값 + 대화 공간 여유가 내 VRAM보다 작아야 편하게 돌아갑니다.
모델 말고도 메모리를 먹는 것: 대화 길이
VRAM에는 모델만 올라가는 것이 아닙니다. 대화가 길어질수록 AI가 지금까지의 대화를 기억해 두는 공간이 함께 커집니다. 이 공간을 KV 캐시라고 부르고, AI가 한 번에 읽을 수 있는 대화 분량을 컨텍스트 창이라고 합니다. 컨텍스트와 토큰의 뜻은 토큰과 컨텍스트 글에 정리되어 있습니다.
메모리 사용량은 프롬프트와 답변의 토큰 수에 따라 실행 중에 늘어나며, 컨텍스트 창이 클수록 모델 가중치 위에 VRAM이 훨씬 더 필요합니다. Ollama를 예로 들면 이렇습니다.
- Ollama의 기본 컨텍스트 창은 4096토큰입니다. 이를 늘리면 메모리 요구도 따라서 늘어납니다.
- 한 모델이 여러 요청을 동시에 처리하게 설정하면(Ollama 설정값(환경 변수)
OLLAMA_NUM_PARALLEL), 동시에 처리하는 요청 수만큼 대화 공간(컨텍스트)이 늘어나 메모리가 더 듭니다. 예를 들어 2K 컨텍스트에 요청 4개를 동시에 받으면 8K 컨텍스트가 됩니다. 모델 가중치가 늘어나는 것은 아닙니다. - 또 다른 설정값
OLLAMA_KV_CACHE_TYPE으로 대화 기억 공간도 양자화할 수 있습니다. 기본값 f16에 비해 q8_0은 메모리를 절반, q4_0은 4분의 1로 줄이지만 정밀도 손해가 더 큽니다.
그래서 모델 파일 크기가 VRAM과 딱 같으면 부족합니다. 대화 공간과 프로그램 몫을 위해 여유를 남겨 두어야 합니다. 얼마를 남길지는 대화 길이와 도구 설정에 따라 달라지므로, 처음에는 넉넉하게 잡고 실제 사용량을 확인하며 조정하는 방법이 좋습니다.
다 안 들어갈 때: CPU와 GPU가 나눠 싣기
모델이 VRAM보다 크다고 아예 못 쓰는 것은 아닙니다. llama.cpp는 CPU와 GPU를 섞어 쓰는 방식으로 전체 VRAM보다 큰 모델도 일부를 GPU로 가속할 수 있습니다. 모델의 일부는 VRAM에, 나머지는 일반 메모리(RAM)에 올려 CPU가 계산하는 방식입니다.
앞의 식당 비유로 이어 가면 이렇습니다. 손질 팀의 조리대(VRAM)에 못 올린 재료는 옆 테이블(RAM)에 놓이고, 그 재료는 주방장(CPU)이 혼자 손질해야 합니다. 주방장은 순서를 정하고 복잡한 일을 처리하는 데는 뛰어나지만, 채소 수백 개를 혼자 써는 일은 손질 팀보다 훨씬 느립니다. 손질 팀(GPU)이 자기 몫을 금방 끝내도, 요리 한 접시가 완성되려면 주방장의 몫까지 끝나야 합니다. 그래서 전체 속도가 느린 쪽에 끌려갑니다. CPU와 GPU 글의 "손질 팀이 없으면 주방장 혼자 채소를 다 써느라 요리가 늦어진다"는 말이 바로 이 상황입니다. 넘치는 비율이 클수록 주방장이 맡는 양이 늘어나 답이 나오는 속도가 눈에 띄게 느려집니다.
Ollama에서는 지금 모델이 어디에 올라가 있는지 직접 볼 수 있습니다. 모델을 실행한 채로 터미널에서 ollama ps를 입력하면 Processor 칸이 나옵니다. 뜻은 이렇습니다.
- 100% GPU: 모델 전체가 GPU(VRAM)에 올라감
- 100% CPU: 모델 전체가 일반 메모리에 올라감
- 48%/52% CPU/GPU: 일반 메모리와 GPU에 나눠 올라감
"100% GPU"가 아니라면 더 작은 모델이나 더 많이 양자화한 버전을 고르거나, 컨텍스트 길이를 줄이는 것부터 해 볼 수 있습니다. Ollama는 기본적으로 쓴 모델을 5분 동안 메모리에 남겨 두어 다음 질문에 빨리 답합니다. 메모리를 바로 비우고 싶으면 ollama stop을 쓰면 됩니다.
내 그래픽카드가 지원되는지 확인하기
VRAM이 넉넉해도 도구가 그 GPU를 쓰지 못하면 CPU로만 돌아갑니다. 공식 문서 기준으로 정리하면 이렇습니다. 지원 목록은 자주 바뀌니 설치 전에 꼭 최신 문서를 보세요.
| GPU 종류 | Ollama 문서 기준 | llama.cpp 백엔드 |
|---|---|---|
| NVIDIA | compute capability 5.0 이상, 드라이버 550 이상(오래된 일부 세대는 570 이상). Windows는 551.61 이상 드라이버 | CUDA |
| AMD | ROCm 라이브러리를 쓰며 모든 AMD GPU를 지원하지는 않음. Vulkan으로도 지원 | HIP, Vulkan |
| Apple Silicon Mac | Metal로 GPU 가속 | Metal |
| 그 밖의 GPU | Windows·Linux에서 Vulkan 지원을 따로 안내 | Intel GPU는 SYCL, 그 밖에 Vulkan |
표의 CUDA, ROCm, HIP, Vulkan, Metal, SYCL은 프로그램이 GPU에 계산을 맡길 때 쓰는 기술의 이름이고, 백엔드는 그 기술을 쓰는 통로를 말합니다. 이름을 외울 필요는 없고, 내 GPU 제조사 줄에 적힌 조건만 확인하면 됩니다.
compute capability는 NVIDIA가 GPU 세대마다 붙인 기능 번호로, 각 아키텍처가 지원하는 하드웨어 기능과 명령을 정의합니다. 내 카드의 번호는 NVIDIA의 CUDA GPU 목록 페이지에서 찾을 수 있습니다.
Apple Silicon Mac은 CPU와 GPU가 하나의 메모리를 함께 쓰는 통합 메모리 구조라서, 따로 적힌 "VRAM 몇 GB"가 없습니다. 이 구조의 차이는 VRAM의 뜻 글의 "전용 메모리, 공유 메모리, 통합 메모리" 부분을 참고하세요.
내 컴퓨터에 맞는 모델 고르는 순서
- 내 VRAM 확인하기: Windows라면
Ctrl+Alt+Delete를 누른 뒤 작업 관리자를 고르고, 성능 탭에서 GPU를 누릅니다. 아래쪽에 나오는 전용 GPU 메모리의 전체 용량을 봅니다. 자세한 순서는 VRAM의 뜻 글의 "내 VRAM 확인하기" 절에 있습니다. - 드라이버·지원 여부 확인하기: 위 표와 쓰려는 도구의 공식 문서로 내 GPU가 지원되는지 봅니다.
- 모델 파일 크기 보기: 모델 제작사 문서나 Ollama 모델 목록에서 버전별 크기를 봅니다. 처음에는 4비트 계열 버전으로 시작하는 것이 무난합니다.
- 여유 남기기: 모델 크기가 VRAM을 꽉 채우면 대화 공간이 모자랍니다. 크기에 여유가 있는 모델부터 시도합니다.
- 실제로 확인하기: 실행한 뒤
ollama ps로 "100% GPU"인지 보고, 작업 관리자에서 전용 GPU 메모리 사용량을 봅니다. - 저장 공간과 RAM도 챙기기: Windows용 Ollama는 설치에만 최소 4GB가 필요하고 모델은 수십~수백 GB가 될 수 있습니다. 모델 저장 위치는
OLLAMA_MODELS설정값으로 다른 드라이브로 옮길 수 있습니다. 저장 장치 고르는 법은 SSD·HDD·NVMe 차이, 넘친 모델을 받아 줄 일반 메모리는 RAM 용량 고르기 글에서 다룹니다.
흔한 오해 바로잡기
- "매개변수가 크면 무조건 좋은 모델이다." 대체로 큰 모델이 더 복잡한 일을 잘하지만, 내 VRAM에 들어가지 않으면 느려서 쓰기 어렵습니다. 들어가는 크기 안에서 고르는 것이 실제로 쓸 만한 선택입니다.
- "4비트는 품질이 망가진다." 양자화를 많이 할수록 품질 손해가 커질 수 있는 것은 맞지만, Ollama의 gemma3 기본 버전이 4비트 계열(q4_K_M)일 만큼 흔히 쓰이는 방식입니다. 품질이 아쉬우면 같은 모델의 8비트 버전과 직접 비교해 보면 됩니다.
- "이름의 숫자(4B)만큼만 메모리가 든다." 앞에서 본 E 모델과 MoE 모델은 실제로 올릴 메모리가 이름의 숫자보다 훨씬 큽니다. 이름보다 제작사 표의 메모리 값을 보세요.
- "모델 파일 크기만큼만 있으면 된다." 대화 기억 공간과 프로그램 몫이 따로 필요합니다.
정리
| 기억할 것 | 한 줄 요약 |
|---|---|
| 속도를 가르는 것 | 모델이 VRAM에 통째로 들어가는지 |
| 12B의 뜻 | 매개변수 120억 개 |
| 대략 크기 | 16비트는 1B당 약 2GB, 4비트는 약 0.5GB (+여유) |
| 양자화 | 숫자를 덜 정밀하게 저장해 크기를 줄임, 대신 품질이 조금 떨어질 수 있음 |
| 숨은 메모리 | 대화가 길수록 커지는 KV 캐시, 프로그램 몫 |
| 넘치면 | 넘친 부분은 RAM에 두고 주방장(CPU)이 혼자 계산, 전체가 느려짐 (ollama ps로 확인) |
| 이름의 숫자 | E(유효 매개변수)·MoE 모델은 실제 메모리가 이름보다 클 수 있음 |
참고 자료
모델 크기와 지원 GPU 목록은 자주 바뀌니 공식 페이지에서 다시 확인하세요.
- Google AI for Developers, Gemma 4 model overview (Inference Memory Requirements) — https://ai.google.dev/gemma/docs/core
- Ollama, gemma3 모델 태그 목록 — https://ollama.com/library/gemma3/tags
- Ollama Docs, FAQ — https://docs.ollama.com/faq
- Ollama Docs, Hardware support (GPU) — https://docs.ollama.com/gpu
- Ollama Docs, Windows — https://docs.ollama.com/windows
- llama.cpp 공식 README (ggml-org) — https://github.com/ggml-org/llama.cpp
- NVIDIA, CUDA GPU Compute Capability — https://developer.nvidia.com/cuda-gpus





