Ollama 모델 가이드

Ollama가 지원하는 다양한 오픈소스 LLM 모델들의 특징과 선택 방법을 알아봅니다.

업데이트 안내: 모델/요금/버전/정책 등 시점에 민감한 정보는 변동될 수 있습니다. 최신 내용은 공식 문서를 확인하세요.
⚡ 빠른 시작
  1. ollama list 명령으로 설치된 모델 확인
  2. ollama pull llama3.2로 원하는 모델 다운로드
  3. ollama run llama3.2로 모델 실행
  4. ollama show llama3.2로 모델 정보 확인
  5. 용도에 맞는 모델을 선택해 프로젝트에 통합

Ollama 모델 개요

Ollama는 다양한 오픈소스 LLM 모델을 로컬에서 실행할 수 있도록 지원합니다. 각 모델은 특정 용도와 하드웨어 환경에 최적화되어 있으며, 크기와 성능 사이의 트레이드오프를 고려해 선택해야 합니다.

주요 모델 패밀리

Ollama가 지원하는 주요 모델 패밀리는 다음과 같습니다:

패밀리 개발사 특징 주요 용도
Llama Meta 범용 성능, 다양한 크기 일반 대화, 질의응답, 요약
CodeLlama Meta 코딩 특화, Python 강점 코드 생성, 디버깅, 리팩토링
Mistral Mistral AI 효율적, 고품질 빠른 추론, 프로덕션 배포
Mixtral Mistral AI MoE 아키텍처, 큰 모델 성능 복잡한 작업, 멀티태스킹
Phi Microsoft 소형 고성능 리소스 제한 환경, 엣지
Gemma Google 경량, 빠른 속도 실시간 응답, 모바일
Qwen Alibaba 다국어 지원, 중국어 강점 다국어 처리, 번역
DeepSeek DeepSeek 코딩 + 수학 특화 기술 문서, 알고리즘

모델 선택 프로세스

모델 선택 시작 주요 용도? CodeLlama DeepSeek-Coder Llama / Mistral Qwen RAM 크기? (VRAM 포함) < 8GB Phi-3 / Gemma 8-16GB Llama 3.2 7B > 32GB Llama 3.1 70B 양자화 레벨 선택
💡 모델 명명 규칙

Ollama 모델 이름은 일반적으로 다음 형식을 따릅니다:

모델명:크기-양자화

# 예시
llama3.2:7b-instruct-q4_0
│       │   │         └─ 양자화 레벨 (4-bit)
│       │   └─────────── 튜닝 타입 (instruction)
│       └─────────────── 파라미터 크기 (7 billion)
└─────────────────────── 모델 패밀리 (Llama 3.2)

Llama 시리즈

Meta의 Llama (Large Language Model Meta AI)는 가장 인기 있는 오픈소스 LLM 패밀리입니다. Ollama에서 지원하는 Llama 모델은 다음과 같습니다.

Llama 3.2 (최신)

2024년 9월 출시된 Llama 3.2는 경량화와 멀티모달 기능에 초점을 맞춘 버전입니다.

모델명 크기 컨텍스트 RAM 요구 특징
llama3.2:1b 1B 128K 1.3 GB 초경량, 엣지 디바이스
llama3.2:3b 3B 128K 2.0 GB 모바일 최적화
llama3.2 7B 128K 4.7 GB 일반 용도 추천
llama3.2:11b-vision 11B 128K 7.9 GB 이미지 이해 가능
llama3.2:90b-vision 90B 128K 55 GB 고성능 멀티모달

설치 및 실행

# 기본 모델 다운로드 (7B)
ollama pull llama3.2

# 경량 모델 (1B)
ollama pull llama3.2:1b

# 비전 모델 (이미지 처리)
ollama pull llama3.2:11b-vision

# 실행
ollama run llama3.2
>>> 안녕하세요. 한국어로 답변해주세요.
안녕하세요! 네, 한국어로 답변드리겠습니다. 무엇을 도와드릴까요?

Llama 3.1

2024년 7월 출시된 Llama 3.1은 대규모 컨텍스트 윈도우(128K 토큰)를 지원하며, 최대 405B 파라미터 모델까지 제공합니다.

