Ollama 모델 관리 (Modelfile)¶
개요¶
Ollama에서 모델은 그냥 받아다 쓰기만 하는 게 아니라, Modelfile이라는 설정 파일로 원하는 대로 조립할 수 있어요. 베이스 모델을 고르고, 실행 파라미터와 시스템 프롬프트, 프롬프트 템플릿, 심지어 LoRA 어댑터까지 붙여서 "우리 팀용 모델"을 정의하는 거예요. 이 페이지는 Modelfile의 지시어들이 무엇을 하는지를 공식 문서 기준으로 설명합니다.
핵심 개념¶
FROM — 밑바탕이 되는 모델¶
Modelfile은 반드시 FROM 으로 시작해요. 이미 있는 Ollama 모델(FROM llama3.2)을 바탕으로 삼거나, Safetensors 모델이나 GGUF 파일에서 새로 빌드할 수 있어요.
PARAMETER — 실행 파라미터¶
PARAMETER <이름> <값>으로 모델이 추론할 때 쓸 파라미터를 정해요. 예를 들어 창의성을 조절하는 temperature, 컨텍스트 길이를 정하는 num_ctx(토큰 단위, 기본은 모델마다 다름) 등을 둡니다.
FROM llama3.2
# 높을수록 창의적, 낮을수록 일관적
PARAMETER temperature 1
# 컨텍스트 창 크기(4096 토큰)
PARAMETER num_ctx 4096
TEMPLATE — 프롬프트 템플릿¶
TEMPLATE은 모델에 실제로 보낼 프롬프트 템플릿이에요. Go 템플릿 문법을 쓰고, {{ .System }}(시스템 메시지), {{ .Prompt }}(사용자 프롬프트), {{ .Response }}(모델 응답) 변수를 넣어요. 모델마다 기대하는 대화 형식이 달라서, 이 템플릿이 그 형식을 맞춰줘요.
SYSTEM — 시스템 메시지¶
SYSTEM은 템플릿에 들어갈 시스템 메시지예요. 모델의 행동을 지정하죠.
그 외 — ADAPTER, LICENSE, MESSAGE, REQUIRES¶
ADAPTER는 (Q)LoRA 어댑터를 모델에 적용하고, LICENSE는 법적 라이선스를 명시해요. MESSAGE는 대화 히스토리를 미리 심고, REQUIRES는 필요한 최소 Ollama 버전을 지정합니다.
만들고 확인하기¶
Modelfile을 작성한 뒤 ollama create <이름> -f <Modelfile>로 모델을 등록해요. 반대로 ollama show <모델>으로 기존 모델의 Modelfile을 볼 수 있어요. 이걸로 다른 팀원이 우리 설정을 그대로 재현할 수 있습니다.
실제 적용 (데이터스케쳐스)¶
- 팀 표준 모델 정의 — 자주 쓰는 시스템 프롬프트와 파라미터, 프롬프트 템플릿을 Modelfile로 고정해 두면, 같은 모델을 어느 머신에서든 동일하게 재현할 수 있어요.
- 파싱·분류 모델 튜닝 — 로컬 파싱에 쓰는 소형 모델에
temperature를 낮추고num_ctx를 작업에 맞춰 조정한 커스텀 모델을 만들어요. - 실행 형식 통일 — GGUF 기반으로 빌드해 CPU/GPU 어디서건 같은 결과가 나오게 해요.
커스텀 모델은 베이스 모델과 파라미터의 조합이라, 성능은 결국 베이스 모델 품질에 따라요. 어떤 값을 기본값으로 둘지는 실제 평가로 정해요.
더 알아보기¶
- 공식 문서 (1차): Modelfile Reference
- 명령: Ollama CLI (create·show)