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