모델명 크기 RAM 요구 특징
llama3.1:8b 8B 4.7 GB 일반 용도
llama3.1:70b 70B 40 GB 고성능, 워크스테이션
llama3.1:405b 405B 231 GB 최고 성능, 서버용
# Llama 3.1 8B 설치
ollama pull llama3.1:8b

# 특정 양자화 버전 선택
ollama pull llama3.1:8b-instruct-q4_0  # 4-bit 양자화
ollama pull llama3.1:8b-instruct-q8_0  # 8-bit 양자화 (고품질)

# 70B 모델 (강력한 GPU 필요)
ollama pull llama3.1:70b

Llama 3

2024년 4월 출시된 Llama 3는 뛰어난 성능과 안정성으로 여전히 많이 사용됩니다.

모델명 크기 컨텍스트 RAM 요구
llama3:8b 8B 8K 4.7 GB
llama3:70b 70B 8K 40 GB
🎯 Llama 모델 선택 가이드
  • 제한된 리소스 (8GB 미만): llama3.2:1b 또는 llama3.2:3b
  • 일반 개발 환경 (16GB): llama3.2 (7B) 또는 llama3.1:8b
  • 고성능 워크스테이션 (32GB+): llama3.1:70b
  • 이미지 처리 필요: llama3.2:11b-vision
  • 긴 컨텍스트 필요: Llama 3.1 시리즈 (128K 토큰)

CodeLlama - 코딩 특화 모델

CodeLlama는 Llama 2를 코드 생성에 특화시킨 모델입니다. Python, JavaScript, C++, Java 등 다양한 언어를 지원하며, 특히 Python에서 뛰어난 성능을 보입니다.

CodeLlama 변형

모델명 크기 특징 주요 용도
codellama:7b 7B 기본 코드 모델 코드 완성, 생성
codellama:13b 13B 향상된 성능 복잡한 코드 생성
codellama:34b 34B 최고 성능 아키텍처 설계
codellama:7b-instruct 7B 대화형 코딩 페어 프로그래밍
codellama:7b-python 7B Python 전문 Python 개발

실전 활용 예제

# CodeLlama 설치
ollama pull codellama:7b-instruct

# 코드 생성 예제
ollama run codellama:7b-instruct

>>> Write a Python function to calculate Fibonacci numbers with memoization

def fibonacci(n, memo={}):
    """
    Calculate the nth Fibonacci number using memoization.

    Args:
        n: The position in the Fibonacci sequence
        memo: Dictionary to store previously calculated values

    Returns:
        The nth Fibonacci number
    """
    if n in memo:
        return memo[n]

    if n <= 1:
        return n

    memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo)
    return memo[n]

# 사용 예시
for i in range(10):
    print(f"F({i}) = {fibonacci(i)}")

CodeLlama vs 일반 Llama

기준 CodeLlama Llama 3.2
코드 생성 ⭐⭐⭐⭐⭐ ⭐⭐⭐
일반 대화 ⭐⭐⭐ ⭐⭐⭐⭐⭐
코드 설명 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
디버깅 ⭐⭐⭐⭐⭐ ⭐⭐⭐
다국어 지원 ⭐⭐⭐ ⭐⭐⭐⭐⭐
⚠️ CodeLlama 한계점
  • 일반 대화 능력은 범용 모델보다 제한적
  • 최신 라이브러리/프레임워크 정보 부족 (학습 데이터 기준 2023년 초)
  • 보안 취약점 검증 필요 (생성된 코드 검토 필수)
  • 한국어 코드 주석 생성 품질이 Llama 3.x보다 낮음

Mistral & Mixtral

Mistral AI의 모델들은 효율성과 성능의 균형이 뛰어나며, 프로덕션 환경에서 많이 사용됩니다.

Mistral 7B

Mistral 7B는 7B 파라미터임에도 불구하고 13B 모델과 비슷한 성능을 보이는 것으로 유명합니다.

# Mistral 7B 설치
ollama pull mistral

# Mistral 7B Instruct (대화 최적화)
ollama pull mistral:7b-instruct

# 실행
ollama run mistral:7b-instruct
특징 내용
파라미터 7.3B
컨텍스트 32K 토큰
RAM 요구 4.1 GB
아키텍처 Grouped-Query Attention
강점 빠른 추론, 효율적 메모리 사용

