기본 콘텐츠로 건너뛰기

llama 계열 gguf 제공되는 경우 가져와서 사용하는 예제

llama 계열의 모델이 친절하게 gguf 형태로 제공되는 경우 어떻게 다운받고 어떻게 ollama에 추가하는지

예전에 gguf 파일을 등록하는 유튜브 강의를 보고 메모해두것을 기반으로 2024년 12월31일 추운 겨울 밤 기억을 백업해 봅니다

수동으로 작성한 것은 지우고 copilot으로 포맷을 정리해서 업데이트합니다.


Bllossom/llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M 한국어 모델 추가하기

시작:

  • MS Copilot과의 질의응답 중 llama 3.2 기반의 한국어 학습 모델을 발견.

현재 사용 모델:

  • EEVE-Korean-10.8B (약 7.7 GB) 모델 사용 중.

llama 3.2 기반 한국어 모델 소개:

모델 설정 파일 (Modelfile):

  • FROM llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M.gguf

    PARAMETER temperature 0.6
    PARAMETER top_p 0.9

    TEMPLATE """<|start_header_id|>system<|end_header_id|>

    Cutting Knowledge Date: December 2023

    {{ if .System }}{{ .System }}
    {{- end }}
    {{- if .Tools }}When you receive a tool call response, use the output to format an answer to the orginal user question.

    You are a helpful assistant with tool calling capabilities.
    {{- end }}<|eot_id|>
    {{- range $i, $_ := .Messages }}
    {{- $last := eq (len (slice $.Messages $i)) 1 }}
    {{- if eq .Role "user" }}<|start_header_id|>user<|end_header_id|>
    {{- if and $.Tools $last }}

    Given the following functions, please respond with a JSON for a function call with its proper arguments that best answers the given prompt.

    Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}. Do not use variables.

    {{ range $.Tools }}
    {{- . }}
    {{ end }}
    {{ .Content }}<|eot_id|>
    {{- else }}

    {{ .Content }}<|eot_id|>
    {{- end }}{{ if $last }}<|start_header_id|>assistant<|end_header_id|>

    {{ end }}
    {{- else if eq .Role "assistant" }}<|start_header_id|>assistant<|end_header_id|>
    {{- if .ToolCalls }}
    {{ range .ToolCalls }}
    {"name": "{{ .Function.Name }}", "parameters": {{ .Function.Arguments }}}{{ end }}
    {{- else }}

    {{ .Content }}
    {{- end }}{{ if not $last }}<|eot_id|>{{ end }}
    {{- else if eq .Role "tool" }}<|start_header_id|>ipython<|end_header_id|>

    {{ .Content }}<|eot_id|>{{ if $last }}<|start_header_id|>assistant<|end_header_id|>

    {{ end }}
    {{- end }}
    {{- end }}"""

    SYSTEM """You are a helpful AI assistant. Please answer the user's questions kindly. 당신은 유능한 AI 어시스턴트 입니다. 사용자의 질문에 대해 친절하게 답변해주세요."""

추가 방법:

  1. gguf 파일 다운로드

    • 브라우저나 Hugging Face CLI를 통해 다운로드

    bash
    huggingface-cli download Bllossom/llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M --local-dir m:\temp --local-dir-use-symlinks False
    
  2. gguf 파일 및 Modelfile 배치

    • gguf 파일: M:\temp\llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M\

    • Modelfile: M:\temp\llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M\

모델 등록 및 확인:

bash
ollama create llama-3.2-Korean-Bllossom-3B -f llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M/Modelfile
ollama list
  • 모델 동작 확인:

bash
ollama run llama-3.2-Korean-Bllossom-3B

결론:

  • 2024년은 말도 안되는 사건들과 대형참사가 많았으나, 평안한 2025년을 기다립니다.

댓글

SilverBullet님의 메시지…
성능비교 3B VS 10.8B

같은 HW환경에서 응답속도는 속도는 3B가 훨씬 빨랐습니다.
----
M:\temp>ollama run llama-3.2-Korean-Bllossom-3B
>>>
>>> 철수가 20개의 연필을 가지고 있었는데 영희가 절반을 가져가고 민수가 남은 5개를 가져갔으면 철수에게 남은 연필의 갯수는
...
... 몇개인가요?
영희가 철수의 20개 연필 중 절반을 가져간다면, 철수가 가지고 있는 연필의 수는 20/2 = 10개가 됩니다.

이제 민수가 남은 5개를 가져갔으므로, 철수에게 남아 있는 연필의 수는 10 - 5 = 5개입니다.

따라서 철수가 남아 있는 연필의 갯수는 5개입니다.

>>> /bye

M:\temp>ollama list
NAME ID SIZE MODIFIED
llama-3.2-Korean-Bllossom-3B:latest 964e2040fa94 2.0 GB 30 minutes ago
llama3.1:latest 46e0c10c039e 4.9 GB 5 days ago
llama3.3:latest a6eb4748fd29 42 GB 5 days ago
llama3.2-vision:latest 38107a0cd119 7.9 GB 4 weeks ago
llama3.2:latest a80c4f17acd5 2.0 GB 4 weeks ago
mistral:latest f974a74358d6 4.1 GB 4 weeks ago
nomic-embed-text:latest 0a109f422b47 274 MB 4 weeks ago
llama3:latest 365c0bd3c000 4.7 GB 6 weeks ago
phi3:latest 4f2222927938 2.2 GB 6 weeks ago
llama3-instruct-8b:latest 1d0e661eaade 8.5 GB 3 months ago
EEVE-Korean-10.8B:latest 78776a54c25d 7.7 GB 3 months ago



