한글 모델 다운로드 및 Ollama에 설치
한글 모델중 https://huggingface.co/teddylee777/Llama-3-Open-Ko-8B-gguf 을 다운로드 하고 설치하는 방법에 대해서 설명 드립니다.
1. gguf 파일을 제공할 경우
파일 다운로드
- 위 링크 페이지에서 'Files and versions' 탭 클릭
- 많은 종류가 나오는데 그중 Llama-3-Open-Ko-8B-FP16.gguf 우측의 다운로드 아이콘 클릭
- 다운로드한 .gguf 파일을 Ollama 모델 폴더(C:\ollama\models\koalpaca-local\ 등)에 복사하고, Modelfile에서 FROM에 파일명을 정확히 기입하세요.
Model Build
- Modelfile
FROM Llama-3-Open-Ko-8B-FP16.gguf
TEMPLATE """{{- if .System }}
<s>{{ .System }}</s>
{{- end }}
<s>Human:
{{ .Prompt }}</s>
<s>Assistant:
"""
SYSTEM """A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions."""
PARAMETER temperature 0
PARAMETER num_predict 3000
PARAMETER num_ctx 4096
PARAMETER stop <s>
PARAMETER stop </s>
- ollama create koalpaca-local -f ./Modelfile
실행 테스트
ollama run koalpaca-local
nodeJs에서 model 변경
model: 'koalpaca-local'
2. gguf 파일을 제공하지 않을 경우
gguf 파일을 제공하지 않을 경우는 직접 gguf 파일을 컴파일 하여 만들어야 한다.
아래는 pycharm에서 KoAlpaca-Polyglot-12.8B 를 이용하여 gguf 파일을 만드는 방법에 대해서 설명드립니다.
pycharm 환경 설정
- new project
- python 3.1이상
- pip install torch transformers sentencepiece protobuf numpy hf_xet huggingface_hub
소스 파일 다운로드
# huggingface-cli login // 대화형 로그인
huggingface-cli login --token YOUR_TOKEN_HERE // 토큰을 이용한 직접 로그인
huggingface-cli download beomi/KoAlpaca-Polyglot-12.8B --local-dir ./models/KoAlpaca-Polyglot-12.8
GGUF 변환
git lfs install
git clone https://github.com/ggerganov/llama.cpp
cd ./llama.cpp
python convert-gptneox-hf-to-gguf.py ../models/KoAlpaca-Polyglot-12.8
// 만약 convert-gptneox-hf-to-gguf.py 파일이 없을 경우 https://raw.githubusercontent.com/WisdomShell/llama_cpp_for_codeshell/master/convert-gptneox-hf-to-gguf.py 에서 파일을 받아서 처리
//
gguf(ggml-model-f16.gguf) 파일이 생성되었으면 "1. gguf 파일을 제공할 경우"를 참조하여 처리하면 됩니다.
cd ../models/KoAlpaca-Polyglot-12.8
Model Build
- Modelfile
FROM ggml-model-f16.gguf
# 모델 템플릿 설정
TEMPLATE """{{ if .System }}<|system|>
{{ .System }}</s>
{{ end }}{{ if .Prompt }}<|user|>
{{ .Prompt }}</s>
<|assistant|>
{{ end }}{{ .Response }}"""
# 시스템 프롬프트 설정
SYSTEM """당신은 KoAlpaca입니다. 한국어로 자연스럽고 도움이 되는 대화를 나누는 AI 어시스턴트입니다. 정확하고 상세한 답변을 제공하며, 사용자의 질문에 친근하게 응답합니다."""
# 모델 매개변수 설정
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER top_k 40
PARAMETER repeat_penalty 1.1
PARAMETER repeat_last_n 64
PARAMETER num_ctx 2048
PARAMETER num_predict 512
PARAMETER stop "<|system|>"
PARAMETER stop "<|user|>"
PARAMETER stop "<|assistant|>"
PARAMETER stop "</s>"
- ollama create koalpaca-local -f ./Modelfile
실행 테스트
ollama run koalpaca-local