Mixtral - Mixture of Experts

Mixtral은 MoE (Mixture of Experts) 아키텍처를 사용하여 큰 모델의 성능을 작은 메모리 풋프린트로 구현합니다.

# Mixtral 8x7B 설치
ollama pull mixtral

# Mixtral 8x22B (더 큰 모델)
ollama pull mixtral:8x22b
모델 구조 RAM 요구 특징
mixtral:8x7b 8개 전문가, 각 7B 26 GB 70B급 성능, 13B급 속도
mixtral:8x22b 8개 전문가, 각 22B 80 GB 최고 성능

MoE 아키텍처 원리

입력 토큰 라우터 전문가 선택 8개 전문가 중 2개 활성화 Expert 1 수학 ✓ 활성 Expert 2 코딩 Expert 3 언어 Expert 4 추론 ✓ 활성 ... 나머지 4개 출력 병합
💡 MoE의 장점
  • 효율성: 전체 파라미터 중 일부만 사용하여 추론 속도 향상
  • 전문화: 각 전문가가 특정 도메인에 특화
  • 확장성: 전문가 추가로 성능 향상 가능
  • 메모리: 큰 모델의 성능을 작은 활성 메모리로 구현

Mistral vs Llama 비교

항목 Mistral 7B Llama 3.2 7B
추론 속도 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
메모리 효율 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
일반 성능 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
컨텍스트 길이 32K 128K
다국어 지원 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

Phi - 소형 고성능 모델

Microsoft의 Phi 시리즈는 작은 크기로 큰 모델에 준하는 성능을 제공하는 것이 특징입니다.

Phi 모델 라인업

모델 크기 RAM 요구 특징
phi3:mini 3.8B 2.3 GB 초경량, 모바일 가능
phi3:medium 14B 7.9 GB 균형잡힌 성능
phi3.5 3.8B 2.3 GB 최신 버전, 성능 개선

Phi 사용 예제

# Phi-3 mini 설치 (가장 작은 모델)
ollama pull phi3:mini

# Phi-3.5 설치 (최신 버전)
ollama pull phi3.5

# 실행
ollama run phi3:mini

>>> Explain quantum entanglement in simple terms

Quantum entanglement is like having two magic coins that are mysteriously
connected. When you flip one coin and it lands on heads, the other coin
instantly lands on tails, no matter how far apart they are. This connection
happens faster than light could travel between them, which puzzled Einstein
and led him to call it "spooky action at a distance."

Phi vs 다른 소형 모델 벤치마크

모델 크기 MMLU HumanEval 추론 속도
Phi-3 mini 3.8B 69.0% 58.5% ⭐⭐⭐⭐⭐
Gemma 2B 2.0B 42.3% 22.0% ⭐⭐⭐⭐⭐
Llama 3.2 3B 3.0B 63.4% 54.2% ⭐⭐⭐⭐
Mistral 7B 7.0B 62.5% 40.2% ⭐⭐⭐⭐
🎯 Phi 추천 사용 사례
  • 엣지 컴퓨팅: Raspberry Pi, 임베디드 시스템
  • 모바일 앱: 온디바이스 AI 기능
  • 실시간 처리: 빠른 응답 필요한 챗봇
  • 배치 처리: 대량 문서 분석
  • 프로토타이핑: 빠른 실험과 반복

Gemma - Google의 경량 모델

Google의 Gemma는 Gemini 모델의 기술을 기반으로 개발된 오픈소스 모델입니다.

Gemma 모델

모델 크기 RAM 요구 특징
gemma:2b 2B 1.4 GB 초경량
gemma:7b 7B 4.8 GB 일반 용도
gemma2:9b 9B 5.4 GB 최신 버전
gemma2:27b 27B 16 GB 고성능
# Gemma 2B 설치 (가장 작음)
ollama pull gemma:2b

# Gemma 2 9B 설치 (권장)
ollama pull gemma2:9b

# 실행
ollama run gemma2:9b

Gemma의 주요 특징

  • 안전성 강화: 유해 콘텐츠 필터링 내장
  • 상업적 사용 가능: 제한 없는 라이선스
  • 다국어 지원: 한국어 포함 다양한 언어
  • 빠른 추론: 최적화된 추론 속도
