
로컬 LLM을 도입하려는 팀이 가장 먼저 부딪히는 선택지가 있다.
"vLLM으로 서빙할까, Ollama로 서빙할까?"
둘 다 "로컬에서 LLM을 돌리는 도구"지만, 설계 철학과 목적이 완전히 다르다. 잘못 선택하면 GPU 비용을 낭비하거나, 반대로 불필요하게 복잡한 인프라를 떠안게 된다.
이 글에서는 실제 운영 경험을 기준으로 두 도구를 비교하고, 상황별 선택 기준을 정리한다.
1. 한 줄 요약: 무엇이 다른가
| 구분 | vLLM | Ollama |
|---|---|---|
| 정체성 | 프로덕션급 추론 서버 | 개인/개발용 LLM 실행기 |
| 목표 | 처리량(Throughput) 극대화 | 쉬운 설치와 실행 |
| 핵심 기술 | PagedAttention, Continuous Batching | llama.cpp 기반 GGUF 실행 |
| 모델 포맷 | HuggingFace(safetensors), AWQ/GPTQ 등 | GGUF (양자화 중심) |
| 주 사용처 | GPU 서버, 다수 동시 요청 API | 개인 PC, 프로토타이핑, 소규모 |
| API | OpenAI 호환 API 기본 제공 | OpenAI 호환 API 제공 |
| 난이도 | 중~상 (CUDA, 옵션 튜닝 필요) | 하 (설치 후 바로 실행) |
한 문장으로 정리하면:
- Ollama = "내 컴퓨터에서 LLM을 가장 빨리 띄우는 방법"
- vLLM = "여러 사용자의 요청을 GPU 한 대로 최대한 많이 처리하는 방법"
2. 아키텍처 비교

vLLM - PagedAttention과 Continuous Batching
vLLM의 핵심은 두 가지다.
(1) PagedAttention
KV Cache를 OS의 가상 메모리처럼 페이지 단위로 관리한다. 기존 방식은 요청마다 최대 길이만큼 GPU 메모리를 미리 할당해 낭비가 컸지만, PagedAttention은 필요한 만큼만 할당해 같은 GPU에서 더 많은 동시 요청을 처리한다.
(2) Continuous Batching
배치가 끝날 때까지 기다리지 않고, 먼저 끝난 요청 자리에 새 요청을 계속 끼워 넣는다. 동시 사용자가 많을수록 처리량 차이가 극적으로 벌어진다.
# vLLM 서버 실행 예시
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-7B-Instruct \
--gpu-memory-utilization 0.9 \
--max-model-len 8192
Ollama - llama.cpp 기반의 간편함
Ollama는 llama.cpp를 감싼 실행기다. GGUF 양자화 모델을 사용해 GPU 없이 CPU에서도, 맥북에서도 돌아간다.
# Ollama는 이게 전부다
ollama run qwen2.5:7b
모델 다운로드, 메모리 관리, API 서버까지 자동. 이 간편함이 Ollama의 최대 무기다.
3. 성능 비교: 처리량과 동시성
핵심 차이는 동시 요청이 많을 때 드러난다.

- 단일 사용자(요청 1개씩): 체감 차이가 크지 않다. 오히려 양자화된 GGUF를 쓰는 Ollama가 가벼울 수 있다.
- 동시 요청 10개 이상: vLLM의 Continuous Batching이 압도적이다. 같은 GPU에서 수 배 이상의 처리량 차이가 나는 것이 일반적이다.
- CPU 환경: vLLM은 사실상 GPU 전제. CPU라면 선택지는 Ollama(llama.cpp)다.
실무 감각으로 정리하면: 사내 서비스 API로 여러 명이 동시에 호출하는 순간부터 vLLM 영역이다. Ollama로 동시성을 버티려는 시도는 대부분 후회로 끝난다.
4. 운영 편의성 비교
| 항목 | vLLM | Ollama |
|---|---|---|
| 설치 | pip + CUDA 환경 구성 필요 | 설치 파일 하나 |
| 모델 관리 | HF 다운로드, 직접 관리 | ollama pull로 자동 |
| 메모리 튜닝 | 옵션 다수 (직접 튜닝) | 대부분 자동 |
| 모니터링 | Prometheus 메트릭 기본 제공 | 제한적 |
| 멀티 GPU | Tensor Parallel 지원 | 제한적 |
| 양자화 | AWQ, GPTQ, FP8 등 | GGUF (2~8bit) |
운영(모니터링·스케일링) 관점의 성숙도는 vLLM이 앞서고, "오늘 당장 돌려보기"는 Ollama가 압도적으로 빠르다.
5. 상황별 선택 가이드
Ollama를 선택하라:
- 개인 PC/맥북에서 로컬 LLM을 써보고 싶다
- 프로토타입, 데모, 1인~소수 사용
- GPU가 없거나 VRAM이 작다
- RAG 파이프라인을 개발 단계에서 빠르게 검증하고 싶다
vLLM을 선택하라:
- 사내 서비스/API로 다수 사용자에게 제공한다
- GPU 서버(A100, L40S, RTX 4090 등)가 있다
- 처리량과 응답 지연(p95)을 SLA로 관리해야 한다
- Prometheus/Grafana 기반 모니터링이 필요하다
6. 함께 쓰는 하이브리드 전략
실무에서 자주 쓰는 조합은 이렇다.
- 개발자 로컬: Ollama로 프롬프트/체인 개발·검증
- 스테이징/운영: vLLM으로 동일 모델 서빙
두 도구 모두 OpenAI 호환 API를 제공하기 때문에, base_url만 바꾸면 LangChain 등 애플리케이션 코드는 그대로 재사용된다. 개발은 Ollama, 운영은 vLLM - 이것이 비용과 생산성의 균형점이다.
7. 결론
- 혼자 쓰면 Ollama, 여럿이 쓰면 vLLM.
- 동시성 요구가 생기는 순간 vLLM으로 넘어갈 것을 전제로 설계하라.
- OpenAI 호환 API 덕분에 전환 비용은 낮다. 처음부터 base_url을 설정으로 빼두자.
함께 보면 좋은 글
'AI·LLM 엔지니어링' 카테고리의 다른 글
| vLLM 속도 튜닝 가이드 (2026) — TTFT·ITL·처리량을 개선하는 실전 순서 (0) | 2026.07.24 |
|---|---|
| vLLM CUDA OOM 해결 가이드 (2026): GPU 메모리 부족 원인별 튜닝 순서 (0) | 2026.07.18 |
| Claude Code, Cursor, Codex 실제 개발 생산성 비교: 어떤 AI 코딩 도구가 맞을까? (0) | 2026.07.15 |
| OpenAI API 비용 줄이는 실무 방법 7가지: 모델 선택·캐싱·Batch까지 (0) | 2026.07.15 |
| 로컬 LLM 서버 구축 비용과 GPU 사양 비교: RTX 5090, L40S, H100 기준 (0) | 2026.07.15 |