2025/04/28에 해당하는 글 1

LLM 파일 형식 변환하기 (Safetensors to GGUF)

AI|2025. 4. 28. 08:47
반응형

huggingface_cli 또는 vllm 명령으로 다운로드 받은 Safetensors 형식의 LLM을 ollama 에서 사용하기 위해 GGUF 파일 형식으로 변환하는 작업입니다.

여기에서는 Gemma2:9b 모델을 예로 들었습니다.

 

 

1. HuggingFace LLM 다운로드

 

huggingface_hub 패키지를 설치하고 LLM 다운로드를 위한 파이썬 스크립트를 작성합니다.

(myenv) root@sysdocu:~# pip install huggingface_hub

(myenv) root@sysdocu:~# vi download.py

from huggingface_hub import snapshot_download

model_id= "unsloth/gemma-2-9b-it"

snapshot_download(repo_id=model_id, local_dir="downllm", local_dir_use_symlinks=False, revision="main")

 

작성한 파이썬 코드를 실행하여 LLM을 다운로드 합니다.

(myenv) root@sysdocu:~# python download.py

 

 

2. GGUF 형식 모델 생성

 

모델을 Safetensors 형식에서 GGUF 형식으로 변환하기 위한 환경을 구성합니다.

(myenv) root@sysdocu:~# git clone https://github.com/ggerganov/llama.cpp.git

(myenv) root@sysdocu:~# pip install -r llama.cpp/requirements.txt

(myenv) root@sysdocu:~# python llama.cpp/convert_hf_to_gguf.py downllm/ --outfile gemma2-9b.gguf

 

 

3. Ollama 모델 추가

 

Modelfile에 GGUL 모델을 지정하고 ollama 명령으로 모델을 생성합니다.

(myenv) root@sysdocu:~# echo "from ./gemma2-9b.gguf" > Modelfile

(myenv) root@sysdocu:~# ollama create gemma2:9b -f Modelfile

(myenv) root@sysdocu:~# ollama list

NAME               ID                     SIZE      MODIFIED
gemma2:9b2    26e0cfb6b65    18 GB    2 seconds ago

 

생성된 모델이 잘 실행됩니다.

(myenv) root@sysdocu:~# ollama run gemma2:9b "hello?"

Hello! 👋 How can I help you today? 😊

 

반응형

댓글()