💡 Gemma vs Gemma 2

Gemma 2 시리즈는 다음과 같은 개선사항이 있습니다:

  • Sliding window attention으로 긴 컨텍스트 효율적 처리
  • 개선된 수학 및 코딩 능력
  • 더 나은 다국어 성능
  • Knowledge distillation으로 작은 모델 성능 향상

Qwen - 다국어 강자

Alibaba의 Qwen (通义千问)은 특히 중국어와 다국어 처리에 강점을 보이는 모델입니다.

Qwen 모델 라인업

모델 크기 RAM 요구 특징
qwen2:0.5b 0.5B 0.5 GB 극소형
qwen2:1.5b 1.5B 1.0 GB 경량
qwen2:7b 7B 4.4 GB 일반 용도
qwen2:72b 72B 41 GB 최고 성능
qwen2.5-coder 7B 4.4 GB 코딩 특화

Qwen 실전 예제

# Qwen 2 7B 설치
ollama pull qwen2:7b

# 코딩 특화 버전
ollama pull qwen2.5-coder

# 다국어 테스트
ollama run qwen2:7b

>>> 请用中文和韩语解释机器学习

# 중국어 응답:
机器学习是人工智能的一个分支,它使计算机能够从数据中学习
并改进性能,而无需明确编程。

# 한국어 응답:
머신러닝은 인공지능의 한 분야로, 컴퓨터가 명시적인 프로그래밍
없이도 데이터로부터 학습하고 성능을 개선할 수 있게 합니다.

Qwen의 강점

  • 다국어: 영어, 중국어, 한국어, 일본어 등 29개 언어 지원
  • 긴 컨텍스트: 최대 32K 토큰 (Qwen2.5는 128K)
  • 수학/코딩: GSM8K, HumanEval에서 높은 점수
  • 효율성: 작은 모델도 우수한 성능
🌏 Qwen 추천 사용 사례
  • 다국어 챗봇 개발
  • 한중일 번역 서비스
  • 아시아 시장 타겟 앱
  • 크로스링구얼 검색

DeepSeek - 코딩 + 수학 전문가

DeepSeek은 특히 코딩과 수학 문제에 강한 성능을 보이는 중국 기반 모델입니다.

DeepSeek 모델

모델 크기 RAM 요구 특징
deepseek-coder:6.7b 6.7B 3.8 GB 코딩 특화
deepseek-coder:33b 33B 19 GB 고성능 코딩
deepseek-coder-v2 16B 9.0 GB 최신 버전

DeepSeek 코딩 예제

# DeepSeek Coder 설치
ollama pull deepseek-coder:6.7b

# 복잡한 알고리즘 구현
ollama run deepseek-coder:6.7b

>>> Implement a B-tree insertion algorithm in Python

class BTreeNode:
    def __init__(self, leaf=True):
        self.keys = []
        self.children = []
        self.leaf = leaf

class BTree:
    def __init__(self, t):
        self.root = BTreeNode()
        self.t = t  # Minimum degree

    def insert(self, key):
        root = self.root
        if len(root.keys) == (2 * self.t) - 1:
            # Root is full, split it
            new_root = BTreeNode(leaf=False)
            new_root.children.append(self.root)
            self._split_child(new_root, 0)
            self.root = new_root
        self._insert_non_full(self.root, key)

    def _split_child(self, parent, index):
        t = self.t
        full_child = parent.children[index]
        new_child = BTreeNode(leaf=full_child.leaf)

        # Split keys
        mid_key = full_child.keys[t - 1]
        new_child.keys = full_child.keys[t:(2 * t) - 1]
        full_child.keys = full_child.keys[0:t - 1]

        # Split children if not leaf
        if not full_child.leaf:
            new_child.children = full_child.children[t:2 * t]
            full_child.children = full_child.children[0:t]

        # Insert mid_key into parent
        parent.keys.insert(index, mid_key)
        parent.children.insert(index + 1, new_child)

    def _insert_non_full(self, node, key):
        i = len(node.keys) - 1

        if node.leaf:
            # Insert into leaf
            node.keys.append(None)
            while i >= 0 and key < node.keys[i]:
                node.keys[i + 1] = node.keys[i]
                i -= 1
            node.keys[i + 1] = key
        else:
            # Find child to insert into
            while i >= 0 and key < node.keys[i]:
                i -= 1
            i += 1

            if len(node.children[i].keys) == (2 * self.t) - 1:
                self._split_child(node, i)
                if key > node.keys[i]:
                    i += 1

            self._insert_non_full(node.children[i], key)

