본문 바로가기

AI·LLM 엔지니어링

vLLM vs Ollama 완벽 비교 - 로컬 LLM 서빙, 무엇을 선택해야 할까? (2026)

반응형

로컬 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. 함께 쓰는 하이브리드 전략

실무에서 자주 쓰는 조합은 이렇다.

  1. 개발자 로컬: Ollama로 프롬프트/체인 개발·검증
  2. 스테이징/운영: vLLM으로 동일 모델 서빙

두 도구 모두 OpenAI 호환 API를 제공하기 때문에, base_url만 바꾸면 LangChain 등 애플리케이션 코드는 그대로 재사용된다. 개발은 Ollama, 운영은 vLLM - 이것이 비용과 생산성의 균형점이다.

7. 결론

  • 혼자 쓰면 Ollama, 여럿이 쓰면 vLLM.
  • 동시성 요구가 생기는 순간 vLLM으로 넘어갈 것을 전제로 설계하라.
  • OpenAI 호환 API 덕분에 전환 비용은 낮다. 처음부터 base_url을 설정으로 빼두자.

함께 보면 좋은 글

반응형