M:\temp>ollama run EEVE-Korean-10.8B
>>> 철수가 20개의 연필을 가지고 있었는데 영희가 절반을 가져가고 민수가 남은 5개를 가져갔으면 철수에게 남은 연필의 갯수는
...
... 몇개인가요?
철수가 처음에 20개의 연필을 가졌고, 영희가 그 중 절반인 10개의 연필을 가져갔으니 이제 철수에게는 다음과 같이 남아있
습니다:

20 - 10 = 10개의 연필

다음으로, 민수가 남은 5개의 연필을 가져갔으므로 철수에겐 다음과 같이 남아있습니다:

10 - 5 = 5개의 연필

따라서, 철수는 이제 5개의 연필이 남았습니다.

이 블로그의 인기 게시물

DELL의 새게이밍 노트북, Inspiron 15 7000 Gaming, Dual Display 문제

Dell New 게이밍노트북 7567  I7 Notebook http://www.dell.com/kr/p/inspiron-15-7567-laptop/pd?ref=PD_OC 7th Generation Intel® Core™ i7 프로세서 8GB 메모리 1TB 하드 드라이브 + 128GB 솔리드 스테이트 드라이브 NVIDIA® GeForce® GTX 1050 Ti (4GB GDDR5 그래픽 메모리 포함) 상세 사양 리눅스 개발환경이 필요해서 여러대 구매한 노트북입니다. 기본적으로 ubuntu 16.04 가 설치되어 있는데, 필요한 개발환경이 ubuntu 이고 별도의 windows 개발용 PC가 있기 때문에 구매를 결정하게 되었습니다. Slim하지 않지만 I7 HQ CPU와 1050TI spec 이 결정하는데 주요했고, 받은 후에 빌드환경 구축후 8 thread compile을 만끽하던중 치명적인 문제를 Display쪽 문제를 발견하고, Dell express 쪽과 전화통화도 하고 문의 메일도 보내서 지원을 받고(진행)중입니다. 추가 :  시간낭비하지 말라고 중간에 업데이트합니다.  해결되었고, 해결방법은  Windows 을 설치한 후 Fn+F8을 눌러서 모드를 확장모드를 선택합니다. 디스플레이 설정이나 드라이버 재설치 같은 방법으로는 조정이 불가능했습니다. --------------------------------------------------------------------- 요즘 다들 Dual monitor 환경일텐데, Dual Monitor를 복제형태로만 지원을 합니다. 14.04 설치후 업데이트시 375.66 Driver가 설치됩니다. nVidia driver가 설치되었으나, 모니터 인식에 문제가 있어서 해상도 확장설정자체를 할 수 없습니다. 기본 ubuntu라서 driver 문제인가 확인하기 위해서 우분투 64bit 환경 NVIDIA...

TUF Z390-PLUS GAMING 보드 불편한점

2018년 11월말에 PC를 새로 셋업했습니다. 사무실에서 사용하는 조건이라 구성은 단촐하게 CPU + BOARD + Memory 컴파일용이라 그래픽카드는 없습니다. CPU는 i7 9700K이고, Mainboard Model 은 TUF Z390-PLUS GAMING 입니다. 전에사용하던 CPU가 Haswell i5였었기 때문에 비교하면 2배는 좋아서 성능은 좋습니다. 이틀정도 설정하고 사용후 불편한점 0. 기존 DVI-I 인터페이스가 없어져서 구형 모니터의 DVI 포트를 사용하지 못합니다. DVI + VGA 조합이었는데 .. 변경후 DP + HDMI 조합이라서 애매하게 되었습니다. 1. 설치후에 ASUS Q-installer가 실행되고 설치가 끝나지 않는 현상이 있습니다. 혹시나 해서 BIOS는 현재 기준으로 최신버젼인 1004로 업데이트했습니다. 부팅때마다 저러고 있어서 , 일단 ASUS 홈페이지를 통해서 문의를 넣어놓은 상태입니다. 참고로 ASUS에 문의를 넣을때 MotherBoard 시리얼 번호가 필요합니다. cpuZ 프로그램으로 Report.txt를 출력해서 Ctrl+f로 찾아보면 Serial Number 와 문의시 필요한 CPU정보, DDR정보를 알아낼 수 있으니 cpuZ로 report.txt를 먼저 생성한후에 ASUS 문의를 시작하면 시간이 단축됩니다. Processors Information ------------------------------------------------------------------------- Socket 1 ID = 0 Number of cores 8 (max 8) Number of threads 8 (max 8) Name Intel Core i7 9700K Codename Coffee Lake Specification Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz Package...

우분투에서 성가신 자동 실행 처리

우분투운서비스는 종료된지 예전인데 script에 남아 있어서 항상 실행된다 apt-get 패키지가 제거되어도 etc/xdg/autostart 폴더에서 삭제해야 실행되지 않는다. /etc/xdg/autostart$ ls at-spi-dbus-bus.desktop              gnome-settings-daemon.desktop                print-applet.desktop bluetooth-applet-unity.desktop       gnome-sound-applet.desktop                   pulseaudio-kde.desktop bluetooth-applet.desktop             gnome-user-share.desktop                     pulseaudio.desktop deja-dup-monitor.desktop             gsettings-data-convert.desktop               telepathy-indicator.desktop gdu-notification-daemon.desktop      gwibber.desktop                             ...