Hugging Face GGUF 모델을 Ollama에서 실행하는 두 가지 방법을 정리.
hf.co/username/repo 직접 실행으로 한 줄 만에 사용하거나, Modelfile을 작성해
시스템 프롬프트·템플릿을 커스터마이징하는 방법까지. macOS·Linux 검증, 2026.05 업데이트.

요약 (Quick Answer)
Hugging Face의 GGUF 모델을 Ollama에서 사용하는 방법은 2가지입니다.
방법 1 — 직접 실행 (가장 빠름, 2024.10+ 지원)
ollama run hf.co/{username}/{repository}
# 양자화 지정: ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q4_K_M
방법 2 — Modelfile 등록 (커스터마이징 필요 시)
- Hugging Face에서
.gguf파일 다운로드 Modelfile작성 (FROM, TEMPLATE, SYSTEM, PARAMETER stop)ollama create <모델명> -f Modelfile빌드ollama run <모델명>실행
어느 쪽을 선택할까?
- 기본 사용 → 방법 1 (한 줄, 설정 0)
- 한국어 시스템 프롬프트, 커스텀 템플릿, 특수 stop 토큰 필요 → 방법 2
검증 환경: macOS Sequoia 15.x / Ollama 0.5.x / Apple Silicon M3
마지막 업데이트: 2026-05-14
| 항목 | 방법 1: hf.co 직접 실행 | 방법 2: Modelfile + create |
|---|---|---|
| 명령 길이 | 1줄 | 4~6줄 |
| Ollama 버전 | 0.3.10+ (2024.10~) | 모든 버전 |
| 양자화 선택 | 태그로 지정 (:Q4_K_M) |
다운로드 시 선택 |
| 시스템 프롬프트 변경 | 불가 (기본값) | 가능 (SYSTEM 지정) |
| TEMPLATE 커스터마이징 | 불가 | 가능 |
| stop 토큰 변경 | 불가 | 가능 (PARAMETER stop) |
| 디스크 사용 | 캐시만 | 원본 + Ollama 이미지 중복 |
| 추천 사용처 | 빠른 테스트, 표준 모델 | 한국어 LLM, 프로덕션 |
방법 2
1. 소개
Ollama는 로컬 환경에서 LLM(Large Language Model)을 쉽게 다룰 수 있도록 도와주는 툴입니다. 주로 Llama 기반 모델들을 사용하지만, 그 외 다양한 모델도 활용할 수 있습니다. 오늘은 Hugging Face에서 제공하는 모델을 Ollama에 등록하여 사용할 수 있는 방법을 단계별로 알아보겠습니다.
2. 준비물 확인하기
- Hugging Face 계정: 모델을 다운받기 위해 필요합니다.
- Ollama 설치: Ollama가 제대로 설치되어 있어야 합니다. (Mac 또는 Linux 환경에서 동작)
- 터미널/CLI 사용법: 기본적인 터미널 명령어 사용 방법.
3. Hugging Face에서 모델 찾기
우선 Hugging Face에서 원하는 모델을 찾습니다. Ollama와 함께 사용하기 위해서는 gguf 형태의 양자화(Quantized) 모델을 받는 것이 좋습니다. 모델 크기가 상대적으로 작아, 로컬 환경에서 돌리기에 훨씬 수월하기 때문입니다.
- Hugging Face에 접속합니다.
- 탐색창에서 “gguf” 키워드로 검색하거나, 원하는 모델을 찾아서 gguf 버전이 있는지 확인합니다.
- 해당 모델 리포지토리에서 .gguf 파일을 다운로드합니다.
• 예: llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M.gguf (가상의 예시)
팁: 모델이 클 경우 RAM 점유율이 많아질 수 있으니, 먼저 작은 용량의 모델을 테스트 삼아 사용해보는 것을 추천합니다.
4. Modelfile 작성하기
Ollama는 Docker와 비슷한 이미지 생성 방식을 사용합니다. Ollama가 원하는 형태대로 작성된 “Modelfile”이 필요합니다.
아래는 예시 Modelfile입니다. 파일 이름은 Modelfile(확장자 없이)로 저장해주세요.
#Modelfile
FROM ./llama-3.2-Korean-Bllossom-3B-gguf-Q4\_K\_M.gguf
TEMPLATE """{{- if .Messages }}
{{- range $index, $\_ := .Messages }}
{{- if eq .Role "user" }}
{{- if and (eq (len (slice $.Messages $index)) 1) $.Tools }}\[AVAILABLE\_TOOLS\] {{ $.Tools }}\[/AVAILABLE\_TOOLS\]
{{- end }}\[INST\] {{ if and $.System (eq (len (slice $.Messages $index)) 1) }}{{ $.System }}
{{ end }}{{ .Content }}\[/INST\]
{{- else if eq .Role "assistant" }}
{{- if .Content }} {{ .Content }}
{{- else if .ToolCalls }}\[TOOL\_CALLS\] \[
{{- range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{- end }}\]
{{- end }}
{{- else if eq .Role "tool" }}\[TOOL\_RESULTS\] {"content": {{ .Content }}} \[/TOOL\_RESULTS\]
{{- end }}
{{- end }}
{{- else }}\[INST\] {{ if .System }}{{ .System }}
{{ end }}{{ .Prompt }}\[/INST\]
{{- end }} {{ .Response }}
{{- if .Response }}
{{- end }}"""
PARAMETER stop \[INST\]
PARAMETER stop \[/INST\]
SYSTEM """You are a helpful AI assistant. Please answer the user's questions kindly. 당신은 유능한 AI 어시스턴트 입니다. 사용자의 질문에 대해 친절하게 답변해주세요."""
- FROM: Ollama가 불러올 모델의 경로(또는 파일명)를 지정합니다.
- TEMPLATE: 메시지 작성 규칙, 시스템 프롬프트 등을 정의합니다. 이 템플릿을 통해 사용자 입력과 어시스턴트 출력을 구조적으로 관리할 수 있습니다.
- PARAMETER stop: 특정 패턴을 만나면 답변을 중단하도록 하는 파라미터를 설정합니다.
- SYSTEM: AI 시스템의 기본 프롬프트(= 시나리오, 역할)입니다. Ollama가 답변을 생성할 때 기준으로 삼게 됩니다.
5. Ollama에 모델 등록하기
이제 준비가 모두 끝났습니다. 다음 명령어를 통해 새로운 Ollama 모델 이미지를 빌드(생성)해보겠습니다:
ollama create llama3.2-kor -f Modelfile
- llama3.2-kor: Ollama 내부에서 사용할 모델 이미지를 가리키는 이름입니다. 원하는 이름을 자유롭게 지정 가능합니다.
- -f Modelfile: 빌드 시 사용할 파일을 명시합니다.
명령어를 실행하면 대략 아래와 같은 출력이 나타납니다:
transferring model data 100%
using existing layer sha256:389f380bbfbe77d9171937b3d166a26ccc3e04201f3d9fb0ca1b5e01b6787621
using existing layer sha256:491dfa501e59ed17239711477601bdc7f559de5407fbd4a2a79078b271045621
creating new layer sha256:a25a6d48d6611ea12c25544d43104f7a4bcc68da33459f80e9bd0b5835ce05a4
using existing layer sha256:ed11eda7790d05b49395598a42b155812b17e263214292f7b87d15e14003d337
creating new layer sha256:fd9d4efaf9d0b1ddaf61355ebb82636402b47d87ad56a32c4ad09f8b2e3114a0
writing manif
...
참고: 이미지(모델)가 생성되는 데 시간이 조금 걸릴 수 있습니다. 용량이 큰 모델일수록 오래 걸립니다.
6. 모델 테스트하기
빌드가 끝났다면 이제 Ollama에 “llama3.2-kor”라는 이름으로 모델이 등록되었습니다. 다음 명령어로 간단히 테스트해볼 수 있습니다:
ollama run llama3.2-kor
그럼 대화형으로 모델과 인터랙션이 가능합니다.
(예: “안녕, 오늘 날씨가 어때 보여?” 라고 물어보면, 모델이 지정된 시스템 프롬프트에 따라 답변을 생성합니다.)
7. 마무리 & 주의 사항
- 모델 성능: gguf 형태의 모델은 용량을 줄였기 때문에 성능이 떨어질 수 있습니다. 적절한 균형점을 찾는 것이 중요합니다.
- 저작권: 모델마다 저작권·라이선스가 다를 수 있으니, 사용하기 전에 라이선스를 꼭 확인하세요.
- 하드웨어 스펙: 로컬에서 큰 모델을 돌릴 경우, GPU나 CPU 자원 소모가 크니 PC 사양을 고려해야 합니다.
결론
이렇게 Hugging Face에서 받은 .gguf 모델을 Modelfile을 통해 Ollama에 등록하는 과정을 간단히 살펴봤습니다. 앞으로 원하는 모델들을 손쉽게 Ollama에서 바로 빌드해볼 수 있으니, 자유롭게 시도해보세요!
궁금한 점이나 더 자세한 내용은 아래 댓글로 남겨주시거나, Ollama와 Hugging Face 공식 문서를 참고해주시기 바랍니다. 감사합니다!
자주 발생하는 오류
Error: pull model manifest: 400: Repository is not GGUF or is not compatible with llama.cpp
원인: GGUF가 아닌 Safetensors/sharded 모델을 받으려 한 경우. 모델 페이지에서 GGUF 태그가 있는지 확인하세요.
hf.co 직접 실행이 안 될 때
Ollama 버전 확인: ollama --version. 0.3.10 미만이면 업데이트.
한국어 응답이 깨질 때
SYSTEM 프롬프트에 한국어 지시를 명시한 Modelfile 방식이 더 안정적.
자주 묻는 질문 (FAQ)
Q. ollama run hf.co/... 와 Modelfile 중 뭐가 빠른가요?
A. 실행 속도(추론 속도)는 동일합니다. 둘 다 내부적으로 동일한 GGUF·llama.cpp 엔진을 사용합니다. 차이는 "셋업의 간편함"과 "커스터마이징 가능성"입니다.
Q. Q4_K_M, Q5_K_M, Q8_0 중 어떤 양자화를 골라야 하나요?
A. VRAM 8GB 이하라면 Q4_K_M, 16GB+ 라면 Q5_K_M 또는 Q6_K, 품질 최우선이면 Q8_0를 선택하세요.
Q. Bllossom 같은 한국어 모델은 어떤 방법이 좋나요?
A. Modelfile 방식을 권장합니다. 한국어 SYSTEM 프롬프트와 정확한 stop 토큰([INST], [/INST]) 지정이 응답 품질에 큰 영향을 줍니다.
Q. Private(비공개) Hugging Face 모델도 직접 실행되나요?
A. 네, Ollama가 Hugging Face 토큰을 인식하면 가능합니다. 모델 페이지에서 "Use this model → Ollama" 스니펫을 복사해 사용하세요.
Q. macOS와 Linux 외에 Windows에서도 동일한가요?
A. Windows용 Ollama도 동일한 명령을 지원합니다. 경로 구분자(\ vs /)와 PowerShell 따옴표만 주의하면 됩니다.
'🔧 인프라 & 네트워크 > 환경셋팅' 카테고리의 다른 글
| macOS Neovim 0.12 treesitter 오류 한 번에 해결하기 (2026) — master→main 전환, Apple Silicon Homebrew 함정 회피까지 (0) | 2026.06.26 |
|---|---|
| macOS Docker에서 GPU 사용 가능한가? (2026) — Apple Silicon Metal·MLX·Docker Model Runner 정리 (6) | 2026.05.22 |
| Godaddy + Certbot으로 와일드카드 SSL 인증서 자동 갱신하기 (0) | 2025.03.06 |
| 개발자용 폰트2 - NERD Font - D2Coding NERD FONT (2) | 2025.02.18 |
| 무료 SSL 인증서: certbot 사용하기 (2) | 2024.01.04 |
댓글