Hugging Face, Transformers에 GGUF 네이티브 실행 기능 추가
Hugging Face Transformers, 이제 GGUF 가중치도 지원하여 바로 불러와 실행 가능 (feat. llama.cpp, ggml)
·2026.09.29 11:30
핵심 내용
Hugging Face Transformers가 Apple Silicon Mac에서 llama.cpp ggml Metal 커널을 활용해 GGUF 모델을 역양자화 없이 압축 상태로 직접 추론하는 기능을 공개했다.
자세히 보기
Hugging Face가 Transformers 라이브러리에 GGUF 가중치를 역양자화 없이 압축된 상태로 로드하여 실행하는 기능을 공개했습니다. 기존에는 GGUF 파일을 불러올 때 PyTorch dense 모델로 변환하는 과정에서 메모리 절감 효과가 사라졌으나, 이번 업데이트로 llama.cpp의 ggml Metal 커널을 재사용하여 GPU 메모리를 효율적으로 관리합니다.
주요 특징 및 지원 범위
- 첫 지원 대상: Apple Silicon Mac(MPS 백엔드) 및 Qwen3.5 계열(밀집/MoE)과 호환되는 Qwen3.8 아키텍처
- 작동 방식: 가중치를 packed 상태 그대로 GPU에 로드하며,
AutoModelForCausalLM.from_pretrained시gguf_file인자를 통해 호출 - 커널 활용:
ggml-quantization,ggml-norm,ggml-attn,ggml-gated-delta-net,topk등 5가지 Metal 커널을 사용하여 연산 가속 - 호환성: 호환 커널이 없을 경우 기존 역양자화 방식으로 폴백하며, Llama, Mistral 등 다른 아키텍처는 아직 역양자화 로더를 사용
성능 벤치마크
MacBook Pro M2 Max(32GB) 환경에서 llama.cpp와 비교한 결과, Python/PyTorch 기반임에도 C++ 런타임에 근접한 성능을 입증했습니다.
- Qwen3.5-4B (Q4_K_M): Transformers 70.4 tok/s vs llama.cpp 71.8 tok/s (약 98% 수준)
- Qwen3.8-27B: Transformers 15.9 tok/s vs llama.cpp 13.4 tok/s (Transformers 우위)
- Qwen3.5-35B-A3B (MoE): Transformers 60.2 tok/s vs llama.cpp 61.3 tok/s (약 98% 수준)
레이어 커널 적용 시 성능 향상 폭이 두드러집니다. Qwen3.5-35B-A3B 모델은 ggml-quantization 커널만 사용했을 때 28.8 tok/s에서 전체 커널 적용 시 **60.2 tok/s(2.09배)**로 증가했습니다.
활용 및 한계
- 활용처: Python/PyTorch 환경에서의 GGUF 모델 실험, 커스텀 레이어 프로토타이핑, 원본 vs 양자화 모델 품질 평가, 파인튜닝(
dequantize=True옵션 사용) - 한계: 현재 Apple Silicon(MPS) 전용이며 CUDA/CPU는 역양자화 경로를 사용합니다. 패딩이 있는 배치 처리는 성능 개선이 필요하며, Hugging Face 팀은 이를 MPS의
generate_batch로 확장할 계획입니다. 현재는 Qwen3.5/3.8 계열만 지원합니다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.