Ollama란?

로컬에서 대규모 언어 모델(LLM)을 쉽게 실행하는 오픈소스 플랫폼

업데이트 안내: 모델/요금/버전/정책 등 시점에 민감한 정보는 변동될 수 있습니다. 최신 내용은 공식 문서를 확인하세요.
🎓 처음 시작하시나요?

Ollama 3단계 시작:

  1. Ollama 설치 (1분) - curl -fsSL https://ollama.com/install.sh | sh
  2. 모델 다운로드 (5분) - ollama pull llama3.2
  3. 첫 대화 시작 - ollama run llama3.2

이제 완전히 무료로, 인터넷 없이도 AI 코딩을 시작할 수 있습니다!

Ollama란 무엇인가?

Ollama는 대규모 언어 모델(LLM)을 로컬 컴퓨터에서 쉽게 실행할 수 있게 해주는 오픈소스 플랫폼입니다. Docker와 유사한 방식으로, 복잡한 AI 모델을 간단한 명령어로 다운로드하고 실행할 수 있습니다.

핵심 개념

Ollama = Docker for AI Models

  • 컨테이너화: 각 LLM을 독립적인 패키지로 관리
  • 간단한 CLI: ollama pull, ollama run 등 직관적 명령어
  • 모델 레지스트리: Docker Hub처럼 ollama.com에서 모델 검색 및 다운로드
  • 로컬 실행: 인터넷 연결 없이도 AI 모델 사용 가능
  • REST API: HTTP API로 다른 앱과 쉽게 통합
사용자 CLI / API Ollama 플랫폼 모델 관리자 pull, list, rm, create 추론 엔진 llama.cpp 기반 최적화 HTTP API 서버 :11434 포트 모델 저장소 (~/.ollama) 외부 앱 Continue Aider ollama run HTTP API

Docker와의 비교

개념 Docker Ollama
컨테이너 애플리케이션 패키지 AI 모델 패키지
레지스트리 Docker Hub ollama.com/library
다운로드 docker pull nginx ollama pull llama3.2
실행 docker run nginx ollama run llama3.2
목록 docker ps ollama list
삭제 docker rm ollama rm llama3.2

왜 로컬 LLM인가?

로컬 LLM의 장점

💰 비용 절감
  • 무료 무제한: API 키 불필요, 사용량 제한 없음
  • 월 구독료 제로: Claude Pro 변동/월, ChatGPT Plus 변동/월 절약
  • 토큰 비용 제로: Claude API 변동~변동/1K 토큰 절약

예시: 하루 100만 토큰 사용 시 Claude API는 월 변동~변동, Ollama는 변동

🔒 프라이버시 & 보안
  • 데이터 외부 유출 없음: 회사 코드, 민감한 정보 안전
  • 인터넷 불필요: 완전 오프라인 환경에서도 작동
  • 로그 미전송: 대화 내용이 외부 서버에 저장되지 않음
  • 규정 준수: GDPR, HIPAA 등 개인정보 보호 규정 충족
⚡ 성능 & 가용성
  • 레이턴시 제로: 네트워크 지연 없음 (로컬 추론)
  • 속도 제어: GPU 성능에 따라 응답 속도 조절 가능
  • 다운타임 없음: API 서버 장애, Rate Limit 영향 없음
  • 동시 요청 무제한: 로컬 리소스만 허용하면 병렬 처리
🛠️ 커스터마이징
  • 모델 파인튜닝: 특정 도메인에 맞게 모델 학습
  • 프롬프트 제어: 시스템 프롬프트 완전 제어
  • 파라미터 조정: temperature, top_p, context length 등 세밀 조정
  • 모델 버전 고정: 특정 버전 사용 보장

로컬 LLM의 단점 (트레이드오프)

