허깅페이스 gguf 파일 Modelfile 생성
Modelfile 제작방법
1. 최초에 모델파일을 모르기 때문에 처음에는 Hugging Face GGUF나 기본 모델은 먼저 올리마에
실행후 모델파일 추출
ollama run hf.co/{user}/{repo}:Q4_K_M
2. 기본 설정 추출
ollama show <모델명> --modelfile
명령으로 “Base Modelfile”을 뽑습니다.
→ 여기엔
→ 여기엔
FROM
, PARAMETER
, TEMPLATE
, SYSTEM
같은 값이 다 포함돼 있어요.3. 커스텀 Modelfile 제작
- 기본 설정을 텍스트로 추출
ollama show hf.co/{user}/{repo}:Q4_K_M --modelfile > Base.Modelfile
ollama show hf.co/{user}/{repo}:Q4_K_M --parameters # 참고용
ollama show hf.co/{user}/{repo}:Q4_K_M --template # 참고용
필요한 부분만 수정해서 내 Modelfile 제작
뽑아온 Base Modelfile을 복사/수정해서
-
num_ctx
(컨텍스트 길이) -
temperature
,top_p
,top_k
-
stop
토큰 -
system
메시지
같은 부분을 원하는 대로 바꾸면 됩니다.
# (PARAMETER num_ctx, temperature, stop 토큰 등)
vi Modelfile
4) 커스텀 모델 빌드 & 실행
ollama create mymodel -f ./Modelfile
ollama run mymodel
Modelfile 잘못 설정시 무한반복, 동일문장 재생산 오류 대처법
왜 문제가 생기나?
stop 토큰 설정 누락/오류
PARAMETER stop [...] 를 잘못 지정하면 모델이 멈출 지점을 못 찾아 무한 반복합니다.
template 문제
TEMPLATE에서 role/user/assistant 구분이 잘못되면 모델이 자기 답변을 다시 프롬프트로 인식합니다.
system 메시지 중복/잘못된 문법
Go 템플릿 문법 오류나 잘못된 system 지시문이 있으면 대화 흐름이 꼬입니다.
파라미터 값 과도/부적절
예: repeat_penalty가 1.0 이하 → 반복 심화
temperature나 top_p가 극단적 값 → 엉뚱한 반복/난수 같은 출력
안전하게 만드는 방법
1. 항상 기본 Modelfile 먼저 추출
ollama show <모델명> --modelfile > Base.Modelfile
→ 여기서 stop 토큰, template, system을 확인하세요.
2. 작게 수정 → 테스트 → 반복
한 번에 많은 걸 바꾸지 말고, temperature → num_ctx → stop 이런 식으로 순차적으로 수정/테스트하세요.
3. 반복 방지 기본 세팅 예시
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER top_k 40
PARAMETER repeat_penalty 1.1
PARAMETER repeat_last_n 64
PARAMETER stop "<|end_of_text|>"
PARAMETER stop "<|eot_id|>"
repeat_penalty는 1.05~1.2 정도가 무난합니다.
repeat_last_n은 32~128 정도로 두면 반복 줄이는 데 도움 됩니다.
팁
문제 생기면 Base.Modelfile로 롤백 → 커스텀 파일 다시 시도
HF 모델마다 stop 토큰이 다를 수 있으므로 반드시 원본에 있던 걸 참고해야 합니다.
테스트할 때는 ollama run mymodel -p "안녕" 같이 짧게 입력해서 확인하세요.
댓글