DeepSeek 벤치마크

벤치마크 DeepSeek-Coder 6.7B CodeLlama 7B Llama 3.2 7B
HumanEval 78.6% 53.7% 62.4%
MBPP 70.2% 56.2% 64.1%
GSM8K (수학) 65.4% 28.7% 72.8%

특수 목적 모델

Ollama는 특정 작업에 특화된 다양한 모델도 지원합니다.

멀티모달 (비전) 모델

모델 특징 사용 예
llava 7B, 이미지 + 텍스트 이미지 설명, OCR
llava:13b 13B, 고품질 비전 상세 이미지 분석
bakllava 7B, LLaVA 개선 일반 이미지 이해
llama3.2:11b-vision 최신, Llama 3.2 기반 프로덕션 비전 앱

비전 모델 사용 예제

# LLaVA 설치
ollama pull llava

# 이미지와 함께 프롬프트 전송
ollama run llava "What's in this image?" /path/to/image.jpg

# API를 통한 이미지 분석
curl http://localhost:11434/api/generate -d '{
  "model": "llava",
  "prompt": "Describe this image in detail",
  "images": ["'$(base64 < image.jpg)'"]
}'

임베딩 모델

벡터 검색, RAG (Retrieval-Augmented Generation)에 사용되는 임베딩 모델들입니다.

모델 차원 특징
nomic-embed-text 768 영어 특화, 빠름
mxbai-embed-large 1024 고품질 임베딩
all-minilm 384 경량, 빠른 속도

임베딩 생성 예제

# 임베딩 모델 설치
ollama pull nomic-embed-text

# Python으로 임베딩 생성
import requests

def get_embedding(text):
    response = requests.post(
        'http://localhost:11434/api/embeddings',
        json={
            'model': 'nomic-embed-text',
            'prompt': text
        }
    )
    return response.json()['embedding']

# 사용 예시
text = "Ollama is a tool for running LLMs locally"
embedding = get_embedding(text)
print(f"Embedding dimension: {len(embedding)}")  # 768

기타 특화 모델

모델 특화 분야 설명
neural-chat 대화 Intel 최적화 챗봇
starling-lm 대화 RLHF 튜닝
orca-mini 추론 작은 크기, 강한 추론
vicuna 일반 GPT-4 데이터 학습
wizard-vicuna 코딩 Vicuna + 코딩 튜닝

양자화 레벨 이해

양자화는 모델의 가중치를 낮은 정밀도로 변환하여 메모리 사용량과 추론 속도를 개선하는 기술입니다.

양자화 타입

타입 비트 품질 메모리 속도 사용 시기
fp16 16-bit ⭐⭐⭐⭐⭐ 100% ⭐⭐⭐ 최고 품질 필요
q8_0 8-bit ⭐⭐⭐⭐⭐ 50% ⭐⭐⭐⭐ 품질 중시
q6_K 6-bit ⭐⭐⭐⭐ 38% ⭐⭐⭐⭐ 균형잡힌 선택
q5_K_M 5-bit ⭐⭐⭐⭐ 31% ⭐⭐⭐⭐⭐ 일반 권장
q4_K_M 4-bit ⭐⭐⭐ 25% ⭐⭐⭐⭐⭐ 제한된 RAM
q4_0 4-bit ⭐⭐⭐ 25% ⭐⭐⭐⭐⭐ 속도 우선
q3_K_M 3-bit ⭐⭐ 19% ⭐⭐⭐⭐⭐ 극한 환경
q2_K 2-bit 12% ⭐⭐⭐⭐⭐ 실험적

양자화 비교 예제

# 다양한 양자화 버전 비교
# Llama 3.2 7B 기준

