WebPiki
tutorial

내 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~8B4~6GBRTX 3060 12GB, RTX 4060
13~14B8~10GBRTX 3080, RTX 4070
30~34B18~20GBRTX 3090, RTX 4090
70B36~40GBA100, 또는 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분이면 된다. 그걸로 감을 잡고 나서 자기한테 맞는 모델과 세팅을 찾아가면 된다.

#LLM#Ollama#llama.cpp#로컬AI#오픈소스AI

관련 글