Ollama 정리

이민재·2026년 4월 20일

Ollama 정리

로컬 환경에서 LLM을 손쉽게 실행할 수 있는 Ollama의 모든 것을 정리했습니다.


목차

  1. Ollama란?
  2. 주요 기능 정리
  3. 환경 구축 시 주의점
  4. 환경 변수 전체 정리
  5. Ollama vs vLLM 비교

1. Ollama란?

Ollama는 로컬 환경(내 컴퓨터)에서 대형 언어 모델(LLM)을 쉽게 실행할 수 있게 해주는 오픈소스 도구입니다.

클라우드 기반 AI(ChatGPT, Claude 등)는 인터넷을 통해 원격 서버에서 실행되지만, Ollama를 사용하면 인터넷 없이 내 PC나 서버에서 직접 AI 모델을 돌릴 수 있습니다.

주요 특징

  • 로컬 실행 — 데이터가 외부로 나가지 않아 프라이버시 보호
  • 간편한 설치 — 명령어 한 줄로 모델 다운로드 및 실행
  • 다양한 모델 지원 — Llama 3, Mistral, Gemma, Qwen, Phi 등 수백 가지 모델
  • OpenAI 호환 API — 기존 앱에 쉽게 통합 가능
  • 무료 & 오픈소스 — 사용 비용 없음
  • macOS / Windows / Linux 모두 지원

기본 사용법

# 모델 실행 (없으면 자동 다운로드)
ollama run llama3

# 모델 목록 확인
ollama list

# 백그라운드 서버 실행
ollama serve

한계

  • 고성능 GPU/RAM 필요 — 큰 모델일수록 더 많은 하드웨어 요구
  • 클라우드 최신 모델 수준은 아님 — GPT-4, Claude Opus 같은 최상위 모델은 로컬 실행 불가
  • 초기 다운로드 — 모델 파일이 수 GB에 달함

2. 주요 기능 정리

2-1. 모델 관리

명령어기능
ollama pull <모델명>모델 다운로드
ollama push <모델명>모델 업로드 (레지스트리)
ollama list설치된 모델 목록
ollama rm <모델명>모델 삭제
ollama show <모델명>모델 상세 정보 확인
ollama cp <원본> <복사본>모델 복사

2-2. 모델 실행

ollama run llama3          # 대화형 실행
ollama run llama3 "질문"   # 단발성 질문
ollama run llama3:70b      # 특정 버전(태그) 지정
  • 대화형 모드 — 터미널에서 채팅처럼 사용
  • 파이프 입력echo "요약해줘" | ollama run llama3
  • 멀티모달 — 이미지 입력 지원 모델 사용 가능 (예: llava)

2-3. REST API 서버

ollama serve 실행 시 로컬 HTTP API 자동 제공 (기본 포트: 11434)

# 텍스트 생성
POST http://localhost:11434/api/generate

# 채팅
POST http://localhost:11434/api/chat

# 임베딩 생성
POST http://localhost:11434/api/embeddings

# 모델 목록
GET  http://localhost:11434/api/tags

OpenAI 호환 엔드포인트도 지원 → 기존 OpenAI SDK 코드를 거의 그대로 사용 가능

2-4. Modelfile (커스텀 모델 생성)

Docker의 Dockerfile처럼, 모델을 커스터마이징할 수 있는 설정 파일입니다.

FROM llama3

# 시스템 프롬프트 설정
SYSTEM "당신은 한국어 전문 번역가입니다."

# 파라미터 조정
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
ollama create my-model -f Modelfile

2-5. 지원 모델 (주요)

모델특징
Llama 3.xMeta, 범용
Mistral / Mixtral유럽산, 경량 고성능
Gemma 3Google
Qwen 2.5Alibaba, 한국어 우수
Phi-4Microsoft, 소형 고성능
DeepSeek추론 특화
LLaVA이미지 이해 (멀티모달)
nomic-embed텍스트 임베딩 전용

2-6. 외부 도구 연동

도구연동 방식
Open WebUI웹 기반 ChatGPT 스타일 UI
Continue (VS Code)코드 자동완성
LangChain / LlamaIndexAI 앱 개발 프레임워크
Dify / Flowise노코드 AI 워크플로우
AnythingLLM로컬 RAG 시스템

2-7. 하드웨어 가속

환경지원
NVIDIA GPU (CUDA)
AMD GPU (ROCm)
Apple Silicon (Metal)
CPU 전용✅ (느림)