ollama pull llama3.2:7b-instruct-fp16    # ~14 GB
ollama pull llama3.2:7b-instruct-q8_0    # ~7.7 GB
ollama pull llama3.2:7b-instruct-q6_K    # ~5.9 GB
ollama pull llama3.2:7b-instruct-q5_K_M  # ~5.1 GB (권장)
ollama pull llama3.2:7b-instruct-q4_K_M  # ~4.4 GB
ollama pull llama3.2:7b-instruct-q4_0    # ~4.1 GB
ollama pull llama3.2:7b-instruct-q3_K_M  # ~3.2 GB
ollama pull llama3.2:7b-instruct-q2_K    # ~2.6 GB
양자화 레벨별 품질 vs 성능 메모리 사용량 (GB) 품질/성능 품질 속도 fp16 14GB q8_0 7.7GB q5_K_M (권장) 5.1GB q4_K_M 4.4GB q2_K 2.6GB
🎯 양자화 선택 가이드
  • RAM 32GB+: q8_0 또는 fp16 (최고 품질)
  • RAM 16GB: q5_K_M 또는 q6_K (권장)
  • RAM 8GB: q4_K_M 또는 q4_0
  • RAM 4GB 이하: q3_K_M 또는 더 작은 모델 선택

참고: K 접미사는 K-quant 방식을 의미하며, 일반적으로 같은 비트 수에서 더 나은 품질을 제공합니다.

양자화 명명 규칙 상세

# 양자화 타입 해석
q4_K_M
│ │ └─ M = Medium (중간 품질)
│ └─── K = K-quant 방식
└───── 4 = 4-bit 양자화

# 변형
q4_K_S  # S = Small (가장 빠름, 낮은 품질)
q4_K_M  # M = Medium (균형)
q4_K_L  # L = Large (높은 품질, 느림)

# 레거시 형식
q4_0    # 구식 4-bit 양자화
q4_1    # 개선된 4-bit (bias 추가)

용도별 모델 선택 가이드

작업 유형별 추천

작업 유형 1순위 2순위 3순위
일반 대화 llama3.2:7b mistral:7b qwen2:7b
코드 생성 deepseek-coder:6.7b codellama:7b qwen2.5-coder
코드 리뷰 llama3.1:70b codellama:13b deepseek-coder:33b
번역 qwen2:7b llama3.2:7b gemma2:9b
요약 llama3.1:8b mistral:7b phi3:medium
수학 문제 deepseek-coder:6.7b llama3.2:7b qwen2:7b
이미지 분석 llama3.2:11b-vision llava:13b bakllava
임베딩 nomic-embed-text mxbai-embed-large all-minilm

하드웨어별 추천

8GB RAM (통합 그래픽)

  • phi3:mini - 2.3 GB
  • gemma:2b - 1.4 GB
  • qwen2:1.5b - 1.0 GB
  • llama3.2:3b - 2.0 GB

16GB RAM (일반 개발자 노트북)

  • llama3.2:7b - 4.7 GB
  • mistral:7b-instruct-q5_K_M - 4.1 GB
  • codellama:7b - 3.8 GB
  • qwen2:7b - 4.4 GB

32GB RAM (고성능 워크스테이션)

  • llama3.1:70b-q4_0 - 23 GB
  • mixtral:8x7b - 26 GB
  • codellama:34b - 19 GB
  • qwen2:72b-q4_0 - 28 GB

64GB+ RAM + 고성능 GPU

  • llama3.1:70b - 40 GB
  • mixtral:8x22b - 80 GB
  • llama3.1:405b-q4_0 - 150 GB

언어별 추천

언어 최적 모델 설명
한국어 llama3.2, qwen2 자연스러운 한국어 생성
중국어 qwen2, deepseek 중국어 특화 학습
일본어 qwen2, llama3.2 다국어 지원 우수
영어 모든 모델 기본 언어
유럽어 mistral, llama 다국어 균형

모델 태그 시스템

Ollama는 Docker와 유사한 태그 시스템을 사용합니다.

태그 예제

# 기본 형식
모델명:태그

# 태그 생략 시 :latest 자동 적용
ollama pull llama3.2
# = ollama pull llama3.2:latest

# 크기 지정
ollama pull llama3.2:7b
ollama pull llama3.2:3b
ollama pull llama3.2:1b

# 크기 + 튜닝 타입
ollama pull llama3.2:7b-instruct
ollama pull llama3.2:7b-text

