GGUF 파일
IT 위키
GGUF 파일(Generic GPT Unified Format File)은 대형 언어 모델(LLM)의 텐서와 메타데이터를 통합 저장하는 바이너리 포맷으로, llama.cpp 기반 로컬 추론 환경에서 사용된다. 이 형식은 이전 GGML 포맷의 한계를 보완하여 다양한 양자화 형식과 모델 정보를 포함할 수 있도록 설계되었다.
개요[편집 | 원본 편집]
GGUF 파일은 General Graphical Model Library(GGML) 기반의 추론 시스템을 위해 만들어진 통합 모델 저장 포맷이다. 단일 파일 내에 모델 가중치(텐서)와 아키텍처, 토크나이저 정보, 정밀도, 최대 컨텍스트 길이 등의 메타데이터를 함께 저장한다. 2023년부터 llama.cpp 커뮤니티에 의해 채택되었으며, 다양한 로컬 추론 프레임워크에서 사용된다.
구조[편집 | 원본 편집]
GGUF 파일은 다음과 같은 구성 요소를 포함한다:
- 모델 텐서(weight) 정보
- 메타데이터: 모델 아키텍처, 양자화 형식, 토크나이저 사양 등
- 정밀도 정보: float32, float16, int8, int4 등 다양한 양자화 지원
- 키-값 형식의 설명 필드
특징[편집 | 원본 편집]
- 단일 파일 구조: 모델 정보와 가중치를 통합 저장하여 로딩 속도 향상
- 다양한 양자화 지원: 저정밀 양자화를 통해 모델 경량화 가능
- 확장된 메타데이터: 모델 구조, 학습 파라미터, tokenizer 정보 등 포함
- 하위 호환성: 기존 GGML 기반 모델에서 점진적으로 GGUF로 이전 가능
장점[편집 | 원본 편집]
- 빠른 추론: 메모리 맵핑 및 로딩 최적화
- 파일 관리 용이: 모든 정보가 하나의 파일에 포함됨
- 다양한 플랫폼 지원: CPU, GPU, Apple Silicon 등
- 양자화 적용 용이: int8, int4 등 리소스 절약을 위한 설정 가능
단점[편집 | 원본 편집]
- 호환 도구 제한: llama.cpp, Ollama 등 일부 도구에서만 지원
- 취약점 가능성: 과거 메모리 파싱 오류 발생 사례 존재
- 표준 미흡: 타 프레임워크와의 직접 호환성은 제한적
활용 예[편집 | 원본 편집]
- llama.cpp, llama-rs 등에서 로컬 GPT 모델을 실행할 때 GGUF 포맷 사용
- Hugging Face Hub에서 GGUF 파일 다운로드 후 터미널 기반 추론
- Mistral, LLaMA, Phi-2 등 다양한 모델이 GGUF 포맷으로 공개됨
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Georgi Gerganov. (2023). llama.cpp 프로젝트 문서
- GGUF GitHub 저장소 문서
- Ollie, P. (2024). Quantized LLM inference on edge devices.