Ollama에서 Generation Parameter 설정 가이드

Ollama에서 Generation Parameter 설정 가이드

AI
Ollama에서 Generation Parameter 설정 가이드
Author

gabriel yang

Published

March 30, 2025

Ollama에서 Generation Parameter 설정 가이드

Ollama는 강력한 오픈 소스 LLM(Large Language Model) 실행 환경입니다. Ollama를 통해 모델을 실행할 때, 모델의 성능과 생성 결과에 영향을 미치는 다양한 Generation Parameter를 설정할 수 있습니다. 이 가이드에서는 Ollama에서 Generation Parameter를 설정하는 방법과 각 옵션의 의미를 자세히 설명합니다.

1. Ollama에서 Generation Parameter 설정 방법

Ollama에서 Generation Parameter를 설정하는 방법은 크게 두 가지입니다.

  • 명령줄 옵션: Ollama 명령어를 실행할 때 --parameter 옵션을 사용하여 직접 설정할 수 있습니다.
  • Modelfile: Modelfile을 사용하여 모델의 설정을 정의하고 관리할 수 있습니다. Modelfile을 사용하면 모델 설정을 코드 형태로 관리하고 재사용하기 용이합니다.

2. 주요 Generation Parameter 및 의미

Ollama에서 사용할 수 있는 주요 Generation Parameter는 다음과 같습니다.

🔥 temperature: 모델의 응답 다양성을 조절

  • 의미: 0에 가까울수록 가장 가능성이 높은 토큰을 선택하여 일관성 있고 예측 가능한 응답을 생성합니다. 1에 가까울수록 다양한 토큰을 선택하여 창의적이고 예상치 못한 응답을 생성합니다.
  • 값: 0.0 ~ 2.0 (기본값: 0.7)
  • 설정 가이드:
    • 0.1 ~ 0.3: 가장 보수적인 응답 (정확한 정보 전달이 필요한 경우)
    • 0.4 ~ 0.7: 적절한 균형 유지 (일반적인 대화 및 FAQ 응답)
    • 0.8 ~ 1.0: 창의적인 응답 (소설, 시나리오, 아이디어 생성)

🎯 top_p: 확률 기반 토큰 선택 범위 조절

  • 의미: 확률이 높은 토큰들을 누적 확률이 top_p 값을 초과할 때까지 유지하여 선택합니다.
  • 값: 0.0 ~ 1.0 (기본값: 0.9)
  • 설정 가이드:
    • 0.1 ~ 0.3: 가장 가능성이 높은 토큰만 선택 → 응답이 단조로울 수 있음
    • 0.4 ~ 0.7: 적당한 창의성과 예측 가능성 유지
    • 0.8 ~ 1.0: 확률이 낮은 단어도 포함 → 더 창의적이고 다양한 응답 생성

🚀 top_k: 모델이 고려하는 토큰의 수 제한

  • 의미: 가장 높은 확률을 가진 k개의 토큰 중 하나를 선택합니다.
  • 값: 1 ~ 100 (기본값: 40)
  • 설정 가이드:
    • top_k = 1: 항상 가장 가능성이 높은 단어 선택 → 응답이 반복적일 수 있음
    • top_k = 10 ~ 20: 논리적인 응답 유지
    • top_k = 40 ~ 100: 응답의 다양성을 높이고 창의적인 결과 생성

🔄 repeat_penalty: 반복적인 텍스트 방지

  • 의미: 1.0 이상으로 설정하면 동일한 단어나 문장이 반복되는 것을 방지합니다.
  • 값: 0.0 ~ 2.0 (기본값: 1.1)
  • 설정 가이드:
    • 0.9 이하: 반복이 허용됨
    • 1.0 ~ 1.5: 자연스러운 흐름 유지
    • 1.5 이상: 동일한 문장이나 단어의 반복을 강하게 억제

🎲 seed: 모델의 난수 시드 설정

  • 의미: 동일한 시드를 사용하면 동일한 프롬프트에 대해 항상 같은 응답을 생성합니다.
  • 값: 정수 (기본값: 0)