3. 환경 구축 시 주의점

3-1. 하드웨어 요구사항

RAM (가장 중요)

모델 크기최소 RAM권장 RAM
1B ~ 3B4GB8GB
7B ~ 8B8GB16GB
13B ~ 14B16GB32GB
30B ~ 34B32GB64GB
70B+64GB128GB+

⚠️ RAM 부족 시 모델이 디스크로 스왑 → 속도 극단적으로 느려짐

GPU VRAM

VRAM ≥ 모델 크기(GB)  →  전체 GPU 실행 (빠름)
VRAM < 모델 크기      →  일부 CPU 분산 실행 (느려짐)
GPU 없음              →  CPU 전용 실행 (매우 느림)

디스크 공간

모델용량
7B 모델 (Q4)~4GB
13B 모델 (Q4)~8GB
70B 모델 (Q4)~40GB

⚠️ 여러 모델 사용 시 수백 GB까지 증가 가능 → SSD 권장

3-2. 설치 환경별 주의점

Windows

✅ Windows 10/11 (64bit) 지원
⚠️ NVIDIA GPU 사용 시 → CUDA 드라이버 최신 버전 필수
⚠️ AMD GPU → ROCm이 Windows에서 불안정할 수 있음
⚠️ WSL2 환경에서 실행 시 GPU 인식 문제 발생 가능

macOS

✅ Apple Silicon (M1/M2/M3/M4) → Metal 가속, 성능 우수
⚠️ Intel Mac → CPU 실행만 가능, 속도 매우 느림
⚠️ macOS 11 Big Sur 이상 필요

Linux

✅ 가장 안정적인 환경
⚠️ NVIDIA → nvidia-driver + CUDA toolkit 사전 설치 필요
⚠️ AMD → ROCm 버전과 GPU 모델 호환성 확인 필수
⚠️ 방화벽 설정 확인 (포트 11434)

3-3. 네트워크 & 보안

# 기본값: 로컬에서만 접근 가능 (안전)
OLLAMA_HOST=127.0.0.1:11434

# 외부 허용 시 → 인증 없이 누구나 접근 가능!
OLLAMA_HOST=0.0.0.0:11434   # ⚠️ 위험

외부 노출 시 필수 조치:

  • ✅ 방화벽으로 IP 화이트리스트 설정
  • ✅ Nginx / Caddy로 리버스 프록시 + 인증 추가
  • ✅ API Key 인증 레이어 별도 구성
  • ✅ HTTPS 적용
  • ❌ 포트를 그냥 공개하면 절대 안 됨

3-4. 모델 양자화(Quantization) 이해

Q2  → 매우 작음, 품질 낮음
Q4  → 균형 (일반적으로 권장) ✅
Q5  → 품질 좋음, 용량 큼
Q8  → 원본에 가까움, 매우 큰 용량
F16 → 원본, 전문 용도
ollama run llama3          # 기본 (최신 태그)
ollama run llama3:8b       # 8B 파라미터
ollama run llama3:8b-q4_0  # 8B + Q4 양자화 명시

⚠️ 태그 미지정 시 자동으로 특정 버전이 선택됨 → 의도치 않은 대용량 다운로드 주의

3-5. 자주 발생하는 문제

증상원인해결
error: model not found모델명 오타ollama list 로 확인
응답이 극도로 느림GPU 미인식, CPU 실행 중드라이버 재설치, ollama ps로 확인
out of memoryRAM/VRAM 부족더 작은 모델 또는 낮은 양자화 사용
포트 충돌11434 이미 사용 중OLLAMA_HOST 포트 변경
모델 다운로드 실패네트워크 / 디스크 부족디스크 여유 확인, 재시도

3-6. 구축 전 체크리스트

□ RAM 16GB 이상 확보 (7B 모델 기준)
□ 디스크 여유 공간 50GB 이상
□ GPU 드라이버 최신 버전 설치
□ 외부 접근 시 인증/방화벽 설정 계획
□ 모델 저장 경로 (용량 큰 드라이브) 지정
□ 운영 목적에 맞는 모델 & 양자화 수준 결정

4. 환경 변수 전체 정리

4-1. 서버 & 네트워크