⚠️ 고려사항
항목 클라우드 LLM (Claude, GPT-4) 로컬 LLM (Ollama)
모델 품질 최고 수준 (Claude 4, GPT-4o) 중상 수준 (Llama 3.1, Mistral)
하드웨어 요구 브라우저만 있으면 됨 16GB+ RAM, GPU 권장
초기 설정 API 키만 입력 Ollama 설치 + 모델 다운로드 (3-7GB)
응답 속도 빠름 (클라우드 인프라) GPU 성능에 따라 다름
디스크 사용 없음 모델당 3-20GB

언제 Ollama를 사용해야 하나?

✅ Ollama 추천 상황:

  • 회사 코드, 민감한 데이터 처리 (프라이버시 중요)
  • API 비용 절감이 필요한 경우 (무제한 사용)
  • 인터넷 연결이 불안정하거나 오프라인 환경
  • 실험, 학습, 프로토타이핑 (무료 무제한)
  • 간단한 코드 생성, 리팩토링, 설명

❌ 클라우드 LLM 추천 상황:

  • 최고 품질의 코드 생성 필요 (복잡한 알고리즘, 아키텍처 설계)
  • 하드웨어 리소스 부족 (RAM 8GB 이하, GPU 없음)
  • 빠른 응답 속도가 중요 (실시간 코딩 어시스턴트)
  • 최신 기술 스택, 프레임워크 지원 필요

🎯 최적 전략: 하이브리드 접근

# 간단한 작업 → Ollama (무료)
- 코드 설명, 주석 작성
- 간단한 함수 생성
- 리팩토링, 코드 스타일 변경

# 복잡한 작업 → Claude/GPT-4 (유료)
- 복잡한 알고리즘 설계
- 대규모 리팩토링
- 버그 디버깅 (복잡한 스택 트레이스)
- 아키텍처 설계

Ollama 아키텍처

핵심 구성 요소

1. llama.cpp 기반 추론 엔진

Ollama는 llama.cpp를 백엔드로 사용합니다. llama.cpp는 C++로 작성된 고성능 LLM 추론 엔진으로, CPU와 GPU에서 효율적으로 동작하도록 최적화되어 있습니다.

  • 양자화 지원: 4-bit, 5-bit, 8-bit 양자화로 메모리 사용량 감소
  • 멀티 플랫폼: macOS (Metal), Linux/Windows (CUDA, ROCm)
  • GGUF 포맷: 최적화된 모델 파일 형식

2. HTTP REST API

포트 11434에서 실행되는 HTTP 서버로, 표준 REST API를 제공합니다.

# API 엔드포인트
POST /api/generate        # 텍스트 생성
POST /api/chat            # 채팅 대화
POST /api/embeddings      # 임베딩 생성
GET  /api/tags            # 설치된 모델 목록
POST /api/pull            # 모델 다운로드
DELETE /api/delete        # 모델 삭제

3. 모델 레지스트리 & 저장소

ollama.com/library에서 큐레이션된 모델을 제공하며, 로컬에는 ~/.ollama/models에 저장됩니다.

# 모델 저장 구조
~/.ollama/
├── models/
│   ├── manifests/
│   │   └── registry.ollama.ai/
│   │       └── library/
│   │           └── llama3.2/
│   │               └── latest          # 모델 메타데이터
│   └── blobs/
│       ├── sha256-abc123...            # 모델 가중치 (GGUF)
│       └── sha256-def456...            # 설정 파일
└── history/                            # 대화 히스토리

GGUF 모델 포맷

Ollama는 GGUF (GPT-Generated Unified Format) 파일 형식을 사용합니다. 이는 llama.cpp 프로젝트에서 개발한 최적화된 형식입니다.

특징 설명
단일 파일 모델, 토크나이저, 메타데이터를 하나의 파일로 패키징
양자화 Q4_0, Q5_K_M, Q8_0 등 다양한 양자화 레벨 지원
메모리 매핑 mmap으로 빠른 로딩, 메모리 효율적
크로스 플랫폼 Windows, Linux, macOS 모두 지원

양자화란?

양자화(Quantization)는 모델 가중치의 정밀도를 낮춰 메모리 사용량과 추론 속도를 개선하는 기법입니다.

