내 PC에서 LLM 돌리기 — Ollama & llama.cpp 완벽 가이드
로컬에서 LLM을 실행하는 방법. Ollama 설치부터 llama.cpp 빌드, GPU 가속, 모델 선택까지 실전 세팅 가이드.
ChatGPT나 Claude를 쓸 때마다 드는 생각이 있다. "이거 내 컴퓨터에서 돌리면 안 되나?" API 비용 걱정 없이, 인터넷 없이도, 데이터가 외부로 나가지 않게. 2026년 현재 오픈소스 LLM의 성능이 꽤 올라오면서, 로컬 실행이 실용적인 선택지가 됐다.
물론 GPT-4o나 Claude Opus 급의 성능을 기대하면 실망한다. 하지만 코드 자동완성, 간단한 요약, 문서 초안 작성 같은 작업에서는 로컬 모델로도 충분한 경우가 많다.
왜 로컬에서 돌리나
비용 — API 호출당 과금되는 구조에서 벗어난다. 초기 하드웨어 비용은 들지만, 많이 쓸수록 이득이다.
프라이버시 — 민감한 코드나 내부 문서를 외부 서버로 보내지 않아도 된다. 보안 정책이 엄격한 환경에서는 사실상 유일한 선택지.
오프라인 — 비행기 안이든 지하철이든 인터넷 없이 쓸 수 있다.
커스터마이징 — 모델을 파인튜닝하거나, 시스템 프롬프트를 자유롭게 설정하거나, RAG 파이프라인을 직접 구축할 수 있다.
단점도 명확하다. 좋은 GPU가 필요하고, 최상위 모델 대비 성능 차이가 있고, 세팅에 시간이 든다.
하드웨어 요구사항
로컬 LLM의 병목은 **VRAM(GPU 메모리)**이다. 모델 크기에 따라 필요한 VRAM이 다르다.
| 모델 크기 | 필요 VRAM (4bit 양자화) | 추천 GPU |
|---|---|---|
| 7~8B | 4~6GB | RTX 3060 12GB, RTX 4060 |
| 13~14B | 8~10GB | RTX 3080, RTX 4070 |
| 30~34B | 18~20GB | RTX 3090, RTX 4090 |
| 70B | 36~40GB | A100, 또는 CPU 오프로딩 |
GPU가 없어도 CPU로 돌릴 수 있다. 느리지만 된다. RAM이 충분하면 (16GB 이상) 7B 모델은 CPU만으로도 쓸만한 속도가 나온다. Apple Silicon 맥은 통합 메모리 덕분에 GPU 메모리 걱정이 적어서 로컬 LLM에 꽤 적합하다.
Ollama — 5분 만에 시작하기
로컬 LLM을 가장 쉽게 시작하는 방법. Docker를 몰라도, Python 환경을 안 깔아도 된다.
설치
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows는 공식 사이트에서 설치 파일 다운로드
모델 실행
# 모델 다운로드 & 실행 (첫 실행 시 자동 다운로드)
ollama run llama3.1
# 다른 모델들
ollama run mistral
ollama run codellama
ollama run gemma2
ollama run qwen2.5-coder
이게 끝이다. 명령어 한 줄이면 모델이 다운로드되고 대화형 인터페이스가 뜬다. 내부적으로 llama.cpp 기반이라 성능도 괜찮다.
API 서버로 쓰기
Ollama는 기본으로 REST API를 제공한다. localhost:11434에서 돌아간다.
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt": "Python으로 퀵소트 구현해줘",
"stream": false
}'
OpenAI API와 호환되는 엔드포인트도 지원해서, OpenAI SDK로 작성된 코드를 거의 그대로 로컬 모델에 연결할 수 있다.
# OpenAI 호환 API
curl http://localhost:11434/v1/chat/completions -d '{
"model": "llama3.1",
"messages": [{"role": "user", "content": "Hello"}]
}'
기존에 OpenAI API 기반으로 만든 앱이 있다면, base URL만 바꾸면 로컬 모델로 전환 가능하다는 뜻이다.
llama.cpp — 더 세밀한 제어가 필요할 때
Ollama가 "설치하면 바로 쓰는" 도구라면, llama.cpp는 직접 빌드하고 최적화하는 도구다. C/C++로 작성되어 있어서 가볍고 빠르다.
빌드
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# CPU만 쓸 경우
make
# NVIDIA GPU 가속 (CUDA)
make GGML_CUDA=1
# Apple Silicon (Metal)
make GGML_METAL=1
모델 다운로드 & 실행
모델은 GGUF 포맷을 사용한다. Hugging Face에서 양자화된 모델을 직접 다운로드한다.
# 서버 모드로 실행
./llama-server -m models/llama-3.1-8b-q4_k_m.gguf \
--host 0.0.0.0 --port 8080 \
-ngl 99 # GPU 레이어 수 (높을수록 VRAM 사용, 빠름)
-ngl(number of GPU layers) 옵션이 핵심이다. GPU VRAM이 충분하면 전체 레이어를 GPU에 올려서 속도를 확 높일 수 있고, VRAM이 부족하면 일부만 올리고 나머지는 CPU에서 처리하는 하이브리드 방식을 쓸 수 있다.
Ollama보다 세팅이 번거롭지만, 양자화 수준 선택, 컨텍스트 크기 조절, 배치 사이즈 튜닝 같은 세밀한 제어가 가능하다.
2026년 추천 모델
모델 선택이 제일 헷갈리는 부분일 텐데, 용도별로 정리하면:
코딩 보조 — Qwen 2.5 Coder 시리즈가 크기 대비 성능이 좋다. 7B로도 자동완성이나 간단한 코드 생성은 쓸만하고, 32B면 꽤 복잡한 작업도 처리한다.
일반 대화 / 요약 — Llama 3.1이 범용성에서 강하다. 8B부터 405B까지 있는데, 로컬에서는 보통 8B이나 70B를 쓴다. Mistral 시리즈도 크기 대비 성능이 좋은 편.
한국어 — 한국어 성능을 중시한다면 EXAONE이나 한국어 파인튜닝된 모델을 찾아보는 게 낫다. 범용 모델은 영어 중심이라 한국어에서 품질이 떨어질 수 있다.
양자화 수준은 Q4_K_M이 품질과 크기의 균형점으로 많이 추천된다. Q8은 품질이 더 좋지만 용량이 두 배 가까이 늘고, Q2는 너무 품질이 떨어진다.
실전 활용 예시
VS Code에서 로컬 모델로 코드 자동완성
Continue 확장 프로그램을 설치하면 VS Code에서 Ollama 모델을 자동완성 엔진으로 쓸 수 있다. ~/.continue/config.json에 모델을 지정하면 끝.
로컬 RAG 구축
자기 문서를 기반으로 답변하는 시스템을 만들 수 있다. 문서를 임베딩으로 변환 → 벡터 DB에 저장 → 질문 시 관련 문서 검색 → LLM에 컨텍스트로 전달. 이 전체 파이프라인을 로컬에서 돌릴 수 있다.
개발 서버에서 API로 활용
팀 내부에 Ollama 서버를 하나 띄워두고, 여러 명이 API로 접근하는 구조도 가능하다. GPU 서버 하나로 팀 전체가 쓸 수 있어서 비용 효율이 좋다.
현실적인 기대치
로컬 LLM은 만능이 아니다. GPT-4o나 Claude Opus 같은 상용 모델과 비교하면 추론 능력, 지시 따르기, 긴 맥락 유지에서 차이가 난다. 특히 복잡한 멀티스텝 추론이나 창의적 글쓰기에서는 격차가 크다.
하지만 반복적이고 정형화된 작업 — 코드 자동완성, 로그 분석, 텍스트 분류, 요약 — 에서는 로컬 모델로도 충분히 실용적이다. API 비용이 부담되거나, 데이터를 외부로 보낼 수 없는 상황이라면 진지하게 고려할 가치가 있다.
Ollama 깔고 ollama run llama3.1 한 줄 쳐보는 거, 5분이면 된다. 그걸로 감을 잡고 나서 자기한테 맞는 모델과 세팅을 찾아가면 된다.