AI

Ollama 설치 로컬 LLM 완전 가이드 2026: Windows·macOS·Linux 단계별 세팅

Ollama 설치 로컬 LLM 완전 가이드 2026: Windows·macOS·Linux 단계별 세팅

클라우드 AI 비용 고민하다가 한 달 청구서 보고 멈칫한 적 있죠? 자율 AI 에이전트 하나가 이틀 만에 $300을 써버리는 일도 실제로 생겼어요. 이 가이드는 Ollama 설치부터 로컬 LLM 실전 세팅까지, 개발자가 직접 내 하드웨어에서 LLM을 돌리는 방법을 단계별로 설명해요.

Key Takeaways

  • Ollama는 GitHub 스타 148,000+를 보유한 오픈소스 도구로, Windows·macOS·Linux 전부 지원하며 설치 명령어 한 줄로 끝난다.
  • 7B 모델 기준 최소 8GB RAM이 필요하고, NVIDIA GPU는 CUDA, Apple Silicon은 Metal이 자동으로 잡힌다.
  • OLLAMA_FLASH_ATTENTION=1 하나로 메모리 효율이 오르고 사용 가능 컨텍스트 길이가 약 두 배로 늘어난다.
  • Q4_K_M 양자화 모델은 VRAM을 약 75% 절약하면서 품질 손실이 거의 없어 대부분 개발자에게 최선의 선택이다.
  • 월 $100+ 클라우드 비용을 로컬 라우팅으로 $10 이하로 줄인 사례가 실제로 확인된다.

왜 지금 로컬 LLM인가

2025년을 기점으로 LLM 서빙 생태계가 빠르게 나뉘었어요. 한쪽은 OpenAI·Anthropic 같은 클라우드, 다른 쪽은 로컬에서 직접 모델을 굴리는 방식이에요.

로컬 실행이 주목받는 이유 세 가지:

  • 비용: 반복 호출이 많은 RAG 파이프라인이나 에이전트 루프에서 클라우드 비용이 폭발적으로 늘어요.
  • 프라이버시: 코드나 내부 문서를 외부 API로 보내고 싶지 않을 때.
  • 레이턴시: 인터넷 왕복 없이 로컬에서 바로 응답이 나와요.

Ollama는 이 세 가지를 가장 낮은 진입 장벽으로 해결해줘요. REST API가 OpenAI 포맷과 호환되기 때문에, 기존 코드에서 엔드포인트 주소만 바꾸면 바로 쓸 수 있어요.

사전 지식: 터미널 기본 명령어, Docker 개념(선택), Python 기초.


Ollama vs 대안 비교

항목OllamavLLMllama.cpp
설치 난이도⭐ 매우 쉬움 (명령어 1줄)⭐⭐⭐ 복잡 (Python 환경 필요)⭐⭐ 보통 (빌드 필요)
대상 환경로컬 개발, 엣지프로덕션 서버저사양·임베디드
처리량중간높음 (PagedAttention)낮음~중간
GPU 지원CUDA + Metal 자동CUDA (수동 설정)CUDA + Metal + CPU
멀티모달지원제한적미지원
OpenAI 호환 API포트 11434포트 8000별도 서버 필요
양자화 형식GGUF (Q2~Q8)AWQ, GPTQ, FP8GGUF (Q2~Q8)
프로덕션 준비개발용엔터프라이즈급제한적

vLLM은 RTX 4090 + Llama 3.1 8B 기준으로 Ollama보다 처리량이 크게 높아요. 그런데 설정 복잡도도 그만큼 올라가요. 개인 개발자가 RAG 파이프라인 하나 만들거나 에이전트 실험할 때는 Ollama가 압도적으로 편해요. 팀 단위 프로덕션 서빙이 목표라면 그때 vLLM으로 넘어가면 돼요.


단계별 실전 세팅

사전 준비

  • RAM: 7B 모델 → 최소 8GB, 권장 16GB / 13B 모델 → 최소 16GB
  • GPU: NVIDIA (CUDA) 또는 Apple Silicon (Metal) — 없으면 CPU로도 돌아가요
  • 저장공간: 모델 크기만큼 여유 필요 (7B ≈ 4GB, 70B ≈ 43GB)

Step 1: Ollama 설치