환경 변수기본값설명
OLLAMA_HOST127.0.0.1:11434바인딩 주소 및 포트
OLLAMA_ORIGINS*CORS 허용 출처
OLLAMA_PROXY-HTTP 프록시 서버 주소
OLLAMA_HOST=0.0.0.0:11434          # 외부 접근 허용
OLLAMA_HOST=192.168.1.100:11434    # 특정 IP 바인딩
OLLAMA_ORIGINS=https://myapp.com   # 특정 도메인만 허용
OLLAMA_PROXY=http://proxy:8080     # 프록시 경유

4-2. 모델 & 파일 경로

환경 변수기본값설명
OLLAMA_MODELS~/.ollama/models모델 저장 경로
OLLAMA_TMPDIR시스템 임시 폴더임시 파일 경로
OLLAMA_MODELS=/mnt/ssd/ollama-models   # 대용량 드라이브로 변경
OLLAMA_MODELS=D:\ollama\models         # Windows 예시
OLLAMA_TMPDIR=/tmp/ollama              # 임시 파일 위치 지정

4-3. 성능 & 메모리

환경 변수기본값설명
OLLAMA_NUM_PARALLEL1동시 처리 요청 수
OLLAMA_MAX_LOADED_MODELS1메모리에 올릴 최대 모델 수
OLLAMA_MAX_QUEUE512대기열 최대 요청 수
OLLAMA_KEEP_ALIVE5m모델 메모리 유지 시간
OLLAMA_MAX_VRAM-사용할 최대 VRAM (bytes)
OLLAMA_NUM_PARALLEL=4          # 동시 4개 요청 처리
OLLAMA_MAX_LOADED_MODELS=2     # 최대 2개 모델 상주
OLLAMA_KEEP_ALIVE=10m          # 10분간 메모리 유지
OLLAMA_KEEP_ALIVE=-1           # 영구 메모리 유지
OLLAMA_KEEP_ALIVE=0            # 요청 후 즉시 메모리 해제
OLLAMA_MAX_VRAM=4000000000     # VRAM 4GB 제한

4-4. GPU 설정

환경 변수기본값설명
OLLAMA_GPU_OVERHEAD0GPU 메모리 예비 확보량 (bytes)
CUDA_VISIBLE_DEVICES-사용할 NVIDIA GPU 지정
ROCR_VISIBLE_DEVICES-사용할 AMD GPU 지정
OLLAMA_CPU_ONLYfalseGPU 무시, CPU만 사용
CUDA_VISIBLE_DEVICES=0             # 첫 번째 GPU만 사용
CUDA_VISIBLE_DEVICES=0,1           # 0번, 1번 GPU 사용
ROCR_VISIBLE_DEVICES=0             # AMD GPU 0번 지정
OLLAMA_GPU_OVERHEAD=512000000      # GPU 메모리 512MB 예비
OLLAMA_CPU_ONLY=true               # CPU 전용 강제

4-5. 디버그 & 로깅

환경 변수기본값설명
OLLAMA_DEBUGfalse디버그 로그 활성화
OLLAMA_NOPRUNEfalse모델 레이어 캐시 유지
OLLAMA_DEBUG=1      # 상세 로그 출력
OLLAMA_NOPRUNE=1    # 캐시 삭제 방지

4-6. 설정 방법

Linux / macOS — systemd 영구 설정

sudo systemctl edit ollama.service
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/mnt/ssd/models"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_KEEP_ALIVE=10m"
sudo systemctl daemon-reload
sudo systemctl restart ollama

Windows — PowerShell 영구 설정

[System.Environment]::SetEnvironmentVariable(
  "OLLAMA_HOST", "0.0.0.0:11434", "User"
)
[System.Environment]::SetEnvironmentVariable(
  "OLLAMA_MODELS", "D:\ollama\models", "User"
)
# 설정 후 Ollama 재시작 필요

Docker Compose

services:
  ollama:
    image: ollama/ollama
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
      - OLLAMA_MODELS=/root/.ollama/models
      - OLLAMA_NUM_PARALLEL=4
      - OLLAMA_KEEP_ALIVE=10m
      - OLLAMA_MAX_LOADED_MODELS=2
    volumes:
      - ollama_data:/root/.ollama

4-7. 상황별 추천 설정

개인 PC (RAM 16GB, GPU 8GB)

OLLAMA_NUM_PARALLEL=1
OLLAMA_MAX_LOADED_MODELS=1
OLLAMA_KEEP_ALIVE=5m

팀 서버 (RAM 64GB, GPU 24GB)

OLLAMA_NUM_PARALLEL=4
OLLAMA_MAX_LOADED_MODELS=3
OLLAMA_KEEP_ALIVE=30m
OLLAMA_HOST=0.0.0.0:11434

