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 모델을 역양자화 없이 압축 상태로 직접 추론하는 기능을 공개했다.
1 / 2
자세히 보기
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가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.