# Linux: 설치 스크립트 한 줄로 끝
curl -fsSL https://ollama.ai/install.sh | sh

# macOS: Homebrew 사용
brew install ollama

# Windows: ollama.ai에서 .exe 설치파일 다운로드 후 실행

Linux/macOS는 설치 후 서버를 직접 띄워야 해요.

ollama serve

Step 2: 모델 다운로드 및 실행

ollama pull llama3.2        # 3B, 2.0GB — 빠르고 가볍게 시작할 때
ollama pull deepseek-r1:7b  # 7B, 4GB+ — 복잡한 추론 작업에
ollama pull gemma3:4b       # 4B, 3.3GB — 구글 최적화, 메모리 효율 좋음

ollama run llama3.2         # 바로 대화 시작

Step 3: REST API로 연동

Ollama는 기본 포트 11434에서 OpenAI 호환 API를 열어요. OpenAI SDK를 이미 쓰고 있다면 엔드포인트만 바꾸면 돼요.

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # 아무 값이나 넣어도 됨
)

response = client.chat.completions.create(
    model="llama3.2",
    messages=[{"role": "user", "content": "코드 리뷰 부탁해요"}]
)
print(response.choices[0].message.content)

Step 4: 성능 환경변수 세팅

# ~/.bashrc 또는 ~/.zshrc에 추가
export OLLAMA_FLASH_ATTENTION=1   # 메모리 효율 개선 + 컨텍스트 약 2배
export OLLAMA_KV_CACHE_TYPE="q8_0"  # KV 캐시 메모리 약 절반 절약
export OLLAMA_KEEP_ALIVE=-1       # 모델 항상 메모리에 유지 (콜드 스타트 제거)

Step 5: Open WebUI로 ChatGPT 같은 UI 띄우기

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

브라우저에서 http://localhost:3000 접속하면 끝이에요.


실전 예제: RAG 파이프라인 연결

def rag_query(context: str, question: str) -> str:
    prompt = f"""다음 문서를 참고해서 질문에 답해줘.

문서:
{context}

질문: {question}
답변:"""

    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": "llama3.2",
            "prompt": prompt,
            "stream": False,
            "options": {"num_ctx": 8192}
        }
    )
    return response.json()["response"]

이 방식으로 클라우드 API 비용을 월 $100+에서 $10 이하로 줄인 사례가 실제로 있어요. 요청의 80~90%를 로컬로 돌리고, 복잡한 추론만 클라우드에 넘기는 방식이에요.


흔한 실수와 팁

피해야 할 것들

  • 모델 크기 욕심: RAM 8GB에서 13B 모델 돌리면 스왑 터지고 속도가 처참해요. 7B부터 시작하세요.
  • OLLAMA_HOST 무방비 오픈: 0.0.0.0으로 열면 누구나 접근 가능해요. Nginx + 인증 프록시 없이는 로컬 전용으로만 쓰세요.
  • 컨텍스트 길이 기본값 방치: 기본값이 2048 토큰이에요. 긴 문서 작업엔 num_ctx: 8192로 올려야 해요.

양자화 선택 기준

양자화VRAM 절약품질추천 대상
Q8_0~절반FP16에 근접품질 우선
Q4_K_M~75%양호대부분 개발자
Q3_K_M~80%품질 저하 눈에 띔비추천

프로덕션 체크리스트

  • OLLAMA_FLASH_ATTENTION=1 설정 확인
  • 모델 양자화 버전 선택 (Q4_K_M 권장)
  • 컨텍스트 길이 용도에 맞게 조정
  • 외부 노출 시 인증 레이어 추가
  • OLLAMA_KEEP_ALIVE 값 결정 (서버 메모리 여유에 따라)

마무리

한 줄 요약: 설치 한 줄, API 연동 다섯 줄, 성능 환경변수 세 개. 그게 전부예요.

지금 바로 ollama pull llama3.2 실행해보세요. 모델이 내 컴퓨터에서 직접 돌아가는 느낌, 꽤 달라요. 다음 단계로는 vLLM 팀 서빙 가이드나 Open WebUI로 팀원과 공유하는 세팅을 보는 것도 좋아요. 질문 있으면 댓글로 남겨주세요!


Photo by Juan Burgos on Unsplash