FP16 (원본) 16-bit 부동소수점 13GB 최고 품질 느린 속도 GPU 필수 양자화 Q4_0 (양자화) 4-bit 정수 3.5GB 약간 품질 저하 빠른 속도 CPU 가능 개선 효과 메모리: 73% ↓ 속도: 2-3배 ↑ 품질: ~5% ↓ 대부분 작업에서 차이 거의 없음
양자화 비트 크기 (7B 모델) 품질 속도 추천 용도
FP16 16-bit 13GB ⭐⭐⭐⭐⭐ 느림 최고 품질 필요 시 (GPU 전용)
Q8_0 8-bit 7GB ⭐⭐⭐⭐⭐ 보통 품질 우선, GPU 여유
Q5_K_M 5-bit 4.8GB ⭐⭐⭐⭐ 빠름 균형 (품질 + 속도)
Q4_0 4-bit 3.5GB ⭐⭐⭐⭐ 매우 빠름 기본 권장 (CPU/GPU)
Q3_K_M 3-bit 2.8GB ⭐⭐⭐ 매우 빠름 리소스 제한적 환경
Q2_K 2-bit 2.2GB ⭐⭐ 초고속 실험용, RAM 8GB 이하
💡 양자화 선택 가이드
  • RAM 16GB+, GPU 있음: Q5_K_M 또는 Q8_0 (최상 품질)
  • RAM 8-16GB, CPU: Q4_0 (기본, 무난함)
  • RAM 8GB 이하: Q3_K_M 또는 Q2_K (속도 우선)
  • 모르겠으면: 그냥 기본값 사용 (Ollama가 자동 선택)

Ollama 사용 사례

1. 코딩 어시스턴트

Continue.dev + Ollama

# VS Code에서 로컬 AI 코딩
1. Ollama 설치 및 CodeLlama 다운로드
$ ollama pull codellama:13b

2. Continue 확장 설치 및 설정
// settings.json
{
  "continue.models": [
    {
      "provider": "ollama",
      "model": "codellama:13b"
    }
  ]
}

3. Ctrl+I로 코드 생성 시작
# 완전 무료, API 키 불필요!

2. 데이터 분석 & 리포팅

# Python 스크립트에서 Ollama 사용
import requests

def analyze_data(data):
    response = requests.post('http://localhost:11434/api/generate', json={
        'model': 'llama3.2',
        'prompt': f'이 데이터를 분석하고 인사이트를 제공해줘: {data}',
        'stream': False
    })
    return response.json()['response']

# 민감한 비즈니스 데이터를 외부 전송 없이 분석

3. 프라이빗 챗봇

# 회사 내부 문서 기반 RAG 챗봇
from langchain import Ollama
from langchain.vectorstores import Chroma

# 로컬 LLM 사용 → 회사 문서 외부 유출 없음
llm = Ollama(model="llama3.2")
vectorstore = Chroma.from_documents(company_docs)

def ask_question(query):
    context = vectorstore.similarity_search(query, k=3)
    return llm(f"Context: {context}\n\nQuestion: {query}")

4. 학습 & 실험

API 비용 걱정 없이 무제한 실험 가능:

  • 프롬프트 엔지니어링 연습
  • RAG, Agent 파이프라인 테스트
  • 파인튜닝 실험
  • LLM 내부 동작 이해

5. 오프라인 환경

  • 비행기, 기차에서 코딩
  • 인터넷 제한된 국가/환경
  • 보안이 엄격한 폐쇄망
  • 군사, 정부 기관

Ollama 생태계

지원 모델 (2025년 기준)

모델군 대표 모델 특징 크기
Llama llama3.2, llama3.1 Meta 오픈소스, 범용 성능 1B-405B
CodeLlama codellama:13b 코딩 특화 (Python, JS 등) 7B-34B
Mistral mistral:7b, mixtral:8x7b 효율적, 빠른 속도 7B-47B
Phi phi3:mini, phi3:medium Microsoft, 소형 고성능 3B-14B
Gemma gemma:7b Google, 경량 2B-7B
Qwen qwen2.5:7b Alibaba, 다국어 지원 0.5B-72B