메모리 절약 모드

OLLAMA_MAX_LOADED_MODELS=1
OLLAMA_KEEP_ALIVE=0       # 사용 후 즉시 메모리 해제
OLLAMA_NUM_PARALLEL=1

디버깅 / 문제 해결

OLLAMA_DEBUG=1
OLLAMA_CPU_ONLY=true      # GPU 문제 우회

5. Ollama vs vLLM 비교

5-1. 한눈에 보기

항목OllamavLLM
목적개인/소규모 로컬 실행고성능 프로덕션 서빙
대상 사용자개발자, 개인ML 엔지니어, 기업
설치 난이도⭐ 매우 쉬움⭐⭐⭐ 복잡
성능보통매우 높음
GPU 요구사항선택 (CPU도 가능)사실상 필수
Windows 지원❌ (Linux 전용)
라이선스MITApache 2.0

5-2. 아키텍처 차이

Ollama

사용자 → Ollama 서버 → llama.cpp 엔진 → 모델 실행
                          ↓
                    CPU / GPU 혼합 실행 가능
                    양자화(Q4 등) 기본 지원

vLLM

사용자 → vLLM 서버 → PagedAttention 엔진 → GPU 실행
                          ↓
                    GPU VRAM 최적화 특화
                    FP16 / BF16 정밀도 중심

핵심 차이: Ollama는 llama.cpp 기반, vLLM은 자체 PagedAttention 기술 기반

5-3. 주요 기능 비교

기능OllamavLLM
PagedAttention✅ (핵심 기술)
Continuous Batching제한적
양자화 (Q4/Q8)✅ 기본 지원✅ (AWQ, GPTQ 등)
멀티 GPU제한적✅ 완전 지원
Tensor Parallelism
모델 커스터마이징✅ Modelfile
OpenAI 호환 API
스트리밍
멀티모달
LoRA 어댑터
CPU 실행
Apple Silicon

5-4. 지원 모델 형식

형식OllamavLLM
GGUF✅ 기본
GPTQ
AWQ
HuggingFace제한적✅ 완전 지원
SafeTensors

5-5. 설치 및 실행 비교

Ollama

# 설치 (한 줄)
curl -fsSL https://ollama.com/install.sh | sh

# 실행
ollama run llama3

vLLM

# 설치
pip install vllm

# CUDA, Python 버전 호환성 확인 필요
# NVIDIA GPU 필수

# 실행
python -m vllm.entrypoints.openai.api_server \
  --model meta-llama/Llama-3-8B-Instruct \
  --tensor-parallel-size 2

5-6. 하드웨어 요구사항

항목OllamavLLM
OSWin / Mac / LinuxLinux 전용
GPU선택 사항NVIDIA GPU 필수
CUDA선택필수 (11.8+)
최소 VRAM제한 없음8GB+ 권장
Apple Silicon✅ 최적화

5-7. 언제 무엇을 쓸까?

✅ Ollama를 선택할 때

  • 개인 PC / 노트북에서 실행
  • Windows 또는 Mac 환경
  • 빠른 프로토타이핑, 간단한 테스트
  • CPU 또는 저사양 GPU 환경
  • 초보자, 간단한 설치 원할 때
  • 소규모 팀 내부 사용

✅ vLLM을 선택할 때

  • 프로덕션 서비스 배포
  • 고트래픽, 다수 동시 사용자
  • NVIDIA GPU 서버 보유
  • 최대 성능 / 처리량이 필요할 때
  • LoRA, AWQ 등 고급 기능 필요
  • MLOps 파이프라인 구축

5-8. 함께 사용하는 패턴

개발 단계  →  Ollama (빠른 테스트)
           ↓
프로덕션   →  vLLM (고성능 서빙)

동일한 OpenAI 호환 API 구조이므로
코드 변경 최소화로 전환 가능 ✅

마무리 요약

Ollama  =  쉽고 빠르게, 어디서든, 누구나
vLLM    =  빠르고 무겁게, Linux GPU 서버에서, 프로덕션용
OllamavLLM
한 줄 요약로컬에서 LLM을 쉽게서버에서 LLM을 빠르게
핵심 엔진llama.cppPagedAttention
주요 사용자개인, 소규모 팀기업, ML 엔지니어
환경어디서든Linux + NVIDIA GPU
profile
초보 개발자

0개의 댓글