토니의 연습장

gguf/safetensor 로 ollama 모델 만들기 본문

언어 AI (NLP)/LLM & RAG & Agent

gguf/safetensor 로 ollama 모델 만들기

bellmake 2025. 2. 11. 20:46

1. gguf -> ollama

  • 변환 도구 확인:
    gguf는 주로 llama.cpp 등에서 사용되는 모델 포맷입니다. 커뮤니티에서는 gguf 모델을 safetensors나 Hugging Face 형식으로 변환하기 위한 스크립트나 도구가 공유되고 있으므로, GitHub 이슈나 관련 리포지터리를 먼저 검색해보시기 바랍니다.
  • 예시 변환 (가상의 명령어):
    만약 변환 스크립트가 있다면 아래와 같이 실행할 수 있습니다.이 과정에서 모델 가중치와 토크나이저 파일이 Ollama에서 사용할 수 있는 형식(예: safetensors 파일들)으로 생성되어야 합니다.
  • python convert_gguf_to_safetensors.py --input model.gguf --output /path/to/converted-model

- YAML 구성 파일 작성

Ollama는 사용자 지정 모델을 등록할 때 YAML 파일을 사용합니다. 변환된 모델 디렉터리의 경로와 관련 정보를 포함하는 YAML 파일을 작성합니다. 예시:

yaml
 
name: my-gguf-model version: "1.0" description: "gguf 모델을 safetensors 형식으로 변환한 모델" model: type: transformers path: /absolute/path/to/converted-model tokenizer: /absolute/path/to/converted-model runtime: max_memory: "16GB" # 필요에 따라 조정
  • name: Ollama 내에서 모델을 식별할 이름
  • path와 tokenizer: 변환된 모델 파일과 토크나이저 파일이 있는 절대 경로

- Ollama CLI를 이용해 모델 등록

YAML 파일을 작성한 후, 터미널에서 다음 명령어로 모델을 빌드(등록)합니다.

ollama build my-gguf-model.yaml

이 명령어는 구성 파일에 정의된 정보를 바탕으로 Ollama가 모델을 인식할 수 있도록 등록합니다.

 

참고1 : https://teddynote.com/LocalModels/HuggingFace%20gguf%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20Ollama%20%EB%A1%9C%EB%94%A9/

참고2 : https://youtu.be/_7wnNTNQO1M

 

2. safetensor -> ollama

 

Hugging Face 리포지토리에서 여러 개의 safetensor 파일이 보인다면, 이는 보통 하나의 대형 모델을 여러 개의 샤드(shard)

로 나누어 저장한 것입니다. 즉, 각 파일이 모델 전체의 일부 가중치를 담고 있으며, 모델을 완전히 로드하려면 이들 모두가 함께 사용됩니다.

예를 들어,

  • consolidated.00.safetensors
  • consolidated.01.safetensors
  • consolidated.02.safetensors

등의 파일이 있다면, 이들은 서로 다른 "부분"일 뿐이며 각각 다른 모델이 아니라 하나의 모델을 구성하는 분할된 파라미터 파일들입니다.

리포지토리의 README나 문서에 이러한 분할 파일에 대한 설명이 있을 수 있으니, 참고하시면 보다 정확한 정보를 얻으실 수 있습니다.

참고 : https://youtu.be/DSLwboFJJK4

'언어 AI (NLP) > LLM & RAG & Agent' 카테고리의 다른 글

RAG - AI Agent 예시  (0) 2025.02.18
RAG 중복문장 제거  (0) 2025.02.15
db.add_documents() 특징  (0) 2025.02.06
RAG 단계 요약  (0) 2025.02.06
SFT 와 RLHF  (3) 2025.02.04