# 크기 + 튜닝 + 양자화
ollama pull llama3.2:7b-instruct-q4_K_M
ollama pull llama3.2:7b-instruct-q8_0

# 특수 변형
ollama pull llama3.2:11b-vision
ollama pull codellama:7b-python

태그 구성 요소

요소 예시 설명
크기 7b, 13b, 70b 파라미터 수 (billion)
튜닝 instruct, chat, text 파인튜닝 타입
양자화 q4_0, q5_K_M, fp16 압축 레벨
특수 vision, python, coder 특화 기능

태그 관리

# 설치된 모델 확인 (태그 포함)
ollama list

NAME                           ID              SIZE      MODIFIED
llama3.2:latest                abc123          4.7 GB    2 days ago
llama3.2:7b-instruct-q4_0      def456          4.1 GB    1 week ago
mistral:7b-instruct-v0.2       ghi789          4.1 GB    3 days ago

# 특정 태그 삭제
ollama rm llama3.2:7b-instruct-q4_0

# 모델 정보 확인
ollama show llama3.2:7b-instruct-q4_0

# 모든 버전 확인 (원격 레지스트리)
ollama search llama3.2
⚠️ 태그 주의사항
  • :latest 태그는 시간에 따라 변경될 수 있음 (재현성 주의)
  • 프로덕션에서는 명확한 태그 사용 권장 (llama3.2:7b-instruct-q5_K_M)
  • 같은 모델의 다른 양자화 버전은 별도 다운로드 필요
  • 태그는 대소문자 구분 (7B7b)

모델 비교 매트릭스

종합 비교

모델 비교는 용도(대화/코딩/다국어), 하드웨어 제약, 지연 시간 목표를 기준으로 판단하는 것이 가장 안전합니다.

객관적 벤치마크 점수

벤치마크 점수는 모델/버전/환경에 따라 크게 달라질 수 있습니다. 동일 조건에서 직접 테스트해 확인하세요.

📊 벤치마크 설명
  • MMLU: 다양한 학술 주제에 대한 이해도 (0-100)
  • HumanEval: Python 코드 생성 능력 (0-100)
  • GSM8K: 초등 수학 문제 해결 능력 (0-100)
  • TruthfulQA: 사실 기반 답변 정확도 (0-100)

모델 선택 모범 사례

평가 프로세스

  1. 요구사항 정의
    • 주요 작업 유형 (대화, 코딩, 번역 등)
    • 응답 품질 vs 속도 우선순위
    • 다국어 지원 필요성
  2. 하드웨어 확인
    • 사용 가능한 RAM/VRAM 크기
    • GPU 유무 및 성능
    • 저장 공간 (모델당 수 GB)
  3. 후보 모델 선정
    • 3-5개 후보 모델 리스트업
    • 다양한 양자화 레벨 포함
  4. 실전 테스트
    • 실제 사용 케이스로 테스트
    • 응답 품질, 속도, 메모리 사용량 측정
  5. 최종 선택
    • 정량적 + 정성적 평가 결합
    • 프로덕션 환경 고려

간단한 테스트 스크립트

#!/bin/bash

# 여러 모델 성능 비교 스크립트

MODELS=("llama3.2:7b" "mistral:7b" "deepseek-coder:6.7b")
PROMPT="Write a Python function to find prime numbers"

for model in "${MODELS[@]}"; do
    echo "Testing $model..."

    # 시간 측정
    start=$(date +%s)

    # 응답 생성
    ollama run "$model" "$PROMPT" > "result_${model//:/_}.txt"

    end=$(date +%s)
    duration=$((end - start))

    echo "$model: ${duration}s" >> benchmark.txt

    # 메모리 사용량 확인
    ollama ps | grep "$model" >> benchmark.txt

    echo "---" >> benchmark.txt
done

echo "Benchmark complete. Check benchmark.txt for results."
💡 최종 권장사항

추천 전략: 경량 모델로 초기 검증을 하고, 품질이 부족할 때만 더 큰 모델로 단계적으로 확장하세요. GPU/VRAM과 지연 시간 요구를 기준으로 균형점을 찾는 것이 중요합니다.

핵심 정리

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

실무 팁

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