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

Ollama 핵심 구성: 사용자 입력부터 추론 엔진과 외부 앱 연동까지

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 (Georgi Gerganov Unified Format) 파일 형식을 사용합니다. GGUF는 모델 가중치, 토크나이저, 하이퍼파라미터, 아키텍처 정보를 단일 파일에 포함하는 자기 설명적(self-describing) 바이너리 포맷으로, 로컬 LLM 생태계의 사실상 표준입니다.

📖 GGUF 상세 가이드

GGUF 파일 구조, 양자화 기법, 변환 워크플로, GPU 오프로딩, 벤치마크 등 심층 내용은 별도 페이지에서 다룹니다.

→ GGUF 모델 포맷 상세 가이드 보기

양자화란?

양자화(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란 무엇인가? 조건을 문서화해 대응 시간을 줄이세요.