통합 도구

  • VS Code: Continue, CodeGPT, Twinny
  • CLI: Aider, shell-gpt, fabric
  • IDE: JetBrains AI Assistant (Ollama 지원)
  • 프레임워크: LangChain, LlamaIndex, Semantic Kernel
  • 웹 인터페이스:
    • Open WebUI - ChatGPT 스타일 완전한 웹 UI (RAG, 팀 협업, 플러그인)
    • AnythingLLM - 문서 중심 RAG 플랫폼
    • Jan - 데스크톱 앱 형태의 UI
🌐 Open WebUI 추천!

Ollama와 함께 가장 많이 사용되는 도구는 Open WebUI입니다. ChatGPT와 동일한 사용자 경험을 완전히 로컬에서 무료로 제공합니다.

# Docker로 1분 안에 설치
docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

# 브라우저에서 http://localhost:3000 접속

Open WebUI 가이드 보기

커뮤니티

  • GitHub: github.com/ollama/ollama (80k+ stars)
  • Discord: Ollama 공식 Discord 서버
  • Reddit: r/LocalLLaMA, r/ollama
  • 블로그: ollama.com/blog

Ollama vs 다른 로컬 LLM 솔루션

항목 Ollama LM Studio llama.cpp (직접) LocalAI
설치 난이도 ⭐⭐⭐⭐⭐ (매우 쉬움) ⭐⭐⭐⭐ (쉬움, GUI) ⭐⭐ (어려움, 빌드 필요) ⭐⭐⭐ (Docker 필요)
사용 방식 CLI + REST API GUI + API CLI 전용 REST API 전용
모델 관리 매우 간편 (pull/list/rm) GUI로 쉬움 수동 다운로드/변환 컨테이너 볼륨 관리
성능 최적화 됨 최적화 됨 최고 (직접 제어) 약간 오버헤드
플랫폼 macOS, Linux, Windows macOS, Windows 모든 플랫폼 Docker 지원 플랫폼
오픈소스 ✅ MIT ❌ (Freeware) ✅ MIT ✅ MIT
추천 대상 개발자, CLI 선호 GUI 선호, 초보자 고급 사용자, 커스터마이징 Docker 환경, 서버
🎯 선택 가이드
  • 개발자, CLI 편함Ollama (가장 추천)
  • GUI 선호, 초보자 → LM Studio
  • 최고 성능 필요 → llama.cpp 직접 빌드
  • Docker 환경 → LocalAI

다음 단계

Ollama의 개념을 이해했다면, 이제 직접 설치하고 사용해봅시다!

📚 학습 경로
  1. Ollama 설치 - Windows, macOS, Linux 설치 가이드
  2. 모델 선택 - Llama, Mistral, CodeLlama 등 비교
  3. 기본 사용법 - CLI 명령어, API 사용
  4. 도구 연동 - Continue, Aider와 통합
  5. 고급 활용 - 커스텀 모델, 파인튜닝
⚡ 5분 퀵스타트

바로 시작하고 싶다면:

# 1. 설치 (Linux/macOS)
curl -fsSL https://ollama.com/install.sh | sh

# 2. 모델 다운로드
ollama pull llama3.2

# 3. 대화 시작
ollama run llama3.2
>>> 안녕! Python으로 피보나치 수열 생성하는 함수 만들어줘

핵심 정리

  • Ollama란?의 핵심 개념과 흐름을 정리합니다.
  • Ollama란 무엇인가?를 단계별로 이해합니다.
  • 실전 적용 시 기준과 주의점을 확인합니다.

실무 팁

  • 입력/출력 예시를 고정해 재현성을 확보하세요.
  • Ollama란? 범위를 작게 잡고 단계적으로 확장하세요.
  • Ollama란 무엇인가? 조건을 문서화해 대응 시간을 줄이세요.