토니의 연습장
gguf/safetensor 로 ollama 모델 만들기 본문
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가 모델을 인식할 수 있도록 등록합니다.
참고2 : https://youtu.be/_7wnNTNQO1M
2. safetensor -> ollama
Hugging Face 리포지토리에서 여러 개의 safetensor 파일이 보인다면, 이는 보통 하나의 대형 모델을 여러 개의 샤드(shard)
로 나누어 저장한 것입니다. 즉, 각 파일이 모델 전체의 일부 가중치를 담고 있으며, 모델을 완전히 로드하려면 이들 모두가 함께 사용됩니다.
예를 들어,
- consolidated.00.safetensors
- consolidated.01.safetensors
- consolidated.02.safetensors
등의 파일이 있다면, 이들은 서로 다른 "부분"일 뿐이며 각각 다른 모델이 아니라 하나의 모델을 구성하는 분할된 파라미터 파일들입니다.
리포지토리의 README나 문서에 이러한 분할 파일에 대한 설명이 있을 수 있으니, 참고하시면 보다 정확한 정보를 얻으실 수 있습니다.
'언어 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 |