📏 num_ctx: 컨텍스트 창 크기 설정

  • 의미: 모델이 한 번에 처리할 수 있는 최대 토큰 수를 결정합니다.
  • 값: 정수 (기본값: 2048, 모델에 따라 다를 수 있음)
  • 참고: num_ctx 값이 높을수록 더 많은 문맥을 기억할 수 있지만, 성능 저하가 발생할 수 있음

📌 min_p: 최소 확률 기반 토큰 선택

  • 의미: 확률이 일정 값 이상인 단어만 고려하도록 제한합니다.
  • 값: 0.0 ~ 1.0 (기본값: 0.0)

3. top_p vs top_k: 차이점과 활용법

파라미터 설명 추천 사용 상황
top_p 확률 분포 기반 토큰 선택 창의적인 응답, 다양한 표현 필요
top_k 특정 개수 내에서만 선택 논리적인 응답, 정보 정확성 필요

설정 가이드 - 정보 전달이 중요한 경우 → top_p 낮게, top_k 낮게 (top_p=0.3, top_k=10) - 일반적인 대화 → top_p 중간, top_k 중간 (top_p=0.7, top_k=40) - 창의적인 생성 → top_p 높게, top_k 높게 (top_p=0.9, top_k=100)

4. Modelfile을 사용한 설정 관리

ollama의 최신 버전은 cli에서 직접 generation 옵션을 설정할 수 없습니다. 설정은 Modelfile을 통해서 설정하여 적용해야 합니다. 설정에 필요한 내용을 아래와 같이 Makefile에 저장합니다 저장한 파일은 모델 실행 시점에 적용할 수 있습니다.

# Model 파일 생성
FROM gemma3:latest
PARAMETER temperature 2  # 온도 값을 직접 수정

# Model 파일 적용
root@46ec7974af8a:/# ollama create gemma3:latest -f ./Modelfile 

모델의 option 설정 상태는 show 명령으로 확인할 수 있습니다. gemma3 모델의 temperature가 2로 수정된 것을 확인할 수 있습니다.

root@46ec7974af8a:/# ollama show gemma3:latest
  Model
    architecture        gemma3    
    parameters          4.3B      
    context length      8192      
    embedding length    2560      
    quantization        Q4_K_M    

  Parameters
    stop           "<end_of_turn>"    
    temperature    2                  

  License
    Gemma Terms of Use                  
    Last modified: February 21, 2024 설정을 

카테고리 다른 글

Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Mar 20, 2025 우분투(Ubuntu)에서 ngrok 설치 및 사용 방법 gabriel yang
Feb 4, 2025 Windows 11에서 WSL 설치 및 Docker 연결하기 gabriel yang
Oct 7, 2024 Docker Compose로 Jenkins 설치 및 사용하기 gabriel yang
Aug 23, 2024 우분투(Ubuntu)에서 특정 폴더를 아파치 서버로 설정하기 gabriel yang
Jul 24, 2024 GitHub Actions 시작하기 gabriel yang
Dec 31, 2023 우분투와 윈도우 파일 공유하기 (samba) gabriel yang
Dec 5, 2023 crontab을 이용해서 Let’s Encrypt SSL 인증서 자동갱신 gabriel yang
Nov 27, 2023 우분투 docker, docker-compse 설치 gabriel yang
Nov 26, 2023 AWS 호스팅 EC2 와 Lightsail의 차이 gabriel yang
Nov 20, 2023 wsl 이미지 저장 위치 변경 및 백업 gabriel yang
Nov 20, 2023 airflow postgresoperator 사용하기 gabriel yang
Nov 18, 2023 docker-compose로 airflow 설치하기 gabriel yang
Nov 15, 2023 wsl2에 docker 설치하기 gabriel yang
Nov 15, 2023 mkfifo를 이용한 IPC gabriel yang
Oct 9, 2023 Github Pull Request 템플릿 적용하기 gabriel yang
No matching items
